Skip to main content

Exploiting parallelism through directives on the nano-threads programming model

  • Parallel Programming Models and Language Extensions
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1366))

Abstract

The ability of an application to efficiently use the resources shared with other applications is a key feature needed to efficiently exploit the potential parallelism offered by nowadays multiprogrammed parallel architectures. In these environments, the application should be able to adapt the parallelism (kind and amount) that it is worth to be exploited to the global utilization of system resources. In this paper we present a programming model oriented to the hierarchical exploitation of unstructured parallelism in multiprogrammed shared-memory systems. The model offers a set of directives targetted to be used by Fortran programmers that allow them to express the parallelism of the application. The compiler is responsible for the generation of code that efficiently exploits and manages this parallelism at run time. The code generated runs on top of a user-level threads library that allow the program to decide and adapt himself to the parallelism that can be attained at any time.

This research has been supported by the Ministry of Education of Spain under contracts TIC-42995 and TIC-43994, ESPRIT project NANOS (21907) and by the CEPBA (European Center for Parallelism of Barcelona).

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R.D. Blumofe, C.F. Joerg, B.C. Kuszmaul, C.E. Leiserson, K.H. Randall, and Y. Zhou. Cilk: An efficient multithreaded runtime system. In Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP'95), 1995.

    Google Scholar 

  2. R. Chandra, A. Gupta, and J.L. Hennessy. Data locality and load balancing in cool. In Fourth ACM SIGPLAN Symposium on the Principles and Practice of Parallel Programming (PPoPP'93), 1993.

    Google Scholar 

  3. R. Cytron. Doacross: Beyond vectorization for multiprocessors. In International Conference on Parallel Processing, August 1986.

    Google Scholar 

  4. D.R. Engler, G.R. Andrews, and Lowenthal D.K. Filaments: Efficient support for fine-grain parallelism. Technical report, Dept. of Computer Science, University of Arizona, Tucson, 1993.

    Google Scholar 

  5. V. Karamcheti and A. Chien. Concert-efficient run-time support for concurrent object-oriented programming languages on stock hardware. In Supercomputing'93, 1993.

    Google Scholar 

  6. E.P. Markatos and T.J. LeBlanc. Using processor affinity in loop scheduling on shared-memory multiprocessors. In Supercomputing'92, 1992.

    Google Scholar 

  7. X. Martorell, J. Labarta, J.I. Navarro, and E. Ayguadé. A library implementation of the nano-threads programming model. In Euro-Par'96, pages 644–649, 1996.

    Google Scholar 

  8. X. Martorell, J. Labarta, J.I. Navarro, and E. Ayguadé. Analysis of several scheduling algorithms under the nano-threads programming model. In 11th IEEE International Parallell Processing Symposium (IPPS'97), 1997.

    Google Scholar 

  9. C.D. Polychronopoulos, N. Bitar, and S. Kleiman. nanothreads: A user-level threads architecture. Technical report, CSRD, Univ. of Illinois at Urbana-Champaign, 1993.

    Google Scholar 

  10. C.D. Polychronopoulos, M. Girkar, M.R. Haghighat, C.L. Lee, B. Leung, and D. Schouten. Parafrase-2: An environment for parallelizing, partitioning, and scheduling programs on multiprocessors. International Journal of High Speed Computing, 1(1), 1989.

    Google Scholar 

  11. C.D. Polychronopoulos. Nano-threads: Compiler driven multithreading. In 4th International Workshop on Compilers for Parallel Computing, 1993.

    Google Scholar 

  12. Silicon Graphics Computer Systems SGI. MIPSpro Fortran 77 Programmer's Guide, 1996.

    Google Scholar 

  13. Silicon Graphics Computer Systems SGI. Origin200 and Origin2000 Technical Report, 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Zhiyuan Li Pen-Chung Yew Siddharta Chatterjee Chua-Huang Huang P. Sadayappan David Sehr

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ayguadé, E., Martorell, X., Labarta, J., Gonález, M., Navarro, N. (1998). Exploiting parallelism through directives on the nano-threads programming model. In: Li, Z., Yew, PC., Chatterjee, S., Huang, CH., Sadayappan, P., Sehr, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1997. Lecture Notes in Computer Science, vol 1366. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0032701

Download citation

  • DOI: https://doi.org/10.1007/BFb0032701

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64472-9

  • Online ISBN: 978-3-540-69788-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics