Skip to main content

2014 | Buch

Programming Heterogeneous MPSoCs

Tool Flows to Close the Software Productivity Gap

insite
SUCHEN

Über dieses Buch

This book provides embedded software developers with techniques for programming heterogeneous Multi-Processor Systems-on-Chip (MPSoCs), capable of executing multiple applications simultaneously. It describes a set of algorithms and methodologies to narrow the software productivity gap, as well as an in-depth description of the underlying problems and challenges of today’s programming practices. The authors present four different tool flows: A parallelism extraction flow for applications written using the C programming language, a mapping and scheduling flow for parallel applications, a special mapping flow for baseband applications in the context of Software Defined Radio (SDR) and a final flow for analyzing multiple applications at design time. The tool flows are evaluated on Virtual Platforms (VPs), which mimic different characteristics of state-of-the-art heterogeneous MPSoCs.

Inhaltsverzeichnis

Frontmatter
Chapter 1. Introduction
Abstract
This book is concerned with the improvement of the programming experience of today’s and upcoming embedded systems in the multimedia and wireless communication domains. In these domains, two main interrelated trends have made programming a daunting task for embedded software developers. On the one hand, the underlying computing engines of new embedded devices have evolved to become complex Systems-on-Chip (SoCs) that integrate several processors of different types as well as dedicated hardware accelerators. These heterogeneous Multi-Processor Systems-on-Chip (MPSoCs) are nowadays commonplace in portable consumer electronics. On the other hand, the complexity of the software being deployed on multimedia and wireless terminals keeps rising exponentially. This software is no longer characterized by a single small application, but by a set of individually complex applications, each with constraints that have to be respected regardless of the presence of other applications in the system. As a result, programmers have to implement applications with ever increasing requirements, on platforms with ever increasing complexity. Additionally, they have to meet project schedules that shrink due to tight time-to-market constraints. This situation has given rise to the software productivity gap.
Jerónimo Castrillón Mazo, Rainer Leupers
Chapter 2. Background and Problem Definition
Abstract
The previous chapter motivated and gave an intuitive description of the problem of mapping multiple applications onto heterogeneous MPSoCs. Three sub-problems were identified, corresponding to three different application types and tool flows: sequential, parallel and SDR. Each of these problems is broad enough to allow for different formulations, interpretations and solutions.
Jerónimo Castrillón Mazo, Rainer Leupers
Chapter 3. Related Work
Abstract
Plenty of researchers have identified the issues described in Chapter 1. As a result, one can find a great amount of works with solutions to the problems that gave rise to the software productivity gap. These solutions solve problems that are similar to the problems stated in the previous chapter, with slight variations in the problem setup, e.g., a different input language, a different constraint formulation (or no constraints) or a different platform model (sometimes homogeneous).
Jerónimo Castrillón Mazo, Rainer Leupers
Chapter 4. MPSoC Runtime Management
Abstract
This book presents methodologies and algorithms that aim at obtaining efficient application execution on a target MPSoC. Note that the efficiency of a parallel execution is not only determined by the application itself and the quality of the programming flow, but also by the efficiency of the MPSoC’s runtime system.
Jerónimo Castrillón Mazo, Rainer Leupers
Chapter 5. Sequential Code Flow
Abstract
Chapter 1 alluded to the problem of sequential code in current embedded systems, showing that methodologies and tools are needed to help migrate legacy code to new parallel platforms. As discussed in Sect. 3.2, state-of-the-art solutions differ from each other in the problem setup, e.g., input language, programming restrictions, parallel output and target platform characteristics. This chapter describes a solution to the sequential problem with the setup presented in Sect. 2.4.
Jerónimo Castrillón Mazo, Rainer Leupers
Chapter 6. Parallel Code Flow
Abstract
As discussed in Chap. 1, not only sequential but also parallel programming must be supported in order to close the productivity gap.
Jerónimo Castrillón Mazo, Rainer Leupers
Chapter 7. Extensions for Software Defined Radio
Abstract
Chapter 1 explained how heterogeneous MPSoCs for high-end applications will continue to have hardware acceleration and specialized processors in order to meet tight energy constraints. For such platforms, the software compilation approach of the previous chapter would not leverage all the computing power. As a consequence, the performance of an automatically generated implementation would lag orders of magnitude behind an optimum manual design. This chapter presents an extension to the parallel flow that accounts for such optimized platforms. The extensions target applications from the SDR domain, thereby solving the SDR problem from Def. 2.57.
Jerónimo Castrillón Mazo, Rainer Leupers
Chapter 8. Multi-Application Flow
Abstract
Until now, this book presented three programming flows for applications of different natures, namely sequential, parallel and SDR.
Jerónimo Castrillón Mazo, Rainer Leupers
Chapter 9. Conclusions and Outlook
Abstract
The software component of embedded devices has become the dominant differentiation factor and, at the same time, the dominant design cost factor. Even before this software boom, embedded hardware platforms had already undergone a migration to parallel, multi-processor architectures. Surprisingly, today’s embedded systems are still programmed with fragmented, single-processor compilers with no true support for heterogeneity or multi-processing.
Jerónimo Castrillón Mazo, Rainer Leupers
Backmatter
Metadaten
Titel
Programming Heterogeneous MPSoCs
verfasst von
Jerónimo Castrillón Mazo
Rainer Leupers
Copyright-Jahr
2014
Electronic ISBN
978-3-319-00675-8
Print ISBN
978-3-319-00674-1
DOI
https://doi.org/10.1007/978-3-319-00675-8

Neuer Inhalt