Runtime Address Space Computation for SDSM Systems

  • Jairo Balart
  • Marc Gonzàlez
  • Xavier Martorell
  • Eduard Ayguadé
  • Jesús Labarta
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4382)

Abstract

This paper explores the benefits and limitations of using a inspector/executor approach for Software Distributed Shared Memory (SDSM) systems. The role of the inspector is to obtain a description of the address space accessed during the execution of parallel loops. The information collected by the inspector will enable the runtime to optimize the movement of shared data that will happen during the executor phase. This paper addresses the main issues that have been considered to embed an inspector/executor model in a SDSM system: amount of data collected by the inspector, the accurateness of this data when the loop has data and/or control dependences, and the computational overhead introduced. The paper also includes a description of the SDSM system where the inspector/executor model has been embedded. The proposal is evaluated with four applications from the NAS benchmark suite. The evaluation shows that the accuracy of the inspection and the small overheads introduced by the approach allow its use in a SDSM system.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    OpenMP Application Program Interface, Version 2.5 (May 2005), http://www.openmp.org
  2. 2.
    El-Ghazawi, T., Cantonet, F.: UPC Performance and Potential: a NPB experimental Study. In: Proceedings of the 2002 ACM/IEEE International Conference on Supercomputing (ICS), IEEE Computer Society Press, Los Alamitos (2002)Google Scholar
  3. 3.
    El-Ghazawi, T., Carlson, W., Drapper, J.: UPC Language Specifications V1.1.1 (Oct. 2003)Google Scholar
  4. 4.
    Chen, W.Y., Iancu, C., Yelick, K.: Communication Optimizations for Fine-grained UPC Applications. In: Proceedings of the 14th International Conference on Parallel Architectures and Compilation Techniques (PACT2005) (2005)Google Scholar
  5. 5.
    Lu, H., et al.: Compiler and Software Distributed Shared Memory Support for Irregular Applications. In: Proceedings of the Sixth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), ACM Press, New York (1997)Google Scholar
  6. 6.
    Costa, J.J, et al.: Running OpenMP applications efficiently on an everything-shared SDSM. In: Proceedings of the 18th International Parallel and Distributed Processing Symposium (IPDPS), Santa Fe, New Mexico, USA (2004)Google Scholar
  7. 7.
    Basumallik, A., Eigemann, R.: Towards Automatic Translation of OpenMP to MPI. In: Proceedings of the 19th Annual International Conference on Supercomputing (ICS), Cambridge, Massachusetts, USA (2005)Google Scholar
  8. 8.
    Hu, Y.C., et al.: OpenMP for Networks of SMPs. Journal of Parallel and Distributed Computing 60(12), 1512–1530 (2000)MATHCrossRefGoogle Scholar
  9. 9.
    Sato, M., et al.: Design of OpenMP Compiler for SMP Cluster. In: Proceedings of the 1st European Workshop on OpenMP (EWOMP) (1999)Google Scholar
  10. 10.
    Sato, M., Harada, H., Ishikawa, Y.: OpenMP Compiler for a Software Distributed Shared Memory System SCASH. In: Proceedings of the 1st Workshop on OpenMP Applications and Tools (WOMPAT) (2000)Google Scholar
  11. 11.
    NanosMercurium Compiler Infrastructure, http://www.cepba.upc.es/mercurium
  12. 12.
    Sharma, S.D., et al.: Runtime and compile-time support for adaptive irregular problems. In: Proceedings of Supercomputing’94 (1994)Google Scholar
  13. 13.
    Jin, H., Frumkin, M., Yan, J.: The OpenMP Implementation of the NAS Parallel Benchmarks and its Performance. Technical Report NAS-99-011, NASA Ames Research Center (October 1999)Google Scholar
  14. 14.
    Koelbel, C., Mehrotra, P.: Compiling Global Name-Space Parallel Loops for Distributed Execution. IEEE Transactions on Parallel and Distributed Systems 2(4), 440–451 (1991)CrossRefGoogle Scholar
  15. 15.
    Barcelona Supercomputing Center, http://www.bsc.es
  16. 16.
    Deitz, S.J., et al.: The Design and Implementation of a Parallel Array Operator for the Arbitrary Remapping of Data. In: Proceedings of the ACM SIGPLAN symposium on principles and practice of parallel programming (PPoPP 2003), ACM Press, New York (2003)Google Scholar
  17. 17.
    Koelbel, C., Mehrotra, P.: Supporting shared data structures on distributed memory architectures. In: Proceedings of the 2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP), ACM Press, New York (1990)Google Scholar
  18. 18.
    Hanxleden, R.V., et al.: Compiler analysis for irregular problems in Fortran-D. In: Banerjee, U., et al. (eds.) Languages and Compilers for Parallel Computing. LNCS, vol. 757, Springer, Heidelberg (1993)Google Scholar
  19. 19.
    Dotsenko, Y., Coarfa, C., Mellor-Crummey, J.: A Multiplatform CoArray Fortran Compiler. In: Proceedings of the 13th International Conference on Parallel Architecture and Compilation Techniques (PACT) (2004)Google Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Jairo Balart
    • 1
  • Marc Gonzàlez
    • 1
  • Xavier Martorell
    • 1
  • Eduard Ayguadé
    • 1
  • Jesús Labarta
    • 1
  1. 1.Barcelona Supercomputing Center (BSC), Computer Architecture Department, Technical University of Catalunya (UPC), Cr. Jordi Girona 1-3, Mòdul D6, 08034 – BarcelonaSpain

Personalised recommendations