Implementation of a Portable Runtime System Supporting Mixed Task and Data Parallelism

This paper describes the portable implementation of a programming model based on shared objects that integrates task and data parallelism. As a starting point, the implementation uses two existing runtime systems: the Orca runtime system (RTS), for task parallel programming, and Hawk, for data paral...

Full description

Bibliographic Details
Main Authors: Saniya Ben Hassen, Tim Rühl, Hassen Tim, Ceriel J.H. Jacobs, J. H. Jacobs
Other Authors: The Pennsylvania State University CiteSeerX Archives
Format: Text
Language:English
Subjects:
Online Access:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.3779
Description
Summary:This paper describes the portable implementation of a programming model based on shared objects that integrates task and data parallelism. As a starting point, the implementation uses two existing runtime systems: the Orca runtime system (RTS), for task parallel programming, and Hawk, for data parallel programming. To achieve this portable integration, we implemented the Orca RTS and Hawk on top of Panda, a virtual machine that was designed to facilitate porting parallel programming systems to new architectures. With the resulting system, an application program may use the task parallel model of Orca and the data parallel model of Hawk by calling the appropriate primitives in either the Orca RTS or in Hawk. keywords: Data Parallel Programming. Partitioned Shared Objects. Portable Runtime System. Portable Virtual Machine. Shared Objects. Task Parallel Programming. 1 Introduction Supporting both task and data parallelism in one programming system is useful, since many applications need .