Affiliation:
1. Vrije Universiteit Amsterdam, The Netherlands
Abstract
Computational grids have an enormous potential to provide compute power. However, this power remains largely unexploited today for most applications, except trivially parallel programs. Developing parallel grid applications simply is too difficult. Grids introduce several problems not encountered before, mainly due to the highly heterogeneous and dynamic computing and networking environment. Furthermore, failures occur frequently, and resources may be claimed by higher-priority jobs at any time.
In this article, we solve these problems for an important class of applications: divide-and-conquer. We introduce a system called Satin that simplifies the development of parallel grid applications by providing a rich high-level programming model that completely hides communication. All grid issues are transparently handled in the runtime system, not by the programmer. Satin's programming model is based on Java, features spawn-sync primitives and shared objects, and uses asynchronous exceptions and an abort mechanism to support speculative parallelism.
To allow an efficient implementation, Satin consistently exploits the idea that grids are hierarchically structured. Dynamic load-balancing is done with a novel cluster-aware scheduling algorithm that hides the long wide-area latencies by overlapping them with useful local work. Satin's shared object model lets the application define the consistency model it needs. If an application needs only loose consistency, it does not have to pay high performance penalties for wide-area communication and synchronization.
We demonstrate how grid problems such as resource changes and failures can be handled transparently and efficiently. Finally, we show that adaptivity is important in grids. Satin can increase performance considerably by adding and removing compute resources automatically, based on the application's requirements and the utilization of the machines and networks in the grid.
Using an extensive evaluation on real grids with up to 960 cores, we demonstrate that it is possible to provide a simple high-level programming model for divide-and-conquer applications, while achieving excellent performance on grids. At the same time, we show that the divide-and-conquer model scales better on large systems than the master-worker approach, since it has no single central bottleneck.
Publisher
Association for Computing Machinery (ACM)
Reference74 articles.
1. Using MDL for Grammar Induction
2. Arnold D. Agrawal S. Blackford S. Dongarra J. Miller M. Seymour K. Sagi K. Shi Z. and Vadhiyar S. 2002. Users' guide to NetSolve V1.4.1. Tech. rep. ICL-UL-02-05 University of Tennessee Knoxville TN. Arnold D. Agrawal S. Blackford S. Dongarra J. Miller M. Seymour K. Sagi K. Shi Z. and Vadhiyar S. 2002. Users' guide to NetSolve V1.4.1. Tech. rep. ICL-UL-02-05 University of Tennessee Knoxville TN.
3. Programming Grid Applications with GRID Superscalar
4. Performance evaluation of the Orca shared-object system
Cited by
34 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献