skip to main content
article

A SMART scheduler for multimedia applications

Published:01 May 2003Publication History
Skip Abstract Section

Abstract

Real-time applications such as multimedia audio and video are increasingly populating the workstation desktop. To support the execution of these applications in conjunction with traditional non-real-time applications, we have created SMART, a Scheduler for Multimedia And Real-Time applications. SMART supports applications with time constraints, and provides dynamic feedback to applications to allow them to adapt to the current load. In addition, the support for real-time applications is integrated with the support for conventional computations. This allows the user to prioritize across real-time and conventional computations, and dictate how the processor is to be shared among applications of the same priority. As the system load changes, SMART adjusts the allocation of resources dynamically and seamlessly. It can dynamically shed real-time computations and regulate the execution rates of real-time tasks when the system is overloaded, while providing better value in underloaded conditions than previously proposed schemes.We have implemented SMART in the Solaris UNIX operating system and measured its performance against other schedulers commonly used in research and practice in executing real-time, interactive, and batch applications. Our experimental results demonstrate SMART's superior performance over fair queueing and UNIX SVR4 schedulers in supporting multimedia applications.

References

  1. AT&T. 1990. UNIX System V Release 4 Internals Student Guide.Google ScholarGoogle Scholar
  2. Baiceanu, V., Cowan, C., McNamee, D., Pu, C., and Walpole, J. 1996. Multimedia Applications Require Adaptive CPU Scheduling. In Proceedings of the IEEE RTSS Workshop on Resource Allocation Problems in Multimedia Systems. Washington, DC.Google ScholarGoogle Scholar
  3. Bennett, J. C. R. and Zhang, H. 1996. WF2Q: Worst-case Fair Weighted Fair Queueing. In IEEE INFOCOM '96. San Francisco, CA, 120--128. Google ScholarGoogle Scholar
  4. Bollella, G. and Jeffay, K. 1995. Support for Real-Time Computing Within General Purpose Operating Systems: Supporting Co-Resident Operating Systems. In Proceedings of the IEEE Real-Time Technology and Applications Symposium. Chicago, IL, 4--14. Google ScholarGoogle Scholar
  5. Card, S. K., Moran, T. P., and Newell, A. 1983. Psychology of Human-Computer Interaction. L. Erlbaum Associates, Hillsdale, NJ. Google ScholarGoogle Scholar
  6. Coulson, G., Campbell, A., Robin, P., Blair, G., Papathomas, M., and Hutchinson, D. 1995. The Design of a QoS Controlled ATM Based Communications System in Chorus. IEEE J. Selected Areas Comm. (JSAC) 13, 4 (May), 686--699. Google ScholarGoogle Scholar
  7. Custer, H. 1993. Inside Windows NT. Microsoft Press, Redmond, WA. Google ScholarGoogle Scholar
  8. Demers, A., Keshav, S., and Shenker, S. 1989. Analysis and Simulation of a Fair Queueing Algorithm. In Proceedings of SIGCOMM '89. 1--12. Google ScholarGoogle Scholar
  9. Dertouzos, M. 1974. Control Robotics: The Procedural Control of Physical Processors. In Proceedings of the IFIP Congress. Stockholm, Sweden, 807--813.Google ScholarGoogle Scholar
  10. Duda, K. and Cheriton, D. 1999. Borrowed-Virtual-Time (BVT) Scheduling: Supporting Latency-Sensitive Threads in a General-Purpose Scheduler. In Proceedings of the Seventeenth ACM Symposium on Operating Systems Principles. Kiawah Island Resort, SC, 261--276. Google ScholarGoogle Scholar
  11. Eykholt, J. R., Kleiman, S. R., Barton, S., Faulkner, R., Shivalingiah, A., Smith, M., Stein, D., Voll, J., Weeks, M., and Williams, D. 1992. Beyond Multiprocessing… Multithreading the SunOS Kernel. In Proceedings of the 1992 Summer USENIX Conference. San Antonio, TX, 11--18.Google ScholarGoogle Scholar
  12. Ffoulkes, P. and Wikler, D. 1997. Workstations Worldwide Market Segmentation. In Advanced Desktops and Workstations Worldwide. Dataquest.Google ScholarGoogle Scholar
  13. Fosback, N. G. 1976. Stock Market Logic. Institute for Econometric Research, Ft. Lauderdale, FL.Google ScholarGoogle Scholar
  14. Golub, D. B. 1994. Operating System Support for Coexistence of Real-Time and Conventional Scheduling. Tech. Rep. CMU-CS-94-212, School of Computer Science, Carnegie Mellon University. Nov. Google ScholarGoogle Scholar
  15. Goyal, P. 1996. Panel talk. In IEEE RTSS Workshop on Resource Allocation Problems in Multimedia Systems. Washington, DC.Google ScholarGoogle Scholar
  16. Goyal, P., Guo, X., and Vin, H. M. 1996. A Hierarchical CPU Scheduler for Multimedia Operating Systems. In Proceedings of the Second Symposium on Operating Systems Design and Implementation. Seattle, WA, 107--122. Google ScholarGoogle Scholar
  17. Hanko, J. G. 1993. A New Framework for Processor Scheduling in UNIX. In Abstract talk at the Fourth International Workshop on Network and Operating Systems Support for Digital Audio and Video. Lancaster, U. K.Google ScholarGoogle Scholar
  18. IEEE. 1996. IEEE Micro 15, 4 (Aug.).Google ScholarGoogle Scholar
  19. Jones, M. B., Rosu, D., and Rosu, M.-C. 1997. CPU Reservations and Time Constraints: Efficient, Predictable Scheduling of Independent Activities. In Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles. St. Malo, France, 198--211. Google ScholarGoogle Scholar
  20. Lampson, B. W. and Redell, D. D. 1980. Experience with processes and monitors in Mesa. Commun. ACM 23, 2 (Feb.), 105--117. Google ScholarGoogle Scholar
  21. Leffler, S. J., McKusick, M. K., Karels, M. J., and Quarterman, J. S. 1989. The Design and Implementation of the 4.3BSD UNIX Operating System. Addison-Wesley, Reading, MA.Google ScholarGoogle Scholar
  22. Lehoczky, J., Sha, L., and Ding, Y. 1989. The Rate Monotonic Scheduling Algorithm: Exact Characterization and Average Case Behavior. In Proceedings of the IEEE Real-Time Systems Symposium. 166--171.Google ScholarGoogle Scholar
  23. Leslie, I. M., McAuley, D., Black, R., Roscoe, T., Barham, P., Evers, D., Fairbairns, R., and Hyden, E. 1996. The Design and Implementation of an Operating System to Support Distributed Multimedia Applications. IEEE J. Selected Areas Comm. (JSAC) 14, 7 (Sept.), 1280--1297. Google ScholarGoogle Scholar
  24. Liu, C. L. and Layland, J. W. 1973. Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment. JACM 20, 1 (Jan.), 46--61. Google ScholarGoogle Scholar
  25. Locke, C. D. 1986. Best-Effort Decision Making for Real-Time Scheduling. Ph.D. thesis, Department of Computer Science, Carnegie Mellon University. Google ScholarGoogle Scholar
  26. Mercer, C. W., Savage, S., and Tokuda, H. 1994. Processor Capacity Reserves: Operating System Support for Multimedia Applications. In Proceedings of the IEEE International Conference on Multimedia Computing and Systems. Boston, MA, 90--99. Google ScholarGoogle Scholar
  27. Nieh, J., Hanko, J. G., Northcutt, J. D., and Wall, G. A. 1993. SVR4 UNIX Scheduler Unacceptable for Multimedia Applications. In Proceedings of the Fourth International Workshop on Network and Operating Systems Support for Digital Audio and Video. Lancaster, U. K., 35--48. Google ScholarGoogle Scholar
  28. Nieh, J. and Lam, M. S. 1997a. SMART UNIX SVR4 Support for Multimedia Applications. In Proceedings of the IEEE International Conference on Multimedia Computing and Systems. Ottawa, Canada, 404--414. Google ScholarGoogle Scholar
  29. Nieh, J. and Lam, M. S. 1997b. The Design, Implementation and Evaluation of SMART: A scheduler for Multimedia Applications. In Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles. ACM, St. Malo, France, 184--197. Google ScholarGoogle Scholar
  30. Northcutt, J. D. 1987. Mechanisms for Reliable Distributed Real-Time Operating Systems: The Alpha Kernel. Academic Press, Boston, MA. Google ScholarGoogle Scholar
  31. Northcutt, J. D. and Kuerner, E. M. 1991. System Support for Time-Critical Applications. In Proceedings of the Second International Workshop on Network and Operating Systems Support for Digital Audio and Video, Lecture Notes in Computer Science. Vol. 614. Heidelberg, Germany, 242--254. Google ScholarGoogle Scholar
  32. Parekh, A. K. and Gallager, R. G. 1993. A Generalized Processor Sharing Approach to Flow Control in Integrated Services Networks: The Single-Node Case. IEEE/ACM Trans. Netw. 1, 3 (June), 344--357. Google ScholarGoogle Scholar
  33. Scheifler, R. W. and Gettys, J. 1986. The X Window System. ACM Trans. Graph. 5, 2 (Apr.), 79--109. Google ScholarGoogle Scholar
  34. Schmidt, B. K. 1995. A Method and Apparatus for Measuring Media Synchronization. In Proceedings of the Fifth International Workshop on Network and Operating Systems Support for Digital Audio and Video. Durham, NH, 203--214. Google ScholarGoogle Scholar
  35. Shneiderman, B. 1992. Designing the User Interface: Strategies for Effective Human-Computer Interaction, 2nd ed. Addison-Wesley, Reading, MA. Google ScholarGoogle Scholar
  36. Steere, D. C., Goel, A., Gruenberg, J., McNamee, D., Pu, C., and Walpole, J. 1999. A Feedback-driven Proportion Allocator for Real-Rate Scheduling. In Proceedings of the Third Symposium on Operating Systems Design and Implementation. New Orleans, LA, 145--158. Google ScholarGoogle Scholar
  37. Stoica, I., Abdel-Wahab, H., and Jeffay, K. 1997. On the Duality between Resource Reservation and Proportional Share Resource Allocation. In Multimedia Computing and Networking Proceedings, SPIE Proceedings Series. Vol. 3020. San Jose, CA, 207--214.Google ScholarGoogle Scholar
  38. Stoica, I., Abdel-Wahab, H., Jeffay, K., Baruah, S. K., Gehrke, J. E., and Plaxton, C. G. 1996. A Proportional Share Resource Allocation Algorithm for Real-Time, Time-Shared Systems. In Proceedings of the Seventeenth IEEE Real-Time Systems Symposium. Washingtion, DC, 288--299. Google ScholarGoogle Scholar
  39. Waldspurger, C. A. 1995. Lottery and Stride Scheduling: Flexible Proportional-Share Resource Management. Ph.D. thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology. Google ScholarGoogle Scholar

Index Terms

  1. A SMART scheduler for multimedia applications

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image ACM Transactions on Computer Systems
    ACM Transactions on Computer Systems  Volume 21, Issue 2
    May 2003
    117 pages
    ISSN:0734-2071
    EISSN:1557-7333
    DOI:10.1145/762483
    Issue’s Table of Contents

    Copyright © 2003 ACM

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 May 2003
    Published in tocs Volume 21, Issue 2

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader