• DocumentCode
    1436341
  • Title

    Software Pipelining for Stream Programs on Resource Constrained Multicore Architectures

  • Author

    Wei, Haitao ; Yu, Junqing ; Yu, Huafei ; Qin, Mingkang ; Gao, Guang R.

  • Author_Institution
    Sch. of Comput. Sci. & Technol., HuaZhong Univ. of Sci. & Technol., Wuhan, China
  • Volume
    23
  • Issue
    12
  • fYear
    2012
  • Firstpage
    2338
  • Lastpage
    2350
  • Abstract
    Stream programming model has been productively applied to a number of important application domains. Software pipelining is an important code scheduling technique for stream programs. However, the multicore evolution has presented a new dimension of challenges: that is how to orchestrate the best software pipelining schedule in the face of resource constrained architectures (e.g., number of cores, available memory, and bandwidth)? In this paper, we proposed a new solution methodology to address the problem above. Our main contributions include the following. A unified Integer Linear Programming (ILP) formulation has been proposed that combines the requirement of both rate-optimal software pipelining and the minimization of intercore communication overhead. Next, an extended formulation has been proposed to formulate the schedule under memory size constrained systems. It orchestrates the rate-optimal software pipelining execution for stream programs with strict memory, processor cores, and communication constraints. A solution testbed has been implemented for the proposed problem formulations. This has been realized by extending the Brook programming environment with our software pipelining support-named DFBrook. An experimental study has been conducted to verify the effectiveness of the proposed solutions.
  • Keywords
    integer programming; linear programming; multiprocessing systems; parallel architectures; pipeline processing; processor scheduling; programming environments; DFBrook; ILP formulation; code scheduling; communication constraint; integer linear programming; intercore communication overhead; memory size constrained system; multicore evolution; processor core; programming environment; rate-optimal software pipelining; resource constrained architecture; resource constrained multicore architecture; software pipelining schedule; stream programming model; Memory management; Multicore processing; Pipeline processing; Resource management; Schedules; Multicore; resource constrained; software pipelining; stream programs;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2012.41
  • Filename
    6143921