Title :
Data-Reuse-Driven Energy-Aware Cosynthesis of Scratch Pad Memory and Hierarchical Bus-Based Communication Architecture for Multiprocessor Streaming Applications
Author :
Issenin, Ilya ; Brockmeyer, Erik ; Durinck, Bart ; Dutt, Nikil D.
Abstract :
As technology advances, it becomes feasible to implement a large multiprocessor systems-on-chip (MPSoCs) to satisfy the increased performance demands of embedded applications. The increased complexity of systems leads to an increased power consumption. Reducing the consumption is an important task, considering that the available power may be limited in battery-operated embedded systems. The selection of memory and communication architectures affects the power efficiency of the design. In this paper, we propose a novel approach that enables the energy-aware cosynthesis of both memory and communication architectures for streaming applications. As opposed to earlier techniques, we propose a powerful compile-time analysis of memory access behavior in multiprocessor systems, which adds flexibility in selecting scratch-pad-based memory architectures. We propose and compare three memory/communication synthesis techniques, namely, an optimal mixed integer-linear-programming (ILP)-based cosynthesis technique, a mixed ILP (MILP)-based traditional two-step synthesis approach, where memory and communication synthesis is sequentially performed, and a cosynthesis heuristic that synthesizes energy-efficient hierarchical bus-based communication architectures with guaranteed throughput. Our experimental results on a number of streaming applications show that both the traditional two-step synthesis approach and heuristic result in up to 50% worse power consumption in comparison with our proposed cosynthesis approach. However, on some of the streaming benchmarks, our cosynthesis heuristic approach was able to find optimal or near-optimal results in a much shorter time than the MILP cosynthesis approach.
Keywords :
computational complexity; digital storage; integer programming; linear programming; processor scheduling; system-on-chip; bus-based communication architectures; communication synthesis; compile-time analysis; cosynthesis approach; cosynthesis technique; data-reuse-driven energy-aware cosynthesis; hierarchical bus-based communication architecture; mixed integer-linear-programming; multiprocessor streaming applications; multiprocessor systems; multiprocessor systems-on-chip; power consumption; scratch pad memory; scratch-pad-based memory architectures; Bus synthesis; bus synthesis; data reuse; embedded systems; hierarchical bus based communication architecture; hierarchical bus-based communication architecture; memory optimizations; multiprocessor scratch pad memory (SPM) hierarchy; multiprocessor scratch pad memory hierarchy;
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
DOI :
10.1109/TCAD.2008.925781