| In this work, we studied a parallel computing environment, known as Nezha. Through Nezha, we made three contributions to solving the performance and usability problems in cluster computing. First, we proposed and experimented on a general model, known as the Nezha parallel computing model (the Nezha model for short); for a light-weight transparent run-time environment. Internal processing in the Nezha model used an enhanced parallel virtual machine that has home-based shared memory and decentralized dynamic load-balancing. Second, we improved and designed algorithms in solving some problems such as scalability, “hot spot,” and “herd” effect that exist in policy making and workload monitoring in decentralized dynamic load-balancing. Algorithm design considered asynchronous workload monitoring and three kinds of task placements, namely parallel task placement, concurrent task placement, and sequential task placement. Third, to support the Nezha parallel computing environment, we designed and implemented a new high-performance communication sub-system on Virtual Interface Architecture.; We proved the design of our algorithms by analyzing their mathematical models. We used simulations and experiments to evaluate the performance of our algorithms and the communication sub-system. We built a prototyping environment to verify the applicability of the Nezha model. Initial results from simulations and experiments not only confirmed our hypotheses but also provided further information on the use of our algorithms in scalable and highly available clusters. We regard the Nezha model as simple, efficient, scalable, and reliable. |