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