A major challenge for parallel computation is to use real hardware with real software to solve real application problems. This research will extend a runtime support system, chare kernel, to run real computation problems on real parallel machines. Experience has shown the feasibility and advantages of a runtime support system. Such a system can provide a machine-independent programming environment for parallel computations. More important, it has the function of dynamic scheduling and communication management, as well as abstraction of interaction between parallel actions, realizing a powerful virtual machine. The project will investigate how much benefit can be obtained by using the chare kernel system, especially for applications with irregular and unpredictable features. It will implement a number of substantial applications on the chare kernel for comparison with implementation without runtime support. It will study the compilation technique to translate high-level languages into the chare kernel language, and compare this approach to implementation of compiler directly on parallel machines. It will also investigate an automatic program partitioning scheme to further relax the burden of users or compilers. The goal of this research is to make parallel programming powerful (able to handle most application problems), and able to utilize the parallel system resources effectively.