CASPER: Concurrent hardware-software co-synthesis of hard real-time aperiodic and periodic specifications of embedded system architectures

Hardware-software co-synthesis of an embedded system requires mapping of its specifications into hardware and software modules such that its real-time and other constraints are met. Embedded system specifications are generally represented by acyclic task graphs. Many embedded system applications are characterized by aperiodic as well as periodic task graphs. Aperiodic task graphs can arrive for execution at any time and their resource requirements vary depending on how their constituent tasks and edges are allocated. Traditional approaches based on a fixed architecture coupled with slack stealing and/or on-line determination of how to serve aperiodic task graphs are not suitable for embedded systems with hard real-time constraints, since they cannot guarantee that such constraints would always be met. In this paper, we address the problem of concurrent co-synthesis of aperiodic and periodic specifications of embedded systems. We estimate the resource requirements of aperiodic task graphs and allocate execution slots on processing elements and communication links for executing them. Our approach guarantees that the deadlines of both aperiodic and periodic task graphs are always met. We have observed that simultaneous consideration of aperiodic task graphs while performing co-synthesis of periodic task graphs is vital for achieving superior results compared to the traditional slack stealing and dynamic scheduling approaches. To the best of our knowledge, this is the first co-synthesis algorithm which provides simultaneous support of periodic and aperiodic task graphs with hard real-time constraints. Application of the proposed algorithm to several examples from real-life telecom transport systems shows that up to 28% and 34% system cost savings are possible over co-synthesis algorithms which employ slack stealing and rate-monotonic scheduling, respectively.

[1]  Alan Burns,et al.  Scheduling slack time in fixed priority pre-emptive systems , 1993, 1993 Proceedings Real-Time Systems Symposium.

[2]  Xiaobo Sharon Hu,et al.  Configuration-level hardware/software partitioning for real-time embedded systems , 1994, CODES.

[3]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[4]  John P. Lehoczky,et al.  Rate-monotonic analysis for real-time industrial computing , 1994, Computer.

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

[6]  Niraj K. Jha,et al.  COSYN: hardware-software co-synthesis of embedded systems , 1997, DAC.

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

[8]  Luciano Lavagno,et al.  Hardware-Software Co-Design of Embedded Systems , 1997 .

[9]  Yacine Atif,et al.  Dynamic scheduling of real-time aperiodic tasks on multiprocessor architectures , 1996, Proceedings of HICSS-29: 29th Hawaii International Conference on System Sciences.

[10]  Vincenzo Piuri,et al.  Hill-climbing heuristics for optimal hardware dimensioning and software allocation in fault-tolerant distributed systems , 1989 .

[11]  Kang G. Shin,et al.  Load sharing with consideration of future task arrivals in heterogeneous distributed real-time systems , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[12]  Lui Sha,et al.  Exploiting unused periodic time for aperiodic service using the extended priority exchange algorithm , 1988, Proceedings. Real-Time Systems Symposium.

[13]  D. Corneil,et al.  An Efficient Algorithm for Graph Isomorphism , 1970, JACM.

[14]  Edward A. Lee,et al.  A hardware-software codesign methodology for DSP applications , 1993, IEEE Design & Test of Computers.

[15]  John P. Lehoczky,et al.  An optimal algorithm for scheduling soft-aperiodic tasks in fixed-priority preemptive systems , 1992, [1992] Proceedings Real-Time Systems Symposium.

[16]  Xiaobo Hu,et al.  Configuration-level hardware/software partitioning for real-time embedded systems , 1994, Third International Workshop on Hardware/Software Codesign.

[17]  James A. Rowson,et al.  Hardware / Software Co-Simulation , 2000 .

[18]  Donald E. Thomas,et al.  Architectural partitioning for system level synthesis of integrated circuits , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[19]  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.

[20]  Frank Vahid,et al.  SpecCharts: a VHDL front-end for embedded systems , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[21]  Joseph Y.-T. Leung,et al.  On the complexity of fixed-priority scheduling of periodic, real-time tasks , 1982, Perform. Evaluation.

[22]  Salim Hariri,et al.  Architectural support for designing fault-tolerant open distributed systems , 1992, Computer.

[23]  Charles U. Martel,et al.  On non-preemptive scheduling of period and sporadic tasks , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[24]  Wayne H. Wolf,et al.  Communication synthesis for distributed embedded systems , 1995, ICCAD.

[25]  John P. Lehoczky,et al.  On-line scheduling of hard deadline aperiodic tasks in fixed-priority systems , 1993, 1993 Proceedings Real-Time Systems Symposium.

[26]  Xiaobo Sharon Hu,et al.  Hardware-Software Partitioning for Real-Time Embedded Systems , 1997, Des. Autom. Embed. Syst..

[27]  Shirish S. Sathaye,et al.  Generalized rate-monotonic scheduling theory: a framework for developing real-time systems , 1994, Proc. IEEE.

[28]  Miodrag Potkonjak,et al.  System-level synthesis of low-power hard real-time systems , 1997, DAC.

[29]  R.K. Gupta,et al.  Constrained software generation for hardware-software systems , 1994, Third International Workshop on Hardware/Software Codesign.

[30]  Charles U. Martel,et al.  Scheduling Periodically Occurring Tasks on Multiple Processors , 1981, Inf. Process. Lett..

[31]  Mani B. Srivastava,et al.  SIERA: a unified framework for rapid-prototyping of system-level hardware and software , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[32]  Ramesh Karri,et al.  Optimal algorithms for synthesis of reliable application-specific heterogeneous multiprocessors , 1995 .

[33]  Ing-Jer Huang,et al.  Synthesis of application specific instruction sets , 1995, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[34]  Klaus Buchenrieder,et al.  A prototyping environment for control-oriented HW/SW systems using state-charts, activity-charts and FPGA's , 1994, EURO-DAC '94.

[35]  Krithi Ramamritham,et al.  Scheduling algorithms and operating systems support for real-time systems , 1994, Proc. IEEE.

[36]  Andrew Wolfe,et al.  TigerSwitch: a case study in embedded computing system design , 1994, Third International Workshop on Hardware/Software Codesign.

[37]  Giovanni De Micheli,et al.  Program implementation schemes for hardware-software systems , 1994, Computer.

[38]  John P. Lehoczky,et al.  Algorithms for scheduling hard aperiodic tasks in fixed-priority systems using slack stealing , 1994, 1994 Proceedings Real-Time Systems Symposium.

[39]  Ishfaq Ahmad,et al.  Dynamic Critical-Path Scheduling: An Effective Technique for Allocating Task Graphs to Multiprocessors , 1996, IEEE Trans. Parallel Distributed Syst..

[40]  Niraj K. Jha,et al.  Hardware-software co-synthesis of fault-tolerant real-time distributed embedded systems , 1995, Proceedings of EURO-DAC. European Design Automation Conference.

[41]  Edward A. Lee,et al.  A global criticality/local phase driven algorithm for the constrained hardware/software partitioning problem , 1994, Third International Workshop on Hardware/Software Codesign.

[42]  D. Kirovski,et al.  System-level Synthesis Of Low-power Hard Real-time Systems , 1997, Proceedings of the 34th Design Automation Conference.

[43]  Joseph Y.-T. Leung,et al.  On-line scheduling of real-time tasks , 1988, Proceedings. Real-Time Systems Symposium.

[44]  Jörg Henkel,et al.  Hardware-software cosynthesis for microcontrollers , 1993, IEEE Design & Test of Computers.

[45]  Hector Garcia-Molina,et al.  Deadline Assignment in a Distributed Soft Real-Time System , 1997, IEEE Trans. Parallel Distributed Syst..

[46]  Alice C. Parker,et al.  SOS: Synthesis of application-specific heterogeneous multiprocessor systems , 2001, J. Parallel Distributed Comput..

[47]  Alan Burns,et al.  Optimal Priority Assignment for Aperiodic Tasks with Firm Deadlines in Fixed Priority Pre-Emptive Systems , 1995, Inf. Process. Lett..