From Sequential Programming to Flexible Parallel Execution [abstract] (PDF)
Arun Raman, Jae W. Lee, and David I. August
Proceedings of the International Conference on Compilers and Synthesis for Embedded Systems (CASES), October 2012.
The embedded computing landscape is being transformed by three
trends: growing demand for greater functionality and enriched user
experience, increasing diversity and parallelism in the processing
substrate, and an accelerating push for ever-greater energy
efficiency. For programmers, these trends give rise to three
challenges: writing code for a potentially heterogeneous
architecture, extracting parallelism in software, and maximizing a
multivariate (performance, power, energy, etc.) fitness function of
user satisfaction which may vary with time. To meet these
challenges, clarion calls have been issued for programmers to start
writing software in new parallel programming models.
Fundamentally, however, these proposals detract programmers from
delivering new features and enriched user experience in the shortest
time possible. This paper proposes to attract embedded systems
programmers to a vertically integrated approach, comprising
extensions to the sequential programming model, a parallelizing
compiler, and an optimizing run-time system, to enable them to
tackle all three challenges.