Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Task parallelism and high-performance languages

Technical Report ·
DOI:https://doi.org/10.2172/205045· OSTI ID:205045

The definition of High Performance Fortran (HPF) is a significant event in the maturation of parallel computing: it represents the first parallel language that has gained widespread support from vendors and users. The subject of this paper is to incorporate support for task parallelism. The term task parallelism refers to the explicit creation of multiple threads of control, or tasks, which synchronize and communicate under programmer control. Task and data parallelism are complementary rather than competing programming models. While task parallelism is more general and can be used to implement algorithms that are not amenable to data-parallel solutions, many problems can benefit from a mixed approach, with for example a task-parallel coordination layer integrating multiple data-parallel computations. Other problems admit to both data- and task-parallel solutions, with the better solution depending on machine characteristics, compiler performance, or personal taste. For these reasons, we believe that a general-purpose high-performance language should integrate both task- and data-parallel constructs. The challenge is to do so in a way that provides the expressivity needed for applications, while preserving the flexibility and portability of a high-level language. In this paper, we examine and illustrate the considerations that motivate the use of task parallelism. We also describe one particular approach to task parallelism in Fortran, namely the Fortran M extensions. Finally, we contrast Fortran M with other proposed approaches and discuss the implications of this work for task parallelism and high-performance languages.

Research Organization:
Argonne National Lab., IL (United States)
Sponsoring Organization:
USDOE, Washington, DC (United States); National Science Foundation, Washington, DC (United States)
DOE Contract Number:
W-31109-ENG-38
OSTI ID:
205045
Report Number(s):
MCS--P440-0594; ON: DE96007629; CNN: Contract CCR-8809615
Country of Publication:
United States
Language:
English

Similar Records

MPI as a coordination layer for communicating HPF tasks
Conference · Mon Dec 30 23:00:00 EST 1996 · OSTI ID:418494

The Nexus task-parallel runtime system
Conference · Fri Dec 30 23:00:00 EST 1994 · OSTI ID:390589

Double standards: bringing task parallelism to HPF via the message passing interface
Conference · Mon Dec 30 23:00:00 EST 1996 · OSTI ID:469060