Exploiting parallelism through directives on the nano-threads programming model

  • Eduard Ayguadé
  • Xavier Martorell
  • Jesús Labarta
  • Marc Gonález
  • Nacho Navarro
Parallel Programming Models and Language Extensions
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1366)


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.


Multithreading Unstructured parallelism Resource adaptation Fortran directives 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BJK+95]
    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. [CGH93]
    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. [Cyt86]
    R. Cytron. Doacross: Beyond vectorization for multiprocessors. In International Conference on Parallel Processing, August 1986.Google Scholar
  4. [EAD93]
    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. [KC93]
    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. [ML92]
    E.P. Markatos and T.J. LeBlanc. Using processor affinity in loop scheduling on shared-memory multiprocessors. In Supercomputing'92, 1992.Google Scholar
  7. [MLNA96]
    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. [MLNA97]
    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. [PBK93]
    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. [PGH+89]
    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. [Po193]
    C.D. Polychronopoulos. Nano-threads: Compiler driven multithreading. In 4th International Workshop on Compilers for Parallel Computing, 1993.Google Scholar
  12. [SG196a).
    Silicon Graphics Computer Systems SGI. MIPSpro Fortran 77 Programmer's Guide, 1996.Google Scholar
  13. [SG196b]
    Silicon Graphics Computer Systems SGI. Origin200 and Origin2000 Technical Report, 1996.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Eduard Ayguadé
    • 1
  • Xavier Martorell
    • 1
  • Jesús Labarta
    • 1
  • Marc Gonález
    • 1
  • Nacho Navarro
    • 1
  1. 1.Computer Architecture DepartmentPolytechnic University of CatalunyaBarcelonaSpain

Personalised recommendations