Title :
Introducing A-Cell for Scalable and Portable SIMD Programming
Author_Institution :
Adv. Visualisation Res. Team, RIKEN Adv. Inst. for Comput. Sci., Kobe, Japan
Abstract :
A-Cell is a high-level abstraction of fine-grained parallelism specifically designed to be applicable to all range of parallel devices from super computers based on CPUs or GPUs, to network of embedded devices. To achieve this, A-Cell adopts a programming model called "connectionist computing" and with that takes a leap step away from Turing programming model. Also, in contrast with most common solutions like PGAS that are holistic, the philosophy of A-Cell is reductionist. An ACell encapsulates a fine-grained task with its related variables. A source-to-source compiler translates the program to a set of programs that are compilable to the target devices. Execution of the task is through massive instantiation of an A-Cell prototype. The runtime system takes the responsibility of distributing A-Cell instances between all available nodes, cores or multiprocessors (MPs). The runtime system also assures synchronization and consistency between A-Cell instances. This paper introduces the theoretical aspect of A-Cell, its semantics and its design logic, and reports the progress made for its materialization, including the A-Cell simulator, C/C++ runtime system, and precompiler.
Keywords :
data encapsulation; parallel programming; program compilers; program interpreters; A-Cell instance consistency; A-Cell instance distribution; A-Cell instance synchronization; A-Cell simulator; C runtime system; C++ runtime system; MP; available cores; available nodes; connectionist computing programming model; fine-grained task encapsulation; high-level fine-grained parallelism abstraction; multiprocessors; parallel devices; precompilers; program translation; scalable-portable SIMD programming; source-to-source compiler; target devices; task execution; Computational modeling; Computers; Electronics packaging; Program processors; Programming; Prototypes; Runtime; Multi-Core Processing; Many-Core Processing; Parallel Programming; Concurrency Control; High-Performance Computing; Middleware;
Conference_Titel :
Embedded Multicore/Manycore SoCs (MCSoc), 2014 IEEE 8th International Symposium on
Conference_Location :
Aizu-Wakamatsu
DOI :
10.1109/MCSoC.2014.51