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.


Method Call Parallel Application Parallel Task Target Platform Method Invocation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


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