This Article 
 Bibliographic References 
 Add to: 
Experimental Evaluation of a Real-Time Scheduler for a Multiprocessor System
January 1991 (vol. 17 no. 1)
pp. 34-44

A description is given of the design, implementation, and experimental evaluation of a multiprocessor scheduler used with robotics applications and other real-time programs. The scheduler makes decisions concerning both the assignment of processes and the scheduling of these processes on each processor such that a near-optimal numer of processor deadlines is satisfied. It assumes that process execution times, deadlines, and earliest possible start times are known.

[1] T. Bihari, D. Pugh, T. Walliser, and E. Ribble, "Timing analysis of a robot motion-planning algorithm," inProc. Seventh IEEE Workshop Real-Time Operating Systems and Software, Univ. Virginia, Charlottesville, May 1990, pp. 104-107.
[2] T. Bihari and K. Schwan, "A comparison of four adaptation algorithms for increasing the reliability of real-time software," inProc. Ninth Real-Time Systems Symp., Huntsville, AL, Dec. 1988, pp. 232-241.
[3] B. Blake, "A fast, efficient scheduling framework for parallel computing systems," Ph.D. dissertation, Dep. Comput. Inform. Sci., Ohio State Univ., Dec. 1989.
[4] H.-Y. Chang and M. Livny, "Distributed scheduling under deadline constraints: A comparison of sender-initiated and receiver-initiated approaches," inProc. IEEE Real-Time Systems Symp., New Orleans, LA, Dec. 1986, pp. 175-180.
[5] S. Cheng, J. A. Stankovic, and K. Ramamritham, "Dynamic scheduling of groups of tasks with precedence constraints in distributed hard real-time systems," inProc. IEEE Real-Time Systems Symp., New Orleans, LA, Dec. 1986, pp. 166-174.
[6] D. R. Cheriton and W. Zwaenepol, "The distributed v kernel and its performance for diskless workstations," inProc. 9th Symp. Operating System Principles, ACM SIGOPS, Bretton Woods, NH, Oct. 1983, pp. 128-139.
[7] T. C. K. Chou and J. A. Abraham, "Load balancing in distributed systems,"IEEE Trans. Software Eng., vol. SE-8, no. 4, pp. 401-412, July 1982.
[8] J.-Y. Chung and J.W.S. Liu, "Algorithms for scheduling periodic jobs to minimize average error," inProc. IEEE Real-Time Systems symp., Huntsville, AL, pp. 142-151.
[9] G. Cox, W. M. Corwin, K. K. Lai, and F. J. Pollack, "A unified model and implementation for interprocess communication in a multiprocessor environment," inProc. 8th ACM Symp. Operating System Principles, Asilomar, CA, Dec. 1981, pp. 44-53.
[10] M. L. Dertouzos and A. K. Mok, "Multiprocessor on-line scheduling of hard-real-time tasks,"IEEE Trans. Soffware Eng., vol. 15, no. 12, pp. 1497-1506, Dec. 1989.
[11] D. L. Eager, E. D. Lazowska, and J. Zahorjan, "Dynamic load sharing in homogeneous distributed systems," Univ. Washington, Tech. Rep. 84-10-01, 1984.
[12] C. Gao, J. W. S. Lui, and M. Railey, "Load balancing algorithms in homogeneous distributed systems," inProc. Fourth IEEE Int. Conf. Distributed Computing Systems, 1984, pp. 302-306.
[13] E.F. Gehringer, D.P. Siewiorek, and Z. Segall,Parallel Processing: The Cm*Experience, Digital Press, Billerica, Mass., 1987.
[14] A. Gheith and K. Schwan, "CHAOSart: Support for real-time atomic transactions," inProc. 19th Int. Symp. Fault Tolerant Comput., IEEE, 1989, pp. 462-469.
[15] P. Gopinath, P. Wiley, and K. Schwan, "What price objects? Evaluating a real-time, adaptable, object-based svstem,"Real-Time Systems Newslett., vol. 5, no. 3, pp.-29-34, Oct. 1989.
[16] R. Gupta and P. Gopinath, "A hierarchical approach to load-balancing distributed systems," inProc. Fifth IEEE Distributed Memory Computing Conf., 1990, to be published; also available as Philips Tech. Rep. TN-89-046.
[17] V. B. Gylys, "Optimal partitioning of workload for distributed systems," inProc. Annu. Computer Conf. (COMPCON), IEEE, Oct. 1976, pp. 353-357.
[18] A. L. Hopkins, T. B. Smith, and J. H. Lala, "Ftmp--a highly reliable fault-tolerant multiprocessor for aircraft,"Proc. IEEE, vol. 66, no. 10, pp. 1221-1240, Oct. 1978.
[19] A. K. Jones, R. J. Chansler, I. Durham, P. Feiler, and K. Schwan, "Software management of cm*: A distributed multiprocessor," inProc. Nat. Computer Conf., ACM, 1977, pp. 657-663.
[20] A. K. Jones, R. J. Chansler, I. Durham, J. Mohan, K. Schwan, and S. Vegdahl, "Staros, a multiprocessor operating system," inProc. 7th ACM Symp. Operating System Principles, Asilomar, CA, Dec. 10-12, 1979, pp. 117-127.
[21] J. P. Lehoczky and L. Sha, "Performance of real-time bus scheduling algorithms,"ACM Perform. Eval. Rev., Special Issue, vol. 14, no. 1, May 1986.
[22] J. P. Lehoczky, L. Sha, and J. K. Strosnider, "Enhanced aperiodic responsiveness in hard real-time environments," inProc. IEEE Real-Time Systems Symp., San Jose, CA, 1987, pp. 261-270.
[23] R. Levin, E. Cohen, W. Corwin, F. Pollack, and W. Wulf, "Policy/mechanism separation in hydra," inProc. 5th Symp. Opeating System Principles, ACM SIGOPS, Austin, TX, Nov. 1975.
[24] V. M. Lo, "Task assignment to minimize completion time," inProc. Fifth IEEE Int. Conf: Distributed Computing Systems, Denver, CO, May 1985, pp. 329-336.
[25] C. D. Locke, "Best-effort decision making for real-time scheduling," Ph.D dissertation, Carnegie-Mellon Univ., 1986.
[26] L. Maher and S. J. Larimer, "Continuous reconfiguration in a multimicroprocessor flight control system," inProc. AGARD Avionics Panel Tactical Airborne Distributed Computing and Networks, June 1981.
[27] R. B. McGhee,Vehicular Legged Locomotion. New York: Jai Press, 1985, pp. 259-284.
[28] R. B. McGhee and G. I. Iswandhi, "Adaptive locomotion of a multilegged robot over rough terrain,"IEEE Trans. Syst, Man, Cybern., vol. SMC-9, no. 4, pp. 176-182, Apr. 1979.
[29] R. B. McGhee, D. E. Orin, D. R. Pugh, and M. R. Patterson, "A hierarchically-structured system for computer control of a hexapod walking machine," inProc. 5th IFTOMM Symp. Robots and Manipulator Systems, Udine, Italy, June 1984.
[30] P. M. Melliar-Smith, "Permissible processor loadings for various scheduling algorithms," Stanford Research Institute-International, Tech. Rep., 1976.
[31] A. K. Mok, "Fundamental problems of distributed systems for hard real-time environment," Ph.D dissertation, Lab. Comput. Sci., Massachusetts Inst. Technol., May 1983.
[32] M. L. Ni, C. Xu, and T. B. Gendreau, "Drafting algorithm-A dynamic process migration protocol for distributed systems," inProc. Fifth IEEE Int. Conf. Distributed Computing Systems, May 1985, pp. 539-546.
[33] D. E. Orin and W. W. Schrader, "Efficient computation of the jacobian for robot manipulators,"Int. J. Robotic Res., vol. 4, no. 1, Spring 1985.
[34] J. K. Ousterhout, "Scheduling techniques for concurrent systems," inProc. 3rd IEEE Conf. Distributed Computing Systems, Miami, FL, Oct. 1982, pp. 22-30.
[35] R. Rajkumar, L. Sha, and J. P. Lehoczky, "On countering the effects of cycle-stealing in a hard real-time environment," inProc. IEEE Real-Time Systems Symp., San Jose, CA, 1987, pp. 2-11.
[36] K. Ramamritham and J. A. Stankovic, "Dynamic task scheduling in hard real-time distributed systems,"IEEE Software, vol. 1, n. 3, pp. 65-75, July 1984.
[37] G. S. Rao, H. S. Stone and T. C. Hu, "Assignment of tasks in a distributed system with limited memory,"IEEE Trans. Comput., vol. C-28, no. 4, pp. 291-299, Apr. 1979.
[38] K. Schwan, N. Bauman, W. Bo, F. Ercal, and P. Sadayappan, "Mapping parallel applications to a hypercube," inProc. Second SIAM Int. Conf. Hypercube Multiprocessors, Oakridge Nat. Labs., Knoxville, TN, Sept. 1986.
[39] K. Schwan, T. E. Bihari, and B. Blake, "Adaptive, reliable software for distributed and parallel, real-time systems," inSixth IEEE Symp. Reliability in Distributed Software, Williamsburg, VA, Mar. 1987, pp. 32-44.
[40] K. Schwan, T. Bihari, B. W. Weide, and G. Taulbee, "Gem: Operating system primitives for robots and real-time control," inProc. IEEE Int. Conf. Robotics and Automation, St. Louis, MO, Mar. 1985, pp. 807-813, extended abstract; also published as article inACM TOCS, and available as Tech. Rep. OSU-CISRC- 86TR1KS.
[41] K. Schwan, T. Bihari, B. W. Weide, and G. Taulbee, "High-performance operating system primitives for robotics and real-time control systems,"ACM Trans. Comput. Syst., vol. 5, no. 3, pp. 189-231, Aug. 1987.
[42] K. Schwan and B. Blake, "A fast scheduling mechanism for real-time systems," Dep. Comput. Inform. Sci., Ohio State Univ., Tech. Rep. OSU-CISRC-5/87-TR16, Sept. 1987; being revised for publication.
[43] K. Schwan, B. Blake, W. Bo, and J. Gawkowski, "Global data and control in multicomputers: Operating system primitives and experimentation with a parallel branch-and-bound algorithm," inConcurrency: Practice and Experience. New York: Wiley, 1989, pp. 191-218.
[44] K. Schwan, W. Bo and P. Gopinath, "A high-performance, object-based operating system for real-time, robotics applications," inProc. IEEE 1986 Real-Time Systems Symp., New Orleans, LA, Dec. 1986, pp. 147-156.
[45] K. Schwan and C. Gaimon, "Automating resource allocation in the cm*multiprocessor," inProc. Fifth Int. Conf. Distributed Computing Systems, Denver, CO, May 1985, pp. 310-320.
[46] K. Schwan, A. Gheith, and H. Zhou, "From chaos-min to chaosarc: A familv of real-time kernels," submitted for publication. May 1990.
[47] K. Schwan, P. Gopinath, and W. Bo, "Chaos-kernel support for objects in the real-time domain,"IEEE Trans. Comput., vol. C-36, no. 8, 904-916, July 1987.
[48] K. Schwan and A. K. Jones, "Specifying resource allocation for the cm*multiprocessor,"IEEE Software, vol. 3, no. 3, pp. 60-70, May 1984.
[49] K. Schwan and R. Ramnath, "Adaptable operating software for manufacturing systems and robots: A computer science research agenda," inProc. 5th IEEE Real-Time Systems Symp., Austin, TX, Dec. 1984, pp. 255-262.
[50] K. Schwan, R. Ramnath, S. Vasudevan, and D. Ogle, "A language and system for the construction and tuning of parallel programs,"IEEE Trans. Software Eng., vol. 14, no. 4, pp. 455-471, Apr. 1988.
[51] G. Serazzi and M. Calzarossa, "Adaptive optimization of a system's load,"IEEE Trans. Software Eng., vol. SE-10, no. 6, pp. 837-845. Nov. 1984.
[52] L. Sha, J.P. Lehoczky, and R. Rajkumar, "Solutions for some practical problems in prioritized preemptive scheduling," inProc. IEEE 1986 Real-Time Systems Symp., Dec. 1986.
[53] B. Sprunt, J. P. Lehoczky, and L. Sha, "Exploiting unused periodic time for aperiodic service using the extended priority exchange algorithm," inProc. IEEE Real-Time Systems Symp., Huntsville, AL, 1988, pp. 251-258.
[54] B. Sprunt, L. Sha, and J. Lehoczky, "Aperiodic task scheduling for hard-real-time systems,"J. Real-Time Systems, vol. 1, pp. 27-60, 1989.
[55] J. A. Stankovic and I. S. Sidhu, " An adaptive bidding algorithm for processes, clusters and distributed groups," inProc. Fourth IEEE Int. Conf. Distributed Computing Systems, San Francisco, CA, May 1984, pp. 49-59.
[56] A. N. Tantawi and D. A. Towsley, "A general model for optimal static load balancing in star network configurations," Univ. Massachusetts, Tech. Rep. RC 10732 no. 47097, May 1984.
[57] K. H. Timmesfeld et al., "Pearl: A proposal for a process and experiment automation real-time language," Gesellschaft fuer Kernforschung mbH, Karlsruhe, PDV-Bericht KFK-PDVI, Tech. Rep., Apr. 1973.
[58] A. Tucker and A. Gupta, "Process control and scheduling issues on a network of multiprocessors," inProc. Twelfth ACM Symp. Operating System Principles, Litchfielf Park, AZ, Dec. 1989, pp. 159-166.
[59] W. A. Wulf, R. Levin, and S. R. Harbison,Hydra/C.mmp: An Experimental Computer System.New York, McGraw-Hill Advanced Computer Science Series, 1981.
[60] W. Zhao, K. Ramamritham, and J. Stankovic, "Scheduling tasks with resource requirements in hard real-time systems,"IEEE Trans. Software Eng., vol. SE-13, pp. 564-577, May 1987.

Index Terms:
real-time scheduler; multiprocessor system; multiprocessor scheduler; robotics applications; assignment; processor deadlines; process execution times; earliest possible start times; multiprogramming; real-time systems; scheduling
B.A. Blake, K. Schwan, "Experimental Evaluation of a Real-Time Scheduler for a Multiprocessor System," IEEE Transactions on Software Engineering, vol. 17, no. 1, pp. 34-44, Jan. 1991, doi:10.1109/32.67577
Usage of this product signifies your acceptance of the Terms of Use.