DocumentCode :
642793
Title :
Expandable process networks to efficiently specify and explore task, data, and pipeline parallelism
Author :
Schor, Lars ; Hoeseok Yang ; Bacivarov, Luliana ; Thiele, Lothar
Author_Institution :
Comput. Eng. & Networks Lab., ETH Zurich, Zurich, Switzerland
fYear :
2013
fDate :
Sept. 29 2013-Oct. 4 2013
Firstpage :
1
Lastpage :
10
Abstract :
Running each application of a many-core system on an isolated (virtual) guest machine is a widely considered solution for performance and reliability issues. When a new application is started, the guest machine is assigned with an amount of computing resources that depends on the overall workload of the system and is not known to the designer at specification time. For instance, the computing resources might consist of many slow or a few fast processing elements. If the application is statically specified, as, for example, with Kahn process networks, the number of processing elements usable by an application is upper bounded by its number of processes. Similarly, the inter-process communication overhead might limit the maximum performance if the number of processing elements is significantly smaller than the number of processes. In this paper, we propose a formal extension for streaming programming models called expandable process networks (EPNs) that tackles this challenge by abstracting several possible granularities in a single specification. This enables the automatic exploration of task, data, and pipeline parallelism by two basic design transformation techniques, namely replication and unfolding. Then, the EPN semantics facilitates the synthesis of multiple design implementations that are all derived from one high-level specification. At runtime, the best fitting implementation for the given computing resources is selected to maximize the performance. Finally, we demonstrate the effectiveness of the proposed model on Intel´s 48-core SCC processor.
Keywords :
multiprocessing systems; parallel processing; pipeline processing; EPNs; Intel 48-core SCC processor; Kahn process networks; computing resources; data parallelism; expandable process networks; fast processing elements; high-level specification; inter-process communication overhead; isolated guest machine; many-core system; pipeline parallelism; replication design transformation techniques; streaming programming models; task parallelism; unfolding design transformation techniques; upper bound; virtual machine; Algorithm design and analysis; Computer architecture; Network topology; Parallel processing; Pipelines; Semantics; Topology;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Compilers, Architecture and Synthesis for Embedded Systems (CASES), 2013 International Conference on
Conference_Location :
Montreal, QC
Type :
conf
DOI :
10.1109/CASES.2013.6662509
Filename :
6662509
Link To Document :
بازگشت