Program Execution on Multicore and Heterogenous Systems

Loading...
Thumbnail Image

Authors

Gupta, Gagan
Sridharan, Srinath
Sohi, Gurindar S.

Advisors

License

DOI

Type

Technical Report

Journal Title

Journal ISSN

Volume Title

Publisher

Grantor

Abstract

As uniprocessor performance fails to improve at the erstwhile rates, computer architects are turning to multicore architectures to stay on the performance curve. Parallel programming holds the key to unlocking the performance benefits of such architectures. Conventional parallel programming models require programmers to abandon the well established sequential programming paradigm, and write parallel programs. Such models are fraught with pitfalls such as deadlocks, livelocks, nondeterminism, etc. Recently Allen et. al. [3] introduced a new dynamic dependence based programming model, called Serialization Sets, which maintains the sequential program semantics and yet delivers performance comparable to the conventional methods. While we extended the Serialization Sets model in [21], to allow programmers to express data dependencies between computations, and extracted additional parallelism, the model still had limited capability to discover parallelism. In this work, we propose a generic dataflow execution model capable of exploiting all possible parallelism, using the same imperative programming framework. We present the details of the implementation and show that the new model improves the performance of the applications we developed by 15%-25% on a general purpose multicore architecture, and at the same time scales well with the increase in the number of processors. We also apply this framework to another class of architecture, GPGPU, and show we are able to derive similar performance benefits while greatly simplifying programming for such architectures.

Description

Related Material and Data

Citation

TR1805

Sponsorship

Endorsement

Review

Supplemented By

Referenced By