Designing Scalable Object Oriented Parallel Applications

  • João Luís Sobral
  • Alberto José Proença
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2400)


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 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. 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. 4.
    Taura, K., Yonezawa, A.: Fine-Grained Multithreading with Minimal Compiler Support, Proc. ACM SIGPLAN CPLDI’97, Las Vegas, July (1997)Google Scholar
  5. 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. 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. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • João Luís Sobral
    • 1
  • Alberto José Proença
    • 1
  1. 1.Departamento de InformáticaUniversidade do MinhoBragaPortugal

Personalised recommendations