Title :
Code and Data Structure Partitioning for Parallel and Flexible MPSoC Specification Using Designer-Controlled Recoding
Author :
Chandraiah, Pramod ; Dömer, Rainer
Author_Institution :
Univ. of California at Davis, Irvine, CA
fDate :
6/1/2008 12:00:00 AM
Abstract :
MultiProcessor systems-on-chip (MPSoCs) are increasingly being used to build efficient and cost-effective embedded systems that meet the necessary real-time requirements. However, programming heterogeneous MPSoCs is highly challenging. The existing automatic parallelizing techniques, although effective on homogeneous shared-memory architectures, are insufficient for MPSoCs, which are typically characterized by heterogeneous processing elements and memory architectures. The lack of effective automatic techniques for recoding and parallelization requires designers to manually partition the code and the data structures in the reference application to generate a parallel and flexible specification model. Such manual algorithm partitioning by the designer is time consuming and error prone. In this paper, we motivate the need for automation in system specification and present a novel designer-controlled approach to recode applications written in a C-based System-Level Description Language. We present six automated source code transformations that, under the control of the designer, automatically partition and reorganize code and data structures to create a parallel and flexible abstract specification model that can be mapped onto a heterogeneous MPSoC using a top-down system-level design flow. Our experimental results show significant productivity gains and quality improvements in the end design.
Keywords :
data structures; memory architecture; shared memory systems; system-on-chip; C-based System-Level Description Language; automatic parallelizing techniques; code structure partitioning; data structure partitioning; data structures; designer-controlled recoding; embedded systems; flexible MPSoC specification; flexible abstract specification model; flexible specification model; heterogeneous MPSoC; homogeneous shared-memory architectures; multiprocessor systems-on-chip; parallel MPSoC specification; parallel specification model; real-time requirements; system specification; top-down system-level design flow; Algorithm design and analysis; Automatic control; Data structures; Design automation; Embedded system; Memory architecture; Multiprocessing systems; Partitioning algorithms; Real time systems; System-level design; Code and data partitioning; design automation; multi-processor systems-on-chip; recoding; source code transformation; system level design;
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
DOI :
10.1109/TCAD.2008.923244