Title :
StreaMorph: A case for synthesizing energy-efficient adaptive programs using high-level abstractions
Author :
Dai Bui ; Lee, Edward A.
Author_Institution :
Univ. of California, Berkeley, Berkeley, CA, USA
fDate :
Sept. 29 2013-Oct. 4 2013
Abstract :
This paper presents the concept of adaptive programs, whose computation and communication structures can morph to adapt to environmental and demand changes to save energy and computing resources. In this approach, programmers write one single program using a language at a higher level of abstraction. The compiler will exploit the properties of the abstractions to generate an adaptive program that is able to adjust computation and communication structures to environmental and demand changes. We develop a technique, called StreaMorph, that exploits the properties of stream programs´ Synchronous Dataflow (SDF) programming model to enable runtime stream graph transformation. The StreaMorph technique can be used to optimize memory usage and to adjust core utilization leading to energy reduction by turning off idle cores or reducing operating frequencies. The main challenge for such a runtime transformation is to maintain consistent program states by copying states between different stream graph structures, because a stream program optimized for different numbers of cores often has different sets of filters and inter-filter channels. We propose an analysis that helps simplify program state copying processes by minimizing copying of states based on the properties of the SDF model. Finally, we implement the StreaMorph method in the StreamIt compiler. Our experiments on the Intel Xeon E5450 show that using StreaMorph to minimize the number of cores used from eight cores to one core, e.g. when streaming rates become lower, can reduce energy consumption by 76.33% on average. Using StreaMorph to spread workload from four cores to six or seven cores, e.g. when more cores become available, to reduce operating frequencies, can lead to 10% energy reduction. In addition, StreaMorph can lead to a buffer size reduction of 82.58% in comparison with a straightforward inter-core filter migration technique when switching from using eight cores to one core.
Keywords :
data flow analysis; graph theory; program compilers; Intel Xeon E5450; SDF programming model; StreaMorph technique; StreamIt compiler; buffer size reduction; communication structures; computation structures; computing resource saving; consistent program state maintenance; demand changes; energy reduction; energy saving; energy-efficient adaptive program synthesis; environmental changes; high-level abstractions; interfilter channels; memory usage optimization; off-idle core turning; operating frequency reduction; program state copying processes; runtime stream graph transformation; runtime transformation; stream program optimization; stream program properties; synchronous dataflow programming model; Computational modeling; Digital signal processing; Ports (Computers); Program processors; Runtime; Steady-state; Switches;
Conference_Titel :
Embedded Software (EMSOFT), 2013 Proceedings of the International Conference on
Conference_Location :
Montreal, QC
DOI :
10.1109/EMSOFT.2013.6658598