skip to main content
10.1145/1352592.1352614acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article

30 seconds is not enough!: a study of operating system timer usage

Published:01 April 2008Publication History

ABSTRACT

The basic system timer facilities used by applications and OS kernels for scheduling timeouts and periodic activities have remained largely unchanged for decades, while hardware architectures and application loads have changed radically. This raises concerns with CPU overhead power management and application responsiveness.

In this paper we study how kernel timers are used in the Linux and Vista kernels, and the instrumentation challenges and tradeoffs inherent in conducting such a study. We show how the same timer facilities serve at least five distinct purposes, and examine their performance characteristics under a selection of application workloads. We show that many timer parameters supplied by application and kernel programmers are somewhat arbitrary, and examine the potential benefit of adaptive timeouts.

We also discuss the further implications of our results, both for enhancements to the system timer functionality in existing kernels, and for the clean-slate design of a system timer subsystem for new OS kernels, including the extent to which applications might require such an interface at all.

References

  1. R. A. Åberg, J. L. Lawall, M. Südholt, and G. Muller. Evolving an OS kernel using temporal logic and aspect-oriented programming. In ACP4IS '03: Proceedings of the 2nd AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software, March 2003.Google ScholarGoogle Scholar
  2. T. E. Anderson, B. N. Bershad, E. D. Lazowska, and H. M. Levy. Scheduler Activations: Effective kernel support for the user-level management of parallelism. ACM Transactions on Computer Systems, 10(1):53--79, February 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G. Anzinger. High resolution timers project. http://high-res-timers.sourceforge.net.Google ScholarGoogle Scholar
  4. M. Aron and P. Drusćhel. Soft timers: effićient mićrosećond software timer support for network proćessing. ACM Transaćtions on Computer Systems, 18(3):197--228, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. P. Barham, A. Donnelly, R. Isaacs, and R. Mortier. Using Magpie for request extraction and workload modelling. In Proceedings of the 6th Symposium on Operating Systems Design and Implementation (OSDI), Dec. 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. Xen and the art of virtualization. In Proceedings of the 19th ACM Symposium on Operating Systems Principles (SOSP'03), pages 164--177. ACM, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. S. I. Barrerra, A. Forin, M. B. Jones, P. J. Leach, D. Rosu, and M.-C. Rosu. An overview of the Rialto real-time architecture. Technical Report MSR-TR-96-13, Microsoft Research (MSR), July 1996.Google ScholarGoogle Scholar
  8. F. Bellard. QEMU, a fast and portable dynamic translator. In Proceedings of the USENIX Annual Technical Conference, FREENIX Track, pages 41--46. USENIX, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. L. S. Brakmo and L. L. Peterson. Performance problems in BSD4.4 TCP. SIGCOMM Computer Communication Review, 25(5):69--86, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Chanda, A. Cox, and W. Zwaenepoel. Whodunit: Transactional profiling for multi-tier applications. In Proceedings of EuroSys 2007, Mar. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Y. Chen, A. Accardi, E. Kıcıman, D. Patterson, A. Fox, and E. Brewer. Path-based failure and evolution management. In Proceedings of the 1st Symposium on Networked Systems Design and Implementation (NSDI), Mar. 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. Damm, J. Reisinger, W. Schwabl, and H. Kopetz. The real-time operating system of MARS. SIGOPS Operating Systems Review, 23(3):141--157, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. Dike. A user-mode port of the Linux kernel. In Proceedings of the 4th Annual Linux Showcase & Conference (LINUX-00), pages 63--72. The USENIX Association, Oct. 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. Droms. RFC 2131: Dynamic host configuration protocol, Mar. 1997.Google ScholarGoogle Scholar
  15. T. Gleixner and D. Niehaus. Hrtimers and beyond: Transforming the Linux time subsystems. In Proceedings of the Ottawa Linux Symposium (OLS'06), volume 1, pages 333--346, Ottawa, Ontario, Canada, July 2006.Google ScholarGoogle Scholar
  16. V. Jacobson. Congestion avoidance and control. ACM Computer Communication Review; Proceedings of the SIGCOMM'88 Symposium, 18(4):314--329, Aug. 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. E. D. Jensen, C. D. Locke, and H. Tokuda. A time-driven scheduling model for real-time systems. In Proceedings of IEEE RTSS, pages 112--122, Dec. 1985.Google ScholarGoogle Scholar
  18. J. Lions. Lions' commentary on Unix 6th edition, May 1976. See source line 3845 ff. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. D. Mazières. A toolkit for user-level file systems. In Proceedings of the USENIX Annual Technical Conference, pages 261--274, June 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. A. Morton. zc and cyclesoak: Tools for accurately measuring system load and TCP efficiency. http://www.zipworld.com.au/~akpm/linux/#zc.Google ScholarGoogle Scholar
  21. D. Mosberger and T. Jin. httperf - a tool for measuring web server performance. SIGMETRICS Performance Evaluation Review, 26(3):31--37, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. I. Park and R. Buch. Event tracing: Improve debugging and performance tuning with ETW. MSDN Magazine, Apr. 2007. http://msdn.microsoft.com/msdnmag/issues/07/04/ETW/.Google ScholarGoogle Scholar
  23. M. L. Scott, T. J. LeBlanc, and B. D. Marsh. Multi-model parallel programming in Psyche. SIGPLAN Notices, 25(3):70--78, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. S. Siddah, V. Pallipadi, and A. van de Ven. Getting maximum mileage out of tickless. In Proceedings of the Ottawa Linux Symposium (OLS'07), pages 201--208, Ottawa, Ontario, Canada, June 2007.Google ScholarGoogle Scholar
  25. J. Smith and C. Traw. Giving applications access to Gb/s networking. IEEE Network, 7(4):44--52, July 1993.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. B. Srinivasan, S. Pather, R. Hill, F. Ansari, and D. Niehaus. A firm real-time system implementation using commercial off-the-shelf hardware and free software. In Proceedings of the 4th IEEE Real-Time Technology and Applications Symposium (RTAS'98), pages 112--120. IEEE, June 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. R. W. Stevens. TCP/IP Illustrated, Volume 1: The Protocols. Addison Wesley, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. J. Stultz, N. Aravamudan, and D. Hart. We are not getting any younger: A new approach to time and timers. In Proceedings of the Ottawa Linux Symposium (OLS'05), volume 1, pages 219--232, Ottawa, Ontario, Canada, July 2005.Google ScholarGoogle Scholar
  29. TwistedCore. http://twistedmatrix.com/trac/wiki/TwistedCore, August 2007.Google ScholarGoogle Scholar
  30. G. Varghese and T. Lauck. Hashed and hierarchical timing wheels: data structures for the efficient implementation of a timer facility. In Proceedings of the 11th ACM Symposium on Operating Systems Principles (SOSP'87), pages 25--38. ACM Press, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. G. D. White, G. Nielsen, and S. M. Johnson. Timeout duration and the suppression of deviant behavior in children. Journal of Applied Behavior Analysis, 5(2):111--120, Summer 1972.Google ScholarGoogle ScholarCross RefCross Ref
  32. H. Wu, B. Ravindran, E. D. Jensen, and P. Li. Time/utility function decomposition techniques for utility accrual scheduling algorithms in real-time distributed systems. IEEE Transactions on Computers, 54(9), September 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. T. Zanussi, K. Yaghmour, R. Wisniewski, R. Moore, and M. Dagenais. relayfs: An efficient unified approach for transmitting data from kernel to user space. In Proceedings of the Ottawa Linux Symposium (OLS'03), 2003.Google ScholarGoogle Scholar

Index Terms

  1. 30 seconds is not enough!: a study of operating system timer usage

    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
    • Published in

      cover image ACM Conferences
      Eurosys '08: Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer Systems 2008
      April 2008
      346 pages
      ISBN:9781605580135
      DOI:10.1145/1352592
      • cover image ACM SIGOPS Operating Systems Review
        ACM SIGOPS Operating Systems Review  Volume 42, Issue 4
        EuroSys '08
        May 2008
        321 pages
        ISSN:0163-5980
        DOI:10.1145/1357010
        Issue’s Table of Contents

      Copyright © 2008 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 April 2008

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate241of1,308submissions,18%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!