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.
- Adriaans, P. and Jacobs, C. 2006. Using MDL for grammar induction. In 8th International Colloquium on Grammatical Inference (ICGI'06). Google Scholar
Digital Library
- 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.Google Scholar
- Badia, R. M., Labarta, J., Sirvent, R., Perez, J. M., Cela, J. M., and Grima, R. 2003. Programming grid applications with GRID superscalar. J. Grid Comput. 1, 2.Google Scholar
Cross Ref
- Baduel, L., Baude, F., Caromel, D., Contes, A., Huet, F., Morel, M., and Quilici, R. 2006. Grid Computing: Software Environments and Tools. Springer.Google Scholar
- Bal, H. E., Bhoedjang, R., Hofman, R., Jacobs, C., Langendoen, K., Ruehl, T., and Kaashoek, M. F. 1998. Performance evaluation of the Orca shared object system. ACM Trans. Comput. Syst. 16, 1, 1--40. Google Scholar
Digital Library
- Baldeschwieler, E. J., Blumofe, R., and Brewer, E. 1996. ATLAS: An infrastructure for global computing. In Proceedings of the 7th ACM SIGOPS European Workshop on System Support for Worldwide Applications. 165--172. Google Scholar
Digital Library
- Birrel, A. D. and Nielson, B. J. 1984. Implementing remote procedure calls. ACM Trans. Comput. Syst. 2, 1, 39--59. Google Scholar
Digital Library
- Blackston, D. and Suel, T. 1997. Highly portable and efficient implementations of parallel adaptive N-body methods. In Proceedings of the ACM/IEEE Conference on Supercomputing (SC'97). http://www.supercomp.org. Google Scholar
Digital Library
- Blumofe, R. D., Joerg, C. F., Kuszmaul, B. C., Leiserson, C. E., Randall, K. H., and Zhou., Y. 1995. Cilk: An efficient multithreaded runtime system. In Proceedings of the 5th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP'95). 207--216. Google Scholar
Digital Library
- Blumofe, R. D. and Leiserson, C. E. 1994. Scheduling multithreaded computations by work stealing. In Proceedings of the 35th Annual Symposium on Foundations of Computer Science (FOCS'94). 356--368. Google Scholar
Digital Library
- Blumofe, R. D. and Lisiecki, P. 1997. Adaptive and reliable parallel computing on networks of workstations. In Proceedings of the USENIX Annual Technical Conference on UNIX and Advanced Computing Systems. 133--147. Google Scholar
Digital Library
- Bornemann, M., Nieuwpoort, R. V. v., and Kielmann, T. 2005. MPJ/Ibis: A flexible and efficient message passing platform for java. In Proceedings of EuroPVM/MPI. Lecture Notes in Computer Science, vol. 3666. Springer, 217--224. Google Scholar
Digital Library
- Butenhof, D. 1997. Programming with POSIX Threads. Professional Computing. Addison-Wesley. Google Scholar
Digital Library
- Cappello, F. and Bal, H. 2007. Towards an international computer science grid (keynote paper). In Proceedings of the 7th IEEE International Symposium on Cluster Computing and the Grid (CCGRID'07). 230--237. Google Scholar
Digital Library
- Carpenter, B., Getov, V., Judd, G., Skjellum, A., and Fox, G. 2000. MPJ: MPI-Like message passing for Java. Concurr. Pract. Exper. 12, 11, 1019--1038.Google Scholar
Cross Ref
- Chiu, D.-M., Kadansky, M., Provino, J., and Wesley, J. 2000. Experiences in programming a traffic shaper. In Proceedings of the 5th IEEE Symposium on Computers and Communications (ISCC'00). 470--476. Google Scholar
Digital Library
- Danaher, J. S., Lee, I.-T. A., and Leiserson, C. E. 2005. The JCilk language for multithreaded computing. In Proceedings of the Synchronization and Concurrency in Object-Oriented Languages (SCOOL).Google Scholar
- de Carvalho Jr., S. A. and Crochemore, M. The neobio library. http://neobio.sourceforge.net.Google Scholar
- Eager, D. L., Zahorjan, J., and Lazowska, E. D. 1989. Speedup versus efficiency in parallel systems. IEEE Trans. Comput. 38, 3, 408--423. Google Scholar
Digital Library
- Eickermann, T., Grund, H., and Henrichs, J. 1999. Performance issues of distributed MPI applicatins in a German gigabit testbed. In Proceedings of the 6th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface. Lecture Notes in Computer Science, vol. 1697. Springer, 3--10. Google Scholar
Digital Library
- Foster, I. 2006. Globus toolkit version 4: Software for service-oriented systems. In Proceedings of the IFIP International Conference on Network and Parallel Computing. Lecture Notes in Computer Science, vol. 3779. Springer, 2--13. Google Scholar
Digital Library
- Foster, I. and Kesselman, C., Eds. 2003. The Grid 2: Blueprint for a New Computing Infrastructure, 2nd ed. The Morgan Kaufmann Series in Computer Architecture and Design. Morgan Kaufmann. Google Scholar
Digital Library
- Freisleben, B. and Kielmann, T. 1995. Automated transformation of sequential divide--and--conquer algorithms into parallel programs. Comput. Artif. Int. 14, 6, 579--596.Google Scholar
- Frigo, M., Leiserson, C. E., and Randall, K. H. 1998. The implementation of the Cilk-5 multithreaded language. In Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation (PLDI'98). 212--223. Google Scholar
Digital Library
- Gabriel, E., Resch, M., Beisel, T., and Keller, R. 1998. Distributed computing in a heterogeneous computing environment. In Proceedings of the 5th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface. Lecture Notes in Computer Science, vol. 1497, Springer, 180--187. Google Scholar
Digital Library
- Goux, J.-P., Kulkarni, S., Yoder, M., and Linderoth, J. 2000. An enabling framework for master-worker applications on the computational grid. In Proceedings of the 9th IEEE International Symposium on High Performance Distributed Computing (HPDC'00). 43--50. Google Scholar
Digital Library
- Graham, R., Shipman, G., Barrett, B., Castain, R., Bosilca, G., and Lumsdaine, A. 2006. Open MPI: A high-performance, heterogeneous MPI. In Proceedings of the IEEE International Conference on Cluster Computing.Google Scholar
- Gropp, W., Lusk, E., Doss, N., and Skjellum, A. 1996. A high-performance, portable implementation of the MPI message passing interface. Parall. Comput. 22, 6, 789--828. Google Scholar
Digital Library
- Huang, C., Zheng, G., Kumar, S., and Kale, L. V. 2006. Performance evaluation of adaptive MPI. In Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP'06). Google Scholar
Digital Library
- Iwata, S. and Kasai, T. 1994. The Othello game on an n*n board is PSPACE-complete. Theor. Comp. Sci. 123, 123, 329--340. Google Scholar
Digital Library
- Kale, L. V., Kumar, S., and DeSouza, J. 2002. A malleable-job system for timeshared parallel machines. In Proceedings of the 2nd IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGRID'02). 230--237. Google Scholar
Digital Library
- Karonis, N. T., Toonen, B., and Foster, I. 2003. MPICH-G2: A grid-enabled implementation of the message passing interface. J. Parall. Distrib. Comput. 63, 5, 551--563. Google Scholar
Digital Library
- Kielmann, T., Hofman, R. F. H., Bal, H. E., Plaat, A., and Bhoedjang, R. A. F. 1999. MagPIe: MPI's collective communication operations for clustered wide area systems. In Proceedings of the 7th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP'99). 131--140. Google Scholar
Digital Library
- Kishimoto, A. and Schaeffer, J. 2002. Transposition table driven work scheduling in distributed game-tree search. In Proceedings of the 15th Canadian Conference on Artificial Intelligence (AI'02). Lecture Notes in Artificial Intelligence, vol. 2338. Springer, 56--68. Google Scholar
Digital Library
- Kitsuregawa, M. 2007. The info-plosion project. In Proceedings of the IFIP International Conference on Network and Parallel Computing Workshops (NPC'07). IEEE Computer Society, 3--6. Google Scholar
Digital Library
- Lang, K. J., Pearlmutter, B. A., and Price, R. A. 1998. Results of the Abbadingo one DFA learning competition and a new evidence-driven state merging algorithm. V. Honavar and G. Slutzki, Eds. Lecture Notes in Artificial Intelligence, vol. 1433. Springer, 1--12. Google Scholar
Digital Library
- Lea, D. 2000. A Java Fork/Join Framework. In Proceedings of the ACM Java Grande Conference. 36--43. Google Scholar
Digital Library
- Lee, H.-K., Carpenter, B., Fox, G., and Lim, S. B. 2004. HPJava: Programming support for high-performance grid-enabled applications. Int. J. Parall. Algor. Appl. 19, 2-3, 175--193.Google Scholar
- Lindholm, T. and Yellin, F. 1999. Java(TM) Virtual Machine Specification, 2nd ed. Prentice Hall PTR. Google Scholar
Digital Library
- Maassen, J. and Bal, H. E. 2007. Smartsockets: Solving the connectivity problems in grid computing. In Proceedings of the 16th International Symposium on High-Performance Distributed Computing (HPDC'07). 1--10. Google Scholar
Digital Library
- Maassen, J., Nieuwpoort, R. V. v., Veldema, R., Bal, H., Kielmann, T., Jacobs, C., and Hofman, R. 2001. Efficient Java RMI for parallel programming. ACM Trans. Program. Lang. Syst. 23, 6, 747--775. Google Scholar
Digital Library
- Maassen, J., Seinstra, F., Kemp, R., Drost, N., and Nieuwpoort, R. V. v. 2008. Going nova. The First International Data Challenge for Finding SuperNovae, held in conjunction with IEEE Cluster2008. First prize winner.Google Scholar
- Marlow, S., Jones, S. L. P., Moran, A., and Reppy, J. H. 2001. Asynchronous exceptions in Haskell. In Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation (PLDI). 274--285. Google Scholar
Digital Library
- Mohr, E., Kranz, D., and Halstead, R. 1990. Lazy task creation: A technique for increasing the granularity of parallel programs. In Proceedings of the ACM Conference on Lisp and Functional Programming. 185--197. Google Scholar
Digital Library
- MPIF, M. P. I. F. 1996. MPI-2: Extensions to the message-passing interface. Tech. rep. University of Tennessee, Knoxville.Google Scholar
- Neary, M. O. and Cappello, P. 2002. Advanced eager scheduling for Java-based adaptively parallel computing. In Proceedings of the Joint ACM Java Grande - ISCOPE (International Symposium on Computing in Object-Oriented Parallel Environments) Conference. 56--65. Google Scholar
Digital Library
- Nieuwpoort, R. V. v. 2003. Efficient Java-centric grid-computing. Ph.D. thesis, Vrije Universiteit Amsterdam. http://www.cs.vu.nl/~rob/.Google Scholar
- Nieuwpoort, R. V. v., Kielmann, T., and Bal, H. E. 2001. Efficient load balancing for wide-area divide-and-conquer applications. In Proceedings of the 8th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP'01). 34--43. Google Scholar
Digital Library
- Nieuwpoort, R. V. v., Kielmann, T., and Bal, H. E. 2007. User-Friendly and reliable grid computing based on imperfect middleware. In Proceedings of the ACM/IEEE Conference on Supercomputing (SC'07). Google Scholar
Digital Library
- Nieuwpoort, R. V. v., Maassen, J., Agapi, A., Oprescu, A.-M., and Kielmann, T. 2006. Experiences deploying parallel applications on a large-scale grid. In Proceedings of EXPGRID - Experimental Grid Testbeds for the Assessment of Large-Scale Distributed Applications and Tools, Workshop in Conjunction with the 15th International Symposium on High Performance Distributed Computing (HPDC-15).Google Scholar
- Nieuwpoort, R. V. v., Maassen, J., Bal, H. E., Kielmann, T., and Veldema, R. 2000. Wide-Area parallel programming using the remote method invocation model. Concurr. Pract. Exper. 12, 8, 643--666.Google Scholar
Cross Ref
- Nieuwpoort, R. V. v., Maassen, J., Kielmann, T., and Bal, H. E. 2005-A. Satin: Simple and efficient Java-based grid programming. Scalable Comput. Pract. Exper. 6, 3 19--32.Google Scholar
- Nieuwpoort, R. V. v., Maassen, J., Wrzesińska, G., Hofman, R., Jacobs, C., Kielmann, T., and Bal, H. E. 2005-B. Ibis: A flexible and efficient Java-based grid programming environment. Concurr. Comput. Pract. Exper. 17, 7-8, 1079--1107. Google Scholar
Digital Library
- Peng, L., Wong, W., Feng, M., and Yuen, C. 2000. SilkRoad: A multithreaded runtime system with software distributed shared memory for SMP clusters. In Proceedings of the IEEE International Conference on Cluster Computing (Cluster'00). 243--249.Google Scholar
Cross Ref
- Plaat, A., Bal, H. E., and Hofman, R. F. 1999. Sensitivity of parallel applications to large differences in bandwidth and latency in two-layer interconnects. In Proceedings of High Performance Computer Architecture (HPCA-5). 244--253. Google Scholar
Digital Library
- Plaat, A., Schaeffer, J., Pijls, W., and de Bruin, A. 1996. Best-First fixed-depth minimax algorithms. Artif. Intell. 87, 1-2, 255--293. Google Scholar
Digital Library
- Robinson, J., Russ, S., Heckel, B., and Flachs, B. 1996. A task migration implementation of the message-passing interface. In Proceedings of the 5th IEEE International Symposium on High Performance Distributed Computing (HPDC'96). IEEE Computer Society, 61--68. Google Scholar
Digital Library
- Romein, J. W., Bal, H. E., Schaeffer, J., and Plaat, A. 2002. A performance analysis of transposition-table-driven work scheduling in distributed search. IEEE Trans. Parall. Distrib. Syst. 13, 5, 447--459. Google Scholar
Digital Library
- Seinstra, F., Drost, N., Kemp, R., Maassen, J., Nieuwpoort, R. V. v., Verstoep, K., and Bal, H. 2008. Scalable wall-socket multimedia grid computing. 1st IEEE International Scalable Computing Challenge (SCALE'08), held in conjunction with the 8th IEEE International Symposium on Cluster Computing and the Grid (CCGrid'08). First prize winner.Google Scholar
- Seymour, K., Nakada, H., Matsuoka, S., Dongarra, J., Lee, C., and Casanova, H. 2002. Overview of GridRPC: A remote procedure call API for grid computing. In Proceedings of the International Workshop on Grid Computing (GRID02). Lecture Notes in Computer Science, vol. 2536. Springer, 274--278. Google Scholar
Digital Library
- Slate, D. and Atkin, L. 1977. Chess 4.5 --The Northwestern Univeristy chess program. Chess Skill Man Mach. 82--118.Google Scholar
- Smith, T. and Watherman, M. 1981. Identification of common molecular subsequences. J. Molec. Biol. 147, 195--197.Google Scholar
Cross Ref
- Sun Microsystems. 2008. Java Remote Method Invocation Specification. http://java.sun.com/javase/technologies/core/basic/rmi.Google Scholar
- Tanaka, Y., Nakada, H., Sekiguchi, S., Suzumura, T., and Matsuoka, S. 2003. Ninf-G: A reference implementation of RPC-based programming middleware for grid computing. J. Grid Comput. 1, 1, 41--51.Google Scholar
Cross Ref
- Taura, K., Endo, T., Kaneda, K., and Yonezawa, A. 2003. Phoenix: A parallel programming model for accommodating dynamically joining/leaving resources. In Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP'03). 216--229. Google Scholar
Digital Library
- Vadhiyar, S. S. and Dongarra, J. J. 2005. Self adaptivity in grid computing. Concurr. Comput. Pract. Exper. 17, 2--4, 235--257. Google Scholar
Digital Library
- Verstoep, K., Maassen, J., Bal, H. E., and Romein, J. W. 2008. Experiences with fine-grained distributed supercomputing on a 10g testbed. In Proceedings of the 8th IEEE International Symposium on Cluster Computing and the Grid (CCGRID). 376--383. Google Scholar
Digital Library
- Waldo, J. 1998. Remote procedure calls and java remote method invocation. IEEE Concurr. 6, 3, 5--7. Google Scholar
Digital Library
- Wollrath, A., Waldo, J., and Riggs, R. 1997. Java-Centric distributed computing. IEEE Micro 17, 3, 44--53. Google Scholar
Digital Library
- Wolski, R., Spring, N., and Hayes, J. 1999. The network weather service: A distributed resource performance forecasting service for metacomputing. J. Future Gener. Comput. Syst. 15, 5--6, 757--768. Google Scholar
Digital Library
- Wrzesińska, G., Maassen, J., and Bal, H. E. 2007-A. Self-Adaptive applications on the grid. In Proceedings of ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP'07). Google Scholar
Digital Library
- Wrzesińska, G., Maassen, J., Verstoep, K., and Bal, H. E. 2007-B. Satin++: Divide-and-share on the grid. In Proceedings of the 2nd IEEE International Conference on e-Science and Grid Computing. Google Scholar
Digital Library
- Wrzesińska, G., Nieuwpoort, R. V. v., Maassen, J., and Bal, H. E. 2005. Fault-Tolerance, malleability and migration for divide-and-conquer applications on the grid. In Proceedings of the 19th International Parallel and Distributed Processing Symposium (IPDPS). Google Scholar
Digital Library
- Wrzesińska, G., Oprescu, A.-M., Kielmann, T., and Bal, H. 2007-C. Persistent fault-tolerance for divide-and-conquer applications on the grid. In Proceedings of the CoreGRID Symposium. 230--237.Google Scholar
Index Terms
Satin: A high-level and efficient grid programming model
Recommendations
MGC middleware for grid computing: the Globus Toolkit
ACAI '11: Proceedings of the International Conference on Advances in Computing and Artificial IntelligenceGrid computing has made substantial advances during the last decade. A major concern in Grid environments is dealing with the high degree of heterogeneity of resources that can range from laptops and PCs to supercomputers. The unified virtual view of ...
The Grid Resource Broker workflow engine
2nd International Workshop on Workflow Management and Applications in Grid Environments (WaGe2007)Increasingly, complex scientific applications are structured in terms of workflows. These applications are usually computationally and-or data intensive and thus are well suited for execution in grid environments. Distributed, geographically spread ...
Fault-Tolerant Scheduling of Fine-Grained Tasks in Grid Environments
Divide-and-conquer is a well-suited programming paradigm for parallel Grid applications. Our Satin system efficiently schedules the fine-grained tasks of a divide-andconquer application across multiple clusters in a grid. To accommodate long-running ...






Comments