Program Execution on Multicore and Heterogenous Systems
Loading...
Date
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
Keywords
Related Material and Data
Citation
TR1805