skip to main content
article

Process prioritization using output production: Scheduling for multimedia

Published: 01 November 2006 Publication History

Abstract

Desktop operating systems such as Windows and Linux base scheduling decisions on CPU consumption; processes that consume fewer CPU cycles are prioritized, assuming that interactive processes gain from this since they spend most of their time waiting for user input. However, this doesn't work for modern multimedia applications which require significant CPU resources. We therefore suggest a new metric to identify interactive processes by explicitly measuring interactions with the user, and we use it to design and implement a process scheduler. Measurements using a variety of applications indicate that this scheduler is very effective in distinguishing between competing interactive and noninteractive processes.

References

[1]
Banachowski, S. A. and Brandt, S. A. 2002. The BEST scheduler for integrated processing of best-effort and soft real-time processes. In Multimedia Computing and Networking. International Society for Optical Engineering (SPIE), San Jose, CA, 46--60.]]
[2]
Benson, K. B. and Fink, D. G. 1990. HDTV: Advanced Television for the 1990s. Mcgraw-Hill, Berkeley, CA.]]
[3]
Bovet, D. P. and Cesati, M. 2001. Understanding the Linux Kernel. O'Reilly & Associates, Sebastopol, CA.]]
[4]
Bruno, J., Gabber, E., Özden, B., and Silberschatz, A. 1998. The Eclipse operating system: Providing quality of service via reservation domains. In Usenix Annual Technical Conference. The Usenix Association, Berkeley, CA, 235--246.]]
[5]
Candea, G. and Jones, M. B. 1998. Vassal: Loadable scheduler support for multi-policy scheduling. In 2nd USENIX Windows NT Symposium. The Usenix Association, Berkeley, CA, 157--166.]]
[6]
Canon Inc. 2004. EOS ELAN 7N/7NE Camera. www.canon.com.]]
[7]
Childs, S. and Ingram, D. 2001. The Linux-SRT integrated multimedia operating system: Bringing QoS to the desktop. In IEEE Real-Time Technology and Application Symposium. IEEE Computer Society, Los Alamitos, CA, 135--140.]]
[8]
Corbet, J., Rubini, A., and Kroah-Hartman, G. 2005. Linux Device Drivers 3rd Ed. O'Reilly & Associates, Sebastopol, CA.]]
[9]
Dabrowski, J. R. and Munson, E. V. 2001. Is 100 milliseconds too fast? In Conference on Human Factors in Computing System. ACM Press, New York, NY, 317--318.]]
[10]
Dalton, A. B. and Ellis, C. S. 2003. Sensing user intention and context for energy management. In Workshop on Hot Topics in Operating Systems. The Usenix Association, Berkeley, CA.]]
[11]
Duda, K. J. and Cheriton, D. R. 1999. Borrowed virtual time (BVT) scheduling: Supporting latency sensitive threads in a general purpose scheduler. In ACM Symposium on Operating Systems Principles. ACM Press, New York, NY, 261--276.]]
[12]
Ebrahimi, T. and Pereira, F. 2002. The MPEG-4 Book. Prentice Hall, Upper Saddle River, NJ.]]
[13]
Etsion, Y., Tsafrir, D., and Feitelson, D. G. 2003. Effects of Clock resolution on the scheduling of interactive and soft real-time processes. In Intenational Conference on Measurement and Modeling of Computer Systems. ACM Press, New York, NY, 172--183.]]
[14]
Etsion, Y., Tsafrir, D., and Feitelson, D. G. 2004. Desktop scheduling: How can we know what the user wants? In International Workshop on Network and Operating Systems Support for Digital Audio & Video. ACM Press, New York, NY, 110--115.]]
[15]
Etsion, Y., Tsafrir, D., Kirkpatrick, S., and Feitelson, D. G. 2005. Fine grained kernel logging with klogger: Experience and insights. Tech. rep. 2005-35, School of Computer Science and Engineering, Hebrew University. (June).]]
[16]
Evans, S., Clarke, K., Singleton, D., and Smaalders, B. 1993. Optimizing unix resource scheduling for user interaction. In Usenix Annual Technical Conference. The Usenix Association, Berkeley, CA, 205--218.]]
[17]
Feitelson, D. G. and Naaman, M. 1999. Self-tuning systems. IEEE Software 16, 2 (Mar/Apr), 52--60.]]
[18]
Flautner, K., Uhlig, R., Reinhardt, S., and Mudge, T. 2000. Thread-level parallelism and interactive performance of desktop applications. In Architectural Support for Programming Languages and Operating Systems. ACM Press, New York, NY, USA, 129--138.]]
[19]
Gallmeister, B. O. 1995. Posix. 4: Programming for the Real World. O'Reilly & Associates, Sebastopol, CA.]]
[20]
Goel, A., Abeni, L., Krasic, C., Snow, J., and Walpole, J. 2002. Supporting time-sensitive applications on a commodity OS. In Symposium on Operating Systems Design and Implementation. The Usenix Association, Berkeley, CA, 165--180.]]
[21]
Goyal, P., Guo, X., and Vin, H. M. 1996. A hierarchical CPU scheduler for multimedia operating systems. In Symposium on Operating Systems Design and Implementation. The Usenix Association, Berkeley, CA, 107--121.]]
[22]
Gray, K. 2003. Microsoft DirectX 9 Programmable Graphics Pipeline. Microsoft Press, Redmond, WA.]]
[23]
Love, R. 2005. Linux Kernel Development 2nd ed. Novell Press, Indianapolis, IN.]]
[24]
Massalin, H. and Pu, C. 1990. Fine-grain adaptive scheduling using feedback. ACM Comput. Syst. 3, 1, 139--173.]]
[25]
Mauro, J. and McDougall, R. 2001. Solaris Internals: Core Kernel Architecture. Prentice Hall, Upper Saddle River, NJ.]]
[26]
McKusick, M. K., Bostic, K., Karels, M. J., and Quarterman, J. S. 1997. The Design and Implementation of the 4.4 BSD Operating System. Addison Wesley, Reading, MA.]]
[27]
Mosberger, D. and Peterson, L. L. 1996. Making paths explicit in the scout operating system. In Symposium on Operating Systems Design and Implementation. The Usenix Association, Berkeley, CA, 153--167.]]
[28]
Nieh, J., Hanko, J. G., Northcutt, J. D., and Wall, G. A. 1993. SVR4 UNIX scheduler unacceptable for multimedia applications. In International Workshop on Network and Operating Systems Support for Digital Audio and Video. ACM Press, New York, NY, 35--48.]]
[29]
Nieh, J. and Lam, M. S. 1997. The design, implementation and evaluation of SMART: A scheduler for multimedia applications. In ACM Symposium on Operating Systems Principles. ACM Press, New York, NY, 184--197.]]
[30]
Nieh, J., Vaill, C., and Zhong, H. 2001. Vitrual-Time round-robin: An O(1) proportional share schedulers. In Usenix Annual Technical Conference. The Usenix Association, Berkeley, CA, 245--259.]]
[31]
Paul, B. 2000. Introduction to the direct rendering infrastructure. http://dri.sourceforge.net/doc/DRIintro.html.]]
[32]
Rau, M. A. and Smirni, E. 1999. Adaptive CPU scheduling policies for mixed multimedia and best-effort workloads. In Modeling, Analysis and Simulation of Computer and Telecommnication Systems. IEEE Computer Society, Los Alamitos, CA, 252--261.]]
[33]
Scheifler, R. W. and Gettys, J. 1986. The X window system. ACM Trans. Graph. 5, 2, 79--109.]]
[34]
Scheirer, J., Fernandez, R., Klein, J., and Picard, R. W. 2002. Frustrating the user on purpose: A step toward building an affective computer. Interact. Comput. 14, 2 (Feb.), 89--169.]]
[35]
Shneiderman, B. 1998. Designing the User Interface 3rd ed. Addison Wesley, Reading, MA.]]
[36]
Silberschatz, A., Galvin, P. B., and Gagne, G. 2004. Operating System Concepts, 7th ed. Addison Wesley, Reading, MA.]]
[37]
Solomon, D. A. and Russinovich, M. E. 2000. Inside Windows 2000, 3rd ed. Microsoft Press, Redmond, WA.]]
[38]
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 Symposium on Operating Systems Design and Implementation. The Usenix Association, Berkeley, CA, 145--158.]]
[39]
Torvalds, L., Cox, A., and Molnar, I. 2003. Improving interactivity. http://kerneltrap.org/node/view/603. Linux Kernal Mailing List, Summarized Thread.]]
[40]
Tsafrir, D. 2001. Barrier synchronization on a loaded SMP using two phase waiting algorithms. M.S. thesis, School of Computer Science and Engineering, Hebrew University, Jerusalem, Israel.]]
[41]
Waldspurger, C. A. and Weihl, W. E. 1994. Lottery scheduling: Flexible proportional-share resource management. In Symposium on Operating Systems Design and Implementation. The Usenix Association, Berkeley, CA, 1--11.]]
[42]
Zhang, Y. and Sivasubramaniam, A. 2001. Scheduling best-effort and real-time pipelined applications on time-shared clusters. In ACM Symposium on Parallel Algorithms and Architectures. ACM Press, New York, NY, 209--218.]]
[43]
Zheng, H. and Nieh, J. 2004. SWAP: A scheduler with automatic process dependency detection. In Symposium on Networked Systems Design and Implementation. The Usenix Association, Berkeley, CA, 183--196.]]
[44]
Zimmermann, R. 2003. Streaming of DivX AVI movies. In ACM Symposium on Applied Computing. ACM Press, New York, NY, 979--982.]]

Cited By

View all
  • (2022)Function Splitting, Isolation, and Placement Trade-Offs in Network SlicingIEEE Transactions on Network and Service Management10.1109/TNSM.2021.313091519:2(1920-1936)Online publication date: 1-Jun-2022
  • (2020)Multi-Resource Allocation for Network SlicingIEEE/ACM Transactions on Networking10.1109/TNET.2020.297966728:3(1311-1324)Online publication date: Jun-2020
  • (2017)Improving quality of multimedia services through network performance isolation in a mobile deviceMultimedia Tools and Applications10.1007/s11042-016-3821-476:4(5317-5346)Online publication date: 1-Feb-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Multimedia Computing, Communications, and Applications
ACM Transactions on Multimedia Computing, Communications, and Applications  Volume 2, Issue 4
November 2006
148 pages
ISSN:1551-6857
EISSN:1551-6865
DOI:10.1145/1201730
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 November 2006
Published in TOMM Volume 2, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Multimedia
  2. resource management

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Function Splitting, Isolation, and Placement Trade-Offs in Network SlicingIEEE Transactions on Network and Service Management10.1109/TNSM.2021.313091519:2(1920-1936)Online publication date: 1-Jun-2022
  • (2020)Multi-Resource Allocation for Network SlicingIEEE/ACM Transactions on Networking10.1109/TNET.2020.297966728:3(1311-1324)Online publication date: Jun-2020
  • (2017)Improving quality of multimedia services through network performance isolation in a mobile deviceMultimedia Tools and Applications10.1007/s11042-016-3821-476:4(5317-5346)Online publication date: 1-Feb-2017
  • (2016)vSIPProceedings of the ACM International Conference on Computing Frontiers10.1145/2903150.2903178(222-231)Online publication date: 16-May-2016
  • (2015)Network Performance Isolation Scheme for QoE in a mobile deviceProceedings of the 2015 IEEE 34th International Performance Computing and Communications Conference (IPCCC)10.1109/PCCC.2015.7410311(1-8)Online publication date: 14-Dec-2015
  • (2014)Virtual asymmetric multiprocessor for interactive performance of consolidated desktopsACM SIGPLAN Notices10.1145/2674025.257619949:7(29-40)Online publication date: 1-Mar-2014
  • (2014)Virtual asymmetric multiprocessor for interactive performance of consolidated desktopsProceedings of the 10th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments10.1145/2576195.2576199(29-40)Online publication date: 1-Mar-2014
  • (2014)Lively Precedence and Overloaded Resource Based Approach to Virtual Machine Assignment Problem in a Datacenter EnvironmentProceedings of the 2014 International Conference on Intelligent Computing Applications10.1109/ICICA.2014.72(319-323)Online publication date: 6-Mar-2014
  • (2014)High-MCC Functions in the Linux KernelEmpirical Software Engineering10.1007/s10664-013-9275-719:5(1261-1298)Online publication date: 1-Oct-2014
  • (2014)Comparing Performance HeatmapsJob Scheduling Strategies for Parallel Processing10.1007/978-3-662-43779-7_3(42-61)Online publication date: 11-Jun-2014
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media