Kirk Stewart - M.A.Sc. Thesis Abstract

Automatic Task Formation

The Multi-Level Computing Architecture (MLCA) is a template system-on-chip architecture currently under development at ST Microelectronics, aimed at embedded multimedia applications. It consists of a single control processor that dispatches tasks to an arbitrary number of processing units. All communication between tasks is accomplished through a universal register file (URF), and is specified explicitly in a control program running on the control processor. This allows the control processor to use traditional superscalar techniques such as speculative and out-of-order execution to exploit parallelism between tasks.

My research is an exploration of automatic task formation techniques targeted at the MLCA. The goal is to transform an existing sequential application into a set of tasks that will exhibit a high degree of parallelism. This will be done by exploiting characteristics common to many media applications that provide a natural and efficient task decomposition.

I am implementing these task formation techniques in the Open Research Compiler, an open-source variant of SGI's Pro64 compiler. The end result will be a development tool, aimed at easing the process of porting applications to the MLCA by suggesting task partitions and analyzing data-flow requirements.


" The Hyperprocessor: A Template System-onChip Architecture for Embedded Multimedia Applications," Faraydon Karim, Alain Mellan, Tarek Abdelrahman, Utku Aydonat, Bernd Stramm, Anh Nguyen, Proceedings of the Workshop on Application Specific Processors (WASP-2), San Diego, December 2003.

Open Research Compiler (ORC)