Greedy Heuristics for Resource Allocation in Dynamic Distributed Real-Time Heterogeneous Computing Systems

Recently, with the widespread use of increasingly powerful commercial off-the-shelf (COTS) products, some real-time distributed system designers have started a shift from custom-made systems to COTS-based systems to get lower costs and more flexible systems. This research investigates the problem of allocating real-time applications to a set of COTS heterogeneous machines connected together by a COTS high-speed network. For the intended distributed real-time system, the work presented in this paper includes characterizing and modeling the applications and the hardware platform, identifying and quantifying the performance goal, and designing and developing heuristics for allocating the applications so as to optimize the performance goal. Each application has certain quality of service (QoS) constraints that must not be violated (i.e., constraints on the end-to-end latency and throughput). Unlike most of the related work in real-time systems, the focus of this work is on finding an initial static allocation of the applications onto the machines to maximize the allowable increase in workload until a dynamic reallocation of resources is required to avoid a QoS violation. This paper presents and compares three greedy heuristics to solve the initial mapping problem. Keywords— Real-time systems, heterogeneous computing, distributed computing, resource allocation.

[1]  Lonnie R. Welch,et al.  A dynamic real-time benchmark for assessment of QoS and resource management technology , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[2]  Oscar H. Ibarra,et al.  Heuristic Algorithms for Scheduling Independent Tasks on Nonidentical Processors , 1977, JACM.

[3]  XuJia,et al.  Scheduling Processes with Release Times, Deadlines, Precedence and Exclusion Relations , 1990 .

[4]  R. F. Freund,et al.  Scheduling resources in multi-user, heterogeneous, computing environments with SmartNet , 1998, Proceedings Seventh Heterogeneous Computing Workshop (HCW'98).

[5]  Lawrence W. Dowdy,et al.  Static Processor Allocation in a Soft Real-Time Multiprocessor Environment , 1994, IEEE Trans. Parallel Distributed Syst..

[6]  David Fernández-Baca,et al.  Allocating Modules to Processors in a Distributed System , 1989, IEEE Trans. Software Eng..

[7]  Michael W. Godfrey,et al.  An overview of MSHN: the Management System for Heterogeneous Networks , 1999, Proceedings. Eighth Heterogeneous Computing Workshop (HCW'99).

[8]  Ioana Banicescu,et al.  Performance of scheduling scientific applications with adaptive weighted factoring , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[9]  Kwei-Jay Lin,et al.  Scheduling Real-Time Systems with End-to-End Timing Constraints Using the Distributed Pinwheel Model , 2001, IEEE Trans. Computers.

[10]  W. Tindell AN EXTENDIBLE APPROACH FOR ANALYSING FIXED PRIORITY HARD REAL-TIME TASKS , 1994 .

[11]  Rodney R. Howell,et al.  On Non-Preemptive Scheduling of Recurring Tasks Using Inserted Idle Times , 1995, Inf. Comput..

[12]  Ladislau Bölöni,et al.  A Comparison of Eleven Static Heuristics for Mapping a Class of Independent Tasks onto Heterogeneous Distributed Computing Systems , 2001, J. Parallel Distributed Comput..

[13]  A. A. Maciejewski,et al.  Heterogeneous Computing , 2002 .

[14]  Edward G. Coffman,et al.  Computer and job-shop scheduling theory , 1976 .

[15]  Lonnie R. Welch,et al.  Quality of Service Negotiation for Distributed, Dynamic Real-Time Systems , 2000, IPDPS Workshops.

[16]  J. Leung,et al.  A Note on Preemptive Scheduling of Periodic, Real-Time Tasks , 1980, Inf. Process. Lett..

[17]  Binoy Ravindran,et al.  Specification and modeling of dynamic, distributed real-time systems , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[18]  Ami Marowka,et al.  The GRID: Blueprint for a New Computing Infrastructure , 2000, Scalable Comput. Pract. Exp..

[19]  Alan Burns,et al.  Hard Real-Time Scheduling: The Deadline-Monotonic Approach , 1991 .

[20]  Jay K. Strosnider,et al.  ENHANCED APERIODIC RESPONSIVENESS IN HARD REAL-TIME ENVIRONMENTS. , 1987, IEEE Real-Time Systems Symposium.

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

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

[23]  Maryline Chetto,et al.  Some Results of the Earliest Deadline Scheduling Algorithm , 1989, IEEE Transactions on Software Engineering.

[24]  Sanjoy K. Baruah,et al.  Preemptively scheduling hard-real-time sporadic tasks on one processor , 1990, [1990] Proceedings 11th Real-Time Systems Symposium.

[25]  Lonnie R. Welch,et al.  Network Load Monitoring in Distributed Systems , 2000, IPDPS Workshops.

[26]  Krithi Ramamritham,et al.  Preemptive Scheduling Under Time and Resource Constraints , 1987, IEEE Transactions on Computers.

[27]  John P. Lehoczky,et al.  The rate monotonic scheduling algorithm: exact characterization and average case behavior , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[28]  Sadiq M. Sait,et al.  Task matching and scheduling in heterogeneous systems using simulated evolution , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[29]  John P. Lehoczky,et al.  Fixed priority scheduling periodic tasks with varying execution priority , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[30]  Hong Zhang,et al.  Segmented min-min: a static mapping algorithm for meta-tasks on heterogeneous computing systems , 2000, Proceedings 9th Heterogeneous Computing Workshop (HCW 2000) (Cat. No.PR00556).

[31]  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).

[32]  Binoy Ravindran,et al.  DeSiDeRaTa: QoS Management Technology for Dynamic, Scalable, Dependable, Real-Time Systems , 1998 .

[33]  John A. Stankovic,et al.  Scheduling Distributed Real-Time Tasks with Minimum Jitter , 2000, IEEE Trans. Computers.

[34]  Ian Foster,et al.  Designing and building parallel programs , 1994 .

[35]  R. F. Freund,et al.  Dynamic Mapping of a Class of Independent Tasks onto Heterogeneous Computing Systems , 1999, J. Parallel Distributed Comput..

[36]  Ian Foster,et al.  The Grid 2 - Blueprint for a New Computing Infrastructure, Second Edition , 1998, The Grid 2, 2nd Edition.

[37]  David Lorge Parnas,et al.  Scheduling Processes with Release Times, Deadlines, Precedence, and Exclusion Relations , 1990, IEEE Trans. Software Eng..

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

[39]  Lonnie R. Welch,et al.  Accommodating QoS Prediction in an Adaptive Resource Management Framework , 2000, IPDPS Workshops.

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

[41]  Kang G. Shin,et al.  Assignment and Scheduling Communicating Periodic Tasks in Distributed Real-Time Systems , 1997, IEEE Trans. Software Eng..

[42]  Debra A. Hensgen,et al.  The relative performance of various mapping algorithms is independent of sizable variances in run-time predictions , 1998, Proceedings Seventh Heterogeneous Computing Workshop (HCW'98).

[43]  Viktor K. Prasanna,et al.  Utilization-based heuristics for statically mapping real-time applications onto the HiPer-D heterogeneous computing system , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[44]  Viktor K. Prasanna,et al.  A metric and mixed-integer-programming-based approach for resource allocation in dynamic real-time systems , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[45]  Howard Jay Siegel,et al.  Representing Task and Machine Heterogeneities for Heterogeneous Computing Systems , 2000 .

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

[47]  A.-M. Deplanche,et al.  Heuristic techniques for allocating and scheduling communicating periodic tasks in distributed real-time systems , 2000, 2000 IEEE International Workshop on Factory Communication Systems. Proceedings (Cat. No.00TH8531).

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

[49]  Binoy Ravindran,et al.  Adaptive QoS and resource management using a posteriori workload characterizations , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[50]  Dr. Zbigniew Michalewicz,et al.  How to Solve It: Modern Heuristics , 2004 .

[51]  Anthony A. Maciejewski,et al.  Heterogeneous Computing: Goals, Methods, and Open Problems , 2001, HiPC.

[52]  Ray Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[53]  Howard Jay Siegel,et al.  Heterogeneous Distributed Computing , 1999 .