Optimization of task allocation and priority assignment in hard real-time distributed systems

The complexity and physical distribution of modern active safety, chassis, and powertrain automotive applications requires the use of distributed architectures. Complex functions designed as networks of function blocks exchanging signal information are deployed onto the physical HW and implemented in a SW architecture consisting of a set of tasks and messages. The typical configuration features priority-based scheduling of tasks and messages and imposes end-to-end deadlines. In this work, we present and compare formulations and procedures for the optimization of the task allocation, the signal to message mapping, and the assignment of priorities to tasks and messages in order to meet end-to-end deadline constraints and minimize latencies. Our formulations leverage worst-case response time analysis within a mixed integer linear optimization framework and are compared for performance against a simulated annealing implementation. The methods are applied for evaluation to an automotive case study of complexity comparable to industrial design problems.

[1]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[2]  Michael González Harbour,et al.  Schedulability analysis for tasks with static and dynamic offsets , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[3]  Richard Gerber,et al.  Guaranteeing Real-Time Requirements With Resource-Based Calibration of Periodic Processes , 1995, IEEE Trans. Software Eng..

[4]  Alan Burns,et al.  Controller Area Network (CAN) schedulability analysis: Refuted, revisited and revised , 2007, Real-Time Systems.

[5]  Ed F. Deprettere,et al.  A Methodology to Design Programmable Embedded Systems - The Y-Chart Approach , 2001, Embedded Processor Design Challenges.

[6]  Manas Saksena,et al.  Resource conscious design of distributed real-time systems: An end-to-end approach , 1996, Proceedings of ICECCS '96: 2nd IEEE International Conference on Engineering of Complex Computer Systems (held jointly with 6th CSESAW and 4th IEEE RTAW).

[7]  Karl-Erik Årzén,et al.  TrueTime: Simulation of Control Loops Under Shared Computer Resources , 2002 .

[8]  Petru Eles,et al.  Design optimization of mixed time/event-triggered distributed embedded systems , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[9]  Christian Herde,et al.  RTSAT-- An Optimal and Efficient Approach to the Task Allocation Problem in Distributed Architectures , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[10]  Stephen P. Boyd,et al.  A tutorial on geometric programming , 2007, Optimization and Engineering.

[11]  Alberto L. Sangiovanni-Vincentelli,et al.  Optimizing Extensibility in Hard Real-Time Distributed Systems , 2009, 2009 15th IEEE Real-Time and Embedded Technology and Applications Symposium.

[12]  Petru Eles,et al.  Holistic scheduling and analysis of mixed time/event-triggered distributed embedded systems , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[13]  Rolf Ernst,et al.  SymTA/S - Symbolic Timing Analysis for Systems , 2004 .

[14]  Michael González Harbour,et al.  Exploiting precedence relations in the schedulability analysis of distributed real-time systems , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[15]  Rolf Ernst,et al.  Multi-dimensional Robustness Optimization in Heterogeneous Distributed Embedded Systems , 2007, 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS'07).

[16]  G. E. Taylor,et al.  Computer Controlled Systems: Theory and Design , 1985 .

[17]  Karl Johan Åström,et al.  Computer-Controlled Systems: Theory and Design , 1984 .

[18]  Giorgio C. Buttazzo,et al.  Sensitivity analysis for fixed-priority real-time systems , 2006, 11th IEEE Real Time and Embedded Technology and Applications Symposium.

[19]  David Brook Embedded Real Time Operating Systems and the OSEK Standard , 2000 .

[20]  Hermann Kopetz,et al.  Distributed fault-tolerant real-time systems: the Mars approach , 1989, IEEE Micro.

[21]  John P. Lehoczky,et al.  Fixed priority scheduling of periodic task sets with arbitrary deadlines , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[22]  John A. Clark,et al.  Holistic schedulability analysis for distributed hard real-time systems , 1994, Microprocess. Microprogramming.

[23]  J. Javier Gutiérrez,et al.  On the schedulability analysis for distributed hard real-time systems , 1997, RTS.

[24]  Nicolas Navet,et al.  Plasticity--Theory and Application , 1968 .

[25]  Giorgio C. Buttazzo,et al.  Sensitivity Analysis for Fixed-Priority Real-Time Systems , 2006, ECRTS.

[26]  Wei Zheng,et al.  Definition of Task Allocation and Priority Assignment in Hard Real-Time Distributed Systems , 2007, RTSS 2007.

[27]  Christer Norström,et al.  Frame packing in real-time communication , 2000, Proceedings Seventh International Conference on Real-Time Computing Systems and Applications.

[28]  Alan Burns,et al.  Priority Assignment for Global Fixed Priority Pre-Emptive Scheduling in Multiprocessor Real-Time Systems , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[29]  Alan Burns,et al.  Calculating controller area network (can) message response times , 1994 .

[30]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[31]  Wei Zheng,et al.  Definition of Task Allocation and Priority Assignment in Hard Real-Time Distributed Systems , 2007, 28th IEEE International Real-Time Systems Symposium (RTSS 2007).

[32]  Stephen A. Edwards,et al.  The synchronous languages 12 years later , 2003, Proc. IEEE.

[33]  Gerhard Fohler,et al.  Issues in the static allocation and scheduling of complex periodic tasks , 1993 .

[34]  Shoji Suzuki,et al.  EMERALDS-OSEK: A Small Real-Time Operating System for Automotive Control and Monitoring , 1999 .

[35]  Sanjoy K. Baruah,et al.  A Response-Time Bound in Fixed-Priority Scheduling with Arbitrary Deadlines , 2009, IEEE Transactions on Computers.

[36]  Yongxin Zhu,et al.  Task Allocation and Optimization of Distributed Embedded Systems with Simulated Annealing and Geometric Programming , 2010, Comput. J..

[37]  Mathai Joseph,et al.  Finding Response Times in a Real-Time System , 1986, Comput. J..

[38]  Iain Bate,et al.  Incorporating Scenarios And Heuristics To Improve Flexibility In Real-Time Embedded Systems , 2006, 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06).

[39]  Rolf Ernst,et al.  A formal approach to robustness maximization of complex heterogeneous embedded systems , 2006, Proceedings of the 4th International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '06).

[40]  Ragunathan Rajkumar,et al.  Coordinated Task Scheduling, Allocation and Synchronization on Multiprocessors , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[41]  Giorgio C. Buttazzo,et al.  The space of rate monotonic schedulability , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[42]  John P. Lehoczky,et al.  Timing Analysis for Fixed-Priority Scheduling of Hard Real-Time Systems , 1994, IEEE Trans. Software Eng..

[43]  Rolf Ernst,et al.  Applying Sensitivity Analysis in Real-Time Distributed Systems , 2005, IEEE Real-Time and Embedded Technology and Applications Symposium.