Title
EXOCHI: architecture and programming environment for a heterogeneous multi-core multithreaded system
Abstract
Future mainstream microprocessors will likely integrate specialized accelerators, such as GPUs, onto a single die to achieve better performance and power efficiency. However, it remains a keen challenge to program such a heterogeneous multicore platform, since these specialized accelerators feature ISAs and functionality that are significantly different from the general purpose CPU cores. In this paper, we present EXOCHI: (1) Exoskeleton Sequencer(EXO), an architecture to represent heterogeneous acceleratorsas ISA-based MIMD architecture resources, and a shared virtual memory heterogeneous multithreaded program execution model that tightly couples specialized accelerator cores with generalpurpose CPU cores, and (2) C for Heterogeneous Integration(CHI), an integrated C/C++ programming environment that supports accelerator-specific inline assembly and domain-specific languages. The CHI compiler extends the OpenMP pragma for heterogeneous multithreading programming, and produces a single fat binary with code sections corresponding to different instruction sets. The runtime can judiciously spread parallel computation across the heterogeneous cores to optimize performance and power. We have prototyped the EXO architecture on a physical heterogeneous platform consisting of an Intel® Core™ 2 Duo processor and an 8-core 32-thread Intel® Graphics Media Accelerator X3000. In addition, we have implemented the CHI integrated programming environment with the Intel® C++ Compiler, runtime toolset, and debugger. On the EXO prototype system, we have enhanced a suite of production-quality media kernels for video and image processing to utilize the accelerator through the CHI programming interface, achieving significant speedup (1.41X to10.97X) over execution on the IA32 CPU alone.
Year
DOI
Venue
2007
10.1145/1273442.1250753
Sigplan Notices
Keywords
Field
DocType
heterogeneous multi-cores,gpu,openmp
Multithreading,Programming language,Instruction set,Computer science,Debugger,Parallel computing,Inline assembler,Compiler,High-level programming language,Execution model,Multi-core processor,Operating system
Conference
Volume
Issue
ISSN
42
6
0362-1340
Citations 
PageRank 
References 
88
8.41
11
Authors
9
Name
Order
Citations
PageRank
Perry H. Wang125317.05
Jamison D. Collins243325.53
Gautham N. Chinya333419.62
Hong Jiang411310.15
Xinmin Tian559652.92
Milind Girkar645136.79
Nick Y. Yang7888.41
Guei-Yuan Lueh840137.41
Hong Wang991754.76