This Article 
 Bibliographic References 
 Add to: 
Assignment and Scheduling Communicating Periodic Tasks in Distributed Real-Time Systems
December 1997 (vol. 23 no. 12)
pp. 745-758

Abstract—We present an optimal solution to the problem of allocating communicating periodic tasks to heterogeneous processing nodes (PNs) in a distributed real-time system. The solution is optimal in the sense of minimizing the maximum normalized task response time, called the system hazard, subject to the precedence constraints resulting from intercommunication among the tasks to be allocated. Minimization of the system hazard ensures that the solution algorithm will allocate tasks so as to meet all task deadlines under an optimal schedule, whenever such an allocation exists. The task system is modeled with a task graph (TG), in which computation and communication modules, communication delays, and intertask precedence constraints are clearly described. Tasks described by this TG are assigned to PNs by using a branch-and-bound (B&B) search algorithm. The algorithm traverses a search tree whose leaves correspond to potential solutions to the task allocation problem. We use a bounding method that prunes, in polynomial time, nonleaf vertices that cannot lead to an optimal solution, while ensuring that the search path leading to an optimal solution will never be pruned. For each generated leaf vertex we compute the exact cost using the algorithm developed in [1]. The lowest-cost leaf vertex (one with the least system hazard) represents an optimal task allocation. Computational experiences and examples are provided to demonstrate the concept, utility, and power of the proposed approach.

[1] D. Peng and K.G. Shin, "Optimal Scheduling of Cooperative Tasks in a Distributed System Using an Enumerative Method," IEEE Trans. Software Eng., vol. 19, no. 3, pp. 253,-267, Mar. 1993.
[2] 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.
[3] K.G. Shin and Y.-C. Chang, "Load Sharing in Distributed Real-Time Systems with State Change Broadcasts," IEEE Trans. Computers, vol. 38, no. 8, pp. 1,1224-1,142, Aug. 1989.
[4] K.K. Goswami, M. Devarakonda, and R.K. Iyer, "Prediction-Based Dynamic Load-Sharing Heuristics," IEEE Trans. Parallel and Distributed Systems, vol. 4, no. 6, pp. 638-648, June 1993.
[5] K.G. Shin and C.-J. Hou, "Analytic Models of Adaptive Load Sharing Schem es in Distributed Real-Time Systems," IEEE Trans. Parallel and Distributed Systems, vol. 4, no. 7, pp. 740-761, July 1993.
[6] K.R. Baker, Introduction to Sequencing Scheduling. John Wiley&Sons, 1974.
[7] W.W. Chu, "Task Allocation in Distributed Data Processing," Computer, vol. 13, pp. 57-69, Nov. 1980.
[8] W.W. Chu and L.M-T. Lan,“Task allocation and precedence relations for distributed real-time systems,” IEEE Trans. on Computers, vol. 36, no. 6, June 1982.
[9] S. French, Sequencing and Scheduling. Halsted Press, 1982.
[10] R.E.D. Woolsey and H.S. Swanson, Operations Research for Immediate Applications: A Quick and Dirty Manual. Harper and Row, 1974.
[11] S. Selvakumar and C.S.R. Murthy, "Static Task Allocation of Concurrent Programs for Distributed Computing Systems with Processor and Resource Heterogeneity," J. Parallel Computing, vol. 20, no. 6, pp. 835-851, 1994.
[12] H.H. Ali and H. El-Rewini, "Task Allocation in Distributed Sytems: A Split Graph Model," J. Computer Math. Combination Computing, vol. 14, no. 1, pp. 15-32, Jan. 1993.
[13] A. Billionnet, M.-C. Costa, and A. Sutter, "An Efficient Algorithm for a Task Allocation Problem," J. ACM, vol. 39, no. 3, pp. 502-518, Mar. 1992.
[14] S.H. Bokhari, "A Network Flow Model for Load Balancing in Circuit-Switched Multicomputers," IEEE Trans. Parallel and Distributed Systems, vol. 4, no. 6, pp. 649-657, June 1993.
[15] S.K. Dhall and C.L. Liu, "On a Real-Time Scheduling Problem," Operations Research, vol. 26, no. 1, pp. 127-140, 1978.
[16] C.L. Liu and J.W. Layland, “Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment,” J. ACM, vol. 20, no. 1, pp. 40-61, 1973.
[17] O. Serlin, "Scheduling of Time Critical Processes," Proc. AFIPS 1972 Spring Joint Computer Conf., pp. 925-932,Montvale, N.J., AFIPS Press, 1972.
[18] H.S. Stone, "Multiprocessor Scheduling with the Aid of Network Flow Algorithms" IEEE Trans. Software Eng., vol. 3, no. 1, pp. 85-93, Jan. 1977.
[19] H.S. Stone and S.H. Bokhari, "Control of Distributed Processes," Computer, vol. 11, pp. 97-106, July 1978.
[20] 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.
[21] 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.
[22] J.B. Sinclair, "Efficient Computation of Optimal Assignments for Distributed Tasks, J. Parallel and Distributed Computing, vol. 4, pp. 342-362, 1987.
[23] V.M. Lo, "Heuristic Algorithms for Task Assignment in Distributed Systems," IEEE Trans. Computers, vol. 37, no. 11, pp. 1,384-1,397, Nov. 1988.
[24] E.G. Coffman, Computer and Job-Shop Scheduling Theory.New York: John Wiley&Sons, 1976.
[25] M.R. Garey and D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness.New York: W.H. Freeman, 1979.
[26] J.K. Lenstra and A.H.G.R. Kan, "Complexity of Scheduling Under Precedence Constraints," Operations Research, vol. 26, no. 1, pp. 23-35, Jan. 1978.
[27] E.L. Lawler, "Deterministic and Stochastic Scheduling," Recent Developments in Deterministic Sequencing and Scheduling: A Survey, pp. 35-74.The Netherlands: Reidel, Dordrecht, 1982.
[28] H. Kasahara and S. Narita, "Practical Multiprocessor Scheduling Algorithms for Efrficient Parallel Processing," IEEE Trans. Computers, vol. 33, no. 11, pp. 1,023-1,029, Nov. 1984.
[29] W.W. Chu and K. Leung, "Module Replication and Assignment for Real-Time Distributed Processing Systems," Proc. IEEE, vol. 75, no. 5, pp. 547-562, May 1987.
[30] W.H. Kohler and K. Steiglitz, "Computer and Job-Shop Scheduling Theory," Enumerative and Iterative Computational Approach, pp. 229-287. John Wiley&Sons, 1976.
[31] 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.
[32] P. Altenbernd, C. Ditze, P. Laplante, and W. Halang, "Allocation of Periodic Real-Time Tasks," Proc. 20th IFAC/IFIP Workshop,Fort Lauderdale, Fla., Nov. 1995.
[33] J.L. Lanet, "Task Allocation in a Hard Real-Time Distributed System," Proc. Second Conf. Real-Time Systems, pp. 244-252,Szlarska Poreba, Poland, Sept. 1995.
[34] T.C. Lueth and T. Laengle, “Task Description, Decomposition and Allocation in a Distributed Autonomous Multi-Agent Robot System,” Proc. Int'l Conf. Intelligent Robots and Systems, pp. 1,516-1,523, Sept. 1994.
[35] C.M. Hopper and Y. Pan, “Task Allocation in Distributed Computer Systems through an AI Planner Solver,” Proc. IEEE 1995 Nat'l Aerospace and Electronics Conf., vol. 2, pp. 610-616, May 1995.
[36] B.R. Tsai and K.G. Shin, “Assignment of Task Modules in Hypercube Multicomputers with Component Failures for Communication Efficiency,” IEEE Trans. Computers, vol. 43, no. 5, pp. 613-618, May 1994.
[37] K.G. Shin and C.J. Hou, “Evaluation of Load Sharing in Harts with Consideration of Its Communication Activities,” IEEE Trans. Parallel and Distributed Systems, vol. 7, no. 7, pp. 724-739, July 1996.
[38] S.M. Yoo and H.Y. Youn, “An Efficient Task Allocation Scheme for Two Dimensional Mesh-Connected Systems,” Proc. 15th Int'l Conf. Distributed Computing Systems, pp. 501-508, 1995.
[39] S. Kirkpatrick, C. Gelatt, and M. Vecchi, "Optimization by Simulated Annealing," Science, vol. 220, pp. 671-680, 1983.
[40] K. Tindell, A. Burns, and A. Wellings, “Allocating Hard Real-Time Tasks: An NP-Hard Problem Made Easy,” J. Real-Time Systems, vol. 4, no. 2, pp. 145-166, May 1992.
[41] 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.
[42] J.E. Beck and D.P. Siewiorek, “Simulated Annealing Applied to Multicomputer Task Allocation and Processor Specification,” Proc. Eighth IEEE Symp. Parallel and Distributed Processing, pp. 232-239, Oct. 1996.
[43] S.T. Cheng, S.I. Hwang, and A.K. Agrawala, “Schedulability Oriented Replication of Periodic Tasks in Distributed Real-Time Systems,” Proc. 15th Int'l Conf. Distributed Computing Systems, 1995.
[44] 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.
[45] 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.
[46] 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.
[47] 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.
[48] J. Xu, “Multiprocessor Scheduling of Processes with Release Times, Deadlines, Precedence, and Exclusion Relations,” IEEE Trans. Software Eng., vol. 19, no. 2, pp. 139-154, Feb. 1993.
[49] P. Scholz and E. Harbeck, "Task Assignment for Distributed Computing," Proc. 1997 Conf. Advances in Parallel and Distributed Computing, pp. 270-277,Shanghai, China, Mar. 1997.
[50] 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.
[51] 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.
[52] K.G. Ashin and S. Daniel, "Analysis and Implementation of Hybrid Switching," IEEE Trans. Computers, pp. 211-219, 1995.
[53] D.D. Kandlur, K.G. Shin, and D. Ferrari, “Real-Time Communication in Multi-Hop Networks,” IEEE Trans. Parallel and Distributed Systems, vol. 5, no. 10, pp. 1,044-1,056, Oct. 1994.
[54] D.-T. Peng and K.G. Shin, "A New Performance Measure for Scheduling Independent Real-Time Tasks," J. Parallel and Distributed Computing, vol. 19, no. 1, pp. 11-26, Sept. 1993.
[55] K.R. Baker et al., "Preemptive Scheduling of a Single Machine to Minimize Maximum Cost Subject to Release Dates and Precedence Constraints," Operations Research, vol. 31, no. 2, pp. 381-386, Mar. 1983.

Index Terms:
Branch-and-bound (B&B) algorithm, computation and communication modules, intertask communication, precedence and timing constraints, task invocation and release times, lower-bound cost.
Dar-Tzen Peng, Kang G. Shin, Tarek F. Abdelzaher, "Assignment and Scheduling Communicating Periodic Tasks in Distributed Real-Time Systems," IEEE Transactions on Software Engineering, vol. 23, no. 12, pp. 745-758, Dec. 1997, doi:10.1109/32.637388
Usage of this product signifies your acceptance of the Terms of Use.