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
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;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
DOI :
10.1109/TPDS.2012.41