Integrating Task and Data Parallelism Using Shared Objects

Supporting both task and data parallelism in one programming system is useful, since many applications need both types of parallelism. We present a programming model that integrates task and data parallelism using shared objects. The model is a generalization of shared objects in Orca. Orca is a tas...

Full description

Bibliographic Details
Main Authors: Saniya Ben Hassen, Henri Bal, Hassen Henri Bal
Other Authors: The Pennsylvania State University CiteSeerX Archives
Format: Text
Language:English
Published: 1996
Subjects:
Online Access:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.3345
Description
Summary:Supporting both task and data parallelism in one programming system is useful, since many applications need both types of parallelism. We present a programming model that integrates task and data parallelism using shared objects. The model is a generalization of shared objects in Orca. Orca is a task parallel language that uses shared objects for communication between processes and for storing shared (possibly replicated) data. Our new model also uses shared objects for partitioning of shared data and for distribution of work in a data parallel way. Data parallelism is introduced by executing operations on a partitioned object in parallel. The paper describes the design of the new model, its implementation, and its usage for parallel applications that use mixed task and data parallelism. 1 Introduction Most parallel programming systems are based either on data parallelism or on task parallelism. The advantage of data parallelism is that it is easy to use. The programmer merely specifi.