Affiliations: Department of Electrical and Computer Engineering,
University of Toronto, Toronto, Canada
Note: [] Corresponding author: Tarek S. Abdelrahman, Department of
Electrical and Computer Engineering, University of Toronto, Toronto, Canada.
E-mail: tsa@eecg.toronto.edu
Abstract: The Multi-Level Computing Architecture (MLCA) is a novel
parallel System-on-a-Chip architecture targeted for multimedia applications. It
features a top level controller that automatically extracts task level
parallelism using techniques similar to how instruction level parallelism is
extracted by superscalar processors. This allows the MLCA to support a simple
programming model that is similar to sequential programming. In order to assist
programmers to easily and efficiently port multimedia applications to the MLCA
programming model, a compilation environment is designed. This compilation
environment enhances parallelism in MLCA programs by applying three simple code
transformations that are based on known compiler optimizations. In this paper,
we describe the MLCA architecture, its programming model, its compilation
environment and an evaluation of its performance. Our experimental evaluation
with three real multimedia applications and an MLCA simulator shows that the
MLCA is a viable architecture and scaling speedups can be obtained using the
compilation environment with little programmer effort.