Distributed synthesis of real-time computer systems

High-level synthesis has become commonplace in many areas of computing such as VLSI design and digital signal processing. However, it is just beginning to receive attention in the area of real-time systems. Given a real-time application and a design library of components, high-level synthesis involves three main steps: (i) estimation of processors and resources required to meet the constraints of the application, (ii) identifying suitable architectures using the components from the design library, and (iii) scheduling application tasks on the selected architecture. In this paper, we focus on the first and the third steps of this process. Specifically, we identify key issues in parallelizing these two steps. We then discuss approaches to deal with these issues and present results of our distributed implementation. The results of this implementation on a network of workstations show that considerable speedup in overall runtimes can be achieved by using multiple workstations.

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

[2]  Journal of the Association for Computing Machinery , 1961, Nature.

[3]  Distributed Synthesis Tools for Mission-critical Computer Systems , 1994 .

[4]  Krithi Ramamritham,et al.  Scheduling Tasks with Resource Requirements in Hard Real-Time Systems , 1987, IEEE Transactions on Software Engineering.

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

[6]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[7]  Krithi Ramamritham,et al.  Distributed Scheduling of Tasks with Deadlines and Resource Requirements , 1989, IEEE Trans. Computers.

[8]  Jack Dongarra,et al.  PVM: Parallel virtual machine: a users' guide and tutorial for networked parallel computing , 1995 .

[9]  Riccardo Bettati,et al.  PERTS: A prototyping environment for real-time systems , 1993, 1993 Proceedings Real-Time Systems Symposium.

[10]  Eduardo B. Fernández,et al.  Bounds on the Number of Processors and Time for Multiprocessor Optimal Schedules , 1973, IEEE Transactions on Computers.

[11]  Mayez A. Al-Mouhamed,et al.  Lower Bound on the Number of Processors and Time for Scheduling Precedence Graphs with Communication Costs , 1990, IEEE Trans. Software Eng..

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

[13]  Parameswaran Ramanathan,et al.  Analysis of resource lower bounds in real-time applications , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[14]  David S. Johnson,et al.  Complexity Results for Multiprocessor Scheduling under Resource Constraints , 1975, SIAM J. Comput..

[15]  Krithi Ramamritham,et al.  Allocation and scheduling of complex periodic tasks , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.