This Article 
 Bibliographic References 
 Add to: 
Period-Based Load Partitioning and Assignment for Large Real-Time Applications
January 2000 (vol. 49 no. 1)
pp. 81-87

Abstract—We propose a new approach to the problem of workload partitioning and assignment for very large distributed real-time systems, in which software components are typically organized hierarchically, and hardware components potentially span several shared and/or dedicated links. Existing approaches for load partitioning and assignment are based on either schedulability or communication. The first category attempts to construct a feasible schedule for various assignments and chooses the one that minimizes task lateness (or other similar criteria), while the second category partitions the workload heuristically in accordance with the amount of intertask communication. We propose, and argue for, a (new) third category based on task periods, which, among others, combines the ability of handling heterogeneity with excellent scalability. Our algorithm is a recursive invocation of two stages: clustering and assignment. The clustering stage partitions tasks and processors into clusters. The assignment stage maps task clusters to processor clusters. A later scheduling stage will compute a feasible schedule, if any, when the size of processor clusters reduces to one at the bottom of the recursion tree. We introduce a new clustering heuristic and evaluate elements of the period-based approach using simulations to verify its suitability for large real-time applications. Also presented is an example application drawn from the field of command and control that has the potential to benefit significantly from the proposed approach.

[1] J.K. Strosnider, J.P. Lehoczky, and L. Sha, “The Deferrable Server Algorithm for Enhanced Aperiodic Responsiveness in Hard Real-Time Environments,” IEEE Trans. Computers, vol. 44, no. 1, Jan. 1995.
[2] C.W. Mercer, S. Savage, and H. Tokuda, “Processor Capacity Reserves: An Abstraction for Managing Processor Usage,” WWOS, pp. 129-134, 1993.
[3] W.-P. Chiang, “Optimal Graph Clustering Problems with Applications to Information System Design (Partitioning, Database,” PhD thesis, Univ. of Michigan, 1984.
[4] L. Sha, R. Rajkumar, and S.S. Sathaye, "Generalized Rate-Monotonic Scheduling Theory: A Framework for Developing Real-Time Systems," Proc. IEEE, vol. 82, no. 1, Jan. 1994.
[5] M. Alfano, A. Di-Stefano, L. Lo-Bello, O. Mirabella, and J.H. Stewman, “An Expert System for Planning Real-Time Distributed Task Allocation,” Proc. Florida AI Research Symp., Key West, Fla., May 1996.
[6] C.C. Shen and W.H. Tsai, “A Graph Matching Approach to Optimal Task Assignment in Distributed Computing Systems Using a Minimax Criterion,” IEEE Trans. Computers, vol. 34, no. 3, pp. 197-203, Mar. 1985.
[7] J.B. Sinclair, "Efficient Computation of Optimal Assignments for Distributed Tasks, J. Parallel and Distributed Computing, vol. 4, pp. 342-362, 1987.
[8] P.Y.R. Ma et al., “A Task Allocation Model for Distributed Computing Systems,” IEEE Trans. Computers, vol. 31, no. 1, pp. 41-47, Jan. 1982.
[9] K. Ramamritham, “Allocation and Scheduling of Precedence-Related Periodic Tasks,” IEEE Trans. Parallel and Distributed Systems, vol. 6, no. 4, pp. 412-420, Apr. 1995.
[10] D.-T. Peng and K.G. Shin, "Static Allocation of Periodic Tasks with Precedence Constraints," Proc. Int'l Conf. Distributed Computing Systems, 1989.
[11] C.-J. Hou and K.G. Shin, "Replication and Allocation of Task Modules in Distributed Real-Time Systems," Proc. 24th IEEE Symp. Fault-Tolerant Computing Systems, pp. 26-35, June 1994.
[12] S.B. Shukla and D.P. Agrawal, “A Framework for Mapping Periodic Real-Time Applications on Multicomputers,” IEEE Trans. Parallel and Distributed Systems, vol. 5, no. 7, pp. 778–784, July 1994.
[13] E. Wells and C.C. Caroll, “An Augmented Approach to Task Allocation: Combining Simulated Annealing with List-Based Heuristics,” Proc. Euromicro Workshop, pp. 508-515, 1993.
[14] Y. Oh and S.H. Son, "Scheduling Hard Real-Time Tasks with Tolerance to Multiple Processor Failures," Multiprocessing and Multiprogramming, vol. 40, pp. 193-206, 1994.
[15] T.-S. Tia and J. W.-S. Liu, “Assigning Real-Time Tasks and Resources to Distributed Systems,” Int'l J. Minim and Microcomputers, vol. 17, no. 1, pp. 18-25, 1995.
[16] S.S. Wu and D. Sweeping, “Heuristic Algorithms for Task Assignment and Scheduling in a Processor Network,” Parallel Computing, vol. 20, pp. 1-14, 1994.
[17] A. Burchard, J. Liebeherr, Y. Oh, and S.H. Son, “Assigning Real-Time Tasks to Homogeneous Multiprocessor Systems,” IEEE Trans. Computers, vol. 44, no. 12, pp. 1429-1442, Dec. 1995.
[18] Y. Oh and S.H. Son, Allocating Fixed-Priority Periodic Tasks on Multiprocessor Systems Real-Time Systems, vol. 9, pp. 207-239, 1995.
[19] W. Kernighan and S. Lin, “An Efficient Heuristci Procedure for Partitioning Graphs,” Bell System Technical J., vol. 49, pp. 291-307, 1970.
[20] D.G. Schweikert and B.W. Kernighan, “A Proper Model for the Partitioning of Electrical Circuits,” Proc. Ninth ACM/IEEE Design Automation Conf., pp. 57–62, 1972.
[21] C.M. Fiduccia and R.M. Mattheyses, "A Linear Time Heuristic for Improving Network Partitions," Proc. 19th Design Automation Conf., pp. 175-181, 1982.
[22] C. Kring and A.R. Newton, “A Cell-Replicating Approach to Mincut-Based Circuit Partitioning,” Proc. IEEE Int'l Conf. Computer-Aided Design, pp. 2-5, Nov. 1991.
[23] S. Kirkpatrick, C. Gallet, and M.P. Vecchi, “Optimization by Simulated Annealing,” Science, vol. 220, pp. 671-680, May 1983.
[24] J. Cohoon and W. Paris, “Genetic Placement,” Proc. IEEE Int'l Conf. Commputer-Aided Design, pp. 422-425, 1986.

Index Terms:
Task allocation, task partitioning, inhomogeneous networks, real-time scheduling.
Tarek F. Abdelzaher, Kang G. Shin, "Period-Based Load Partitioning and Assignment for Large Real-Time Applications," IEEE Transactions on Computers, vol. 49, no. 1, pp. 81-87, Jan. 2000, doi:10.1109/12.822566
Usage of this product signifies your acceptance of the Terms of Use.