Abstract
While the past research discussed several advantages of multiprocessor-system-on-a-chip (MPSOC) architectures from both area utilization and design verification perspectives over complex single core based systems, compilation issues for these architectures have relatively received less attention. Programming MPSOCs can be challenging as several potentially conflicting issues such as data locality, parallelism and load balance across processors should be considered simultaneously. Most of the compilation techniques discussed in the literature for parallel architectures (not necessarily for MPSOCs) are loop based, i.e., they consider each loop nest in isolation. However, one key problem associated with such loop based techniques is that they fail to capture the interactions between the different loop nests in the application. This paper takes a more global approach to the problem and proposes a compiler-driven data locality optimization strategy in the context of embedded MPSOCs. An important characteristic of the proposed approach is that, in deciding the workloads of the processors (i.e., in parallelizing the application) it considers all the loop nests in the application simultaneously. Our experimental evaluation with eight embedded applications shows that the global scheme brings significant power/performance benefits over the conventional loop based scheme.
Original language | English (US) |
---|---|
Article number | 8.1 |
Pages (from-to) | 95-100 |
Number of pages | 6 |
Journal | Proceedings - Design Automation Conference |
DOIs | |
State | Published - 2005 |
Event | 42nd Design Automation Conference, DAC 2005 - Anaheim, CA, United States Duration: Jun 13 2005 → Jun 17 2005 |
All Science Journal Classification (ASJC) codes
- Hardware and Architecture
- Control and Systems Engineering