• DocumentCode
    2159931
  • 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
  • fYear
    2013
  • fDate
    Sept. 29 2013-Oct. 4 2013
  • Firstpage
    1
  • Lastpage
    10
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Embedded Software (EMSOFT), 2013 Proceedings of the International Conference on
  • Conference_Location
    Montreal, QC
  • Type

    conf

  • DOI
    10.1109/EMSOFT.2013.6658598
  • Filename
    6658598