Cost minimization while satisfying hard/soft timing constraints for heterogeneous embedded systems

In high-level synthesis for real-time embedded systems using heterogeneous functional units (FUs), it is critical to select the best FU type for each task. However, some tasks may not have fixed execution times. This article models each varied execution time as a probabilistic random variable and solves heterogeneous assignment with probability (HAP) problem. The solution of the HAP problem assigns a proper FU type to each task such that the total cost is minimized while the timing constraint is satisfied with a guaranteed confidence probability. The solutions to the HAP problem are useful for both hard real-time and soft real-time systems. Optimal algorithms are proposed to find the optimal solutions for the HAP problem when the input is a tree or a simple path. Two other algorithms, one is optimal and the other is near-optimal heuristic, are proposed to solve the general problem. The experiments show that our algorithms can effectively reduce the total cost while satisfying timing constraints with guaranteed confidence probabilities. For example, our algorithms achieve an average reduction of 33.0% on total cost with 0.90 confidence probability satisfying timing constraints compared with the previous work using worst-case scenario.

[1]  Pierre G. Paulin,et al.  Force-directed scheduling for the behavioral synthesis of ASICs , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[2]  Krithi Ramamritham,et al.  Efficient Scheduling Algorithms for Real-Time Multiprocessor Systems , 1989, IEEE Trans. Parallel Distributed Syst..

[3]  Hugo De Man,et al.  Architecture-driven synthesis techniques for VLSI implementation of DSP algorithms , 1990, Proc. IEEE.

[4]  Alice C. Parker,et al.  The high-level synthesis of digital systems , 1990, Proc. IEEE.

[5]  Keshab K. Parhi,et al.  Static Rate-Optimal Scheduling of Iterative Data-Flow Programs via Optimum Unfolding , 1991, IEEE Trans. Computers.

[6]  Yu-Chin Hsu,et al.  A formal approach to the scheduling problem in high level synthesis , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[7]  J.-P. Wang,et al.  Task Allocation for Maximizing Reliability of Distributed Computer Systems , 1992, IEEE Trans. Computers.

[8]  Kang G. Shin,et al.  Allocation of periodic task modules with precedence and deadline constraints in distributed real-time systems , 1992, [1992] Proceedings Real-Time Systems Symposium.

[9]  Sartaj Sahni,et al.  On the circuit implementation problem , 1992, DAC '92.

[10]  Riccardo Bettati,et al.  End-to-end scheduling to meet deadlines in distributed systems , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.

[11]  Bruce P. Lester The art of parallel programming , 1993 .

[12]  Mohamed I. Elmasry,et al.  Global optimization approach for architectural synthesis , 1990, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[13]  Edwin Hsing-Mean Sha,et al.  Loop Pipelining for Scheduling Multi-Dimensional Systems via Rotation , 1994, 31st Design Automation Conference.

[14]  Ian T. Foster,et al.  Designing and building parallel programs - concepts and tools for parallel software engineering , 1995 .

[15]  Keshab K. Parhi,et al.  Register minimization in cost-optimal synthesis of DSP architectures , 1995, VLSI Signal Processing, VIII.

[16]  Michael Wolfe,et al.  High performance compilers for parallel computing , 1995 .

[17]  Edwin Hsing-Mean Sha,et al.  Static scheduling for synthesis of DSP algorithms on various models , 1995, J. VLSI Signal Process..

[18]  Keshab K. Parhi,et al.  High-level DSP synthesis using concurrent transformations, scheduling, and allocation , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[19]  Jun Sun,et al.  Probabilistic performance guarantee for real-time tasks with varying computation times , 1995, Proceedings Real-Time Technology and Applications Symposium.

[20]  Keshab K. Parhi,et al.  Loop-list scheduling for heterogeneous functional units , 1996, Proceedings of the Sixth Great Lakes Symposium on VLSI.

[21]  Edwin Hsing-Mean Sha,et al.  Scheduling Data-Flow Graphs via Retiming and Unfolding , 1997, IEEE Trans. Parallel Distributed Syst..

[22]  Keshab K. Parhi,et al.  ILP-based cost-optimal DSP synthesis with module selection and data format conversion , 1998, IEEE Trans. Very Large Scale Integr. Syst..

[23]  정영식,et al.  [서평]「Designing and Building parallel Programs」 - Concepts and Tools for parallel software Engineering - , 1998 .

[24]  Asawaree Kalavade,et al.  A tool for performance estimation of networked embedded end-systems , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[25]  Niraj K. Jha,et al.  Safety and Reliability Driven Task Allocation in Distributed Systems , 1999, IEEE Trans. Parallel Distributed Syst..

[26]  L. Zadeh Fuzzy sets as a basis for a theory of possibility , 1999 .

[27]  Edwin Hsing-Mean Sha,et al.  Probabilistic Loop Scheduling for Applications with Uncertain Execution Time , 2000, IEEE Trans. Computers.

[28]  Frank Vahid,et al.  Embedded system design - a unified hardware / software introduction , 2001 .

[29]  Yves Robert,et al.  The Master-Slave Paradigm with Heterogeneous Processors , 2001, CLUSTER.

[30]  Edwin Hsing-Mean Sha,et al.  Estimating probabilistic timing performance for real-time embedded systems , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[31]  Yves Robert,et al.  Static Scheduling Strategies for Heterogeneous Systems , 2002, Comput. Artif. Intell..

[32]  Atakan Dogan,et al.  Matching and Scheduling Algorithms for Minimizing Execution Time and Failure Probability of Applications in Heterogeneous Computing , 2002, IEEE Trans. Parallel Distributed Syst..

[33]  Yves Robert,et al.  Scheduling Strategies for Mixed Data and Task Parallelism on Heterogeneous Clusters , 2003, Parallel Process. Lett..

[34]  Gang Qu,et al.  Approaching the Maximum Energy Saving on Embedded Systems with Multiple Voltages , 2003, ICCAD 2003.

[35]  Gang Qu,et al.  Energy reduction techniques for multimedia applications with tolerance to deadline misses , 2003, DAC.

[36]  Gang Qu,et al.  Exploring the probabilistic design space of multimedia systems , 2003, 14th IEEE International Workshop on Rapid Systems Prototyping, 2003. Proceedings..

[37]  Yi He,et al.  Reliability driven task scheduling for heterogeneous systems , 2003 .

[38]  Larry Carter,et al.  Scheduling strategies for master-slave tasking on heterogeneous processor platforms , 2004, IEEE Transactions on Parallel and Distributed Systems.

[39]  Edwin Hsing-Mean Sha,et al.  Efficient assignment and scheduling for heterogeneous DSP systems , 2005, IEEE Transactions on Parallel and Distributed Systems.

[40]  Yves Robert,et al.  Pipelining Broadcasts on Heterogeneous Platforms , 2005, IEEE Trans. Parallel Distributed Syst..

[41]  Wayne H. Wolf Design Challenges in Multiprocessor Systems-on-Chip , 2006, DIPES.

[42]  Hai Zhou,et al.  Parallel CAD: Algorithm Design and Programming Special Section Call for Papers TODAES: ACM Transactions on Design Automation of Electronic Systems , 2010 .

[43]  James H. Anderson,et al.  Real-Time Multiprocessor Systems with GPUs ∗ , 2010 .