Vishakha Gupta, Sudhakar Yalamanchili, Jose Duato,
Execution Environment Support for Many Core Heterogeneous Accelerator Platforms
We are seeing the advent of large scale, heterogeneous systems comprised of homogeneous general purpose cores intermingled with customized heterogeneous cores and interconnected to diverse memory hierarchies. The presence of accelerators requires support for new programming abstractions and run-time environments that can efficiently harvest platform resources comprised of general purpose and specialized processing cores, their diverse memory units and
memory management support, and communication links that connect them. This paper describes an execution model and systems infrastructure for modeling and supporting multi-accelerator architectures in general and experiences with an implementation for interconnected network of Cell Broadband engine processors in particular. The primary contributions of this paper are i) a pooled accelerator execution model for orchestrating computations on and data movements
across multiple accelerators, ii) an API for implementing the model effectively and iii) a distributed simulation environment for modeling multiple,
communicating Cell/B.E. processors.