Designing Scalable Object Oriented Parallel Applications
The SCOOPP (Scalable Object Oriented Parallel Programming) system efficiently adapts, at run-time, an object oriented parallel application to any distributed memory system. It extracts as much parallelism as possible at compile time, and it removes excess of parallel tasks and messages through run-time packing. These object and call aggregation techniques are briefly presented. A design methodology was developed for three main types of scalable applications: pipeline, divide & conquer and farming. This paper reviews how the method can help programmers to design portable and efficient parallel applications. It details its application to a farming case study (image threshold) with measured performance data, and compares with programmer’s tuned versions in a Pentium cluster.
KeywordsMethod Call Parallel Application Parallel Task Target Platform Method Invocation
Unable to display preview. Download preview PDF.
- 1.Mohr, E., Kranz, A., Halstead, R.: Lazy Task Creation: A Technique for Increasing the Granularity of Parallel Programs, IEEE Trans. on Par.& Dist. Proc., Vol. 2(3), July (1991)Google Scholar
- 2.Goldstien, S., Schauser, K., Culler, D: Lazy Threads: Implementing a Fast Parallel Call, Journal of Parallel and Distributed Computing, Vol. 37(1), August (1996)Google Scholar
- 3.Karamcheti, V., Plevyak, J., Chien, A.: Runtime Mechanisms for Efficient Dynamic Multithreading, Journal of Parallel and Distributed Computing, Vol. 37(1), August (1996)Google Scholar
- 4.Taura, K., Yonezawa, A.: Fine-Grained Multithreading with Minimal Compiler Support, Proc. ACM SIGPLAN CPLDI’97, Las Vegas, July (1997)Google Scholar
- 5.Sobral, J., Proença, A.: Dynamic Grain-Size Adaptation on Object-Oriented Parallel Programming-The SCOOPP Approach, Proc. 2nd IPPS/SPDP, Puerto Rico, April (1999)Google Scholar
- 6.Sobral, J., Proença, A.: A SCOOPP Evaluation on Packing Parallel Objects in Run-time, VecPar’2000, Porto, Portugal, June (2000)Google Scholar
- 7.Sobral, J., Proença, A.: ParC++: A Simple Extension of C++ to Parallel Systems, Proc. of the 6th Euromicro Work. on Par. & Dist. App. (PDP’98), Madrid, Spain, January (1998)Google Scholar
- 8.Sobral, J., Proença, A.: A Run-time System for Dynamic Grain Packing, Proceedings of the 5th Int. EuroPar Conference (Euro-Par’99), Toulouse, France, September (1999)Google Scholar
- 9.Santos, L., Proença, A.: A Bayesian RunTime Load Manager on a Shared Cluster, Scheduling and Load Balancing on Clusters (SLAB’2001), special session in IEEE Int. Symp. on Cluster Computing and the Grid (CCGrid’2001), Brisbane, Australia, May, 2001Google Scholar