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 2008 Publication 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.
[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.
[3]
G. Anzinger. High resolution timers project. http://high-res-timers.sourceforge.net.
[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.
[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.
[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.
[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.
[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.
[9]
L. S. Brakmo and L. L. Peterson. Performance problems in BSD4.4 TCP. SIGCOMM Computer Communication Review, 25(5):69--86, 1995.
[10]
A. Chanda, A. Cox, and W. Zwaenepoel. Whodunit: Transactional profiling for multi-tier applications. In Proceedings of EuroSys 2007, Mar. 2007.
[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.
[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.
[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.
[14]
R. Droms. RFC 2131: Dynamic host configuration protocol, Mar. 1997.
[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.
[16]
V. Jacobson. Congestion avoidance and control. ACM Computer Communication Review; Proceedings of the SIGCOMM'88 Symposium, 18(4):314--329, Aug. 1988.
[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.
[18]
J. Lions. Lions' commentary on Unix 6th edition, May 1976. See source line 3845 ff.
[19]
D. Mazières. A toolkit for user-level file systems. In Proceedings of the USENIX Annual Technical Conference, pages 261--274, June 2001.
[20]
A. Morton. zc and cyclesoak: Tools for accurately measuring system load and TCP efficiency. http://www.zipworld.com.au/~akpm/linux/#zc.
[21]
D. Mosberger and T. Jin. httperf - a tool for measuring web server performance. SIGMETRICS Performance Evaluation Review, 26(3):31--37, 1998.
[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/.
[23]
M. L. Scott, T. J. LeBlanc, and B. D. Marsh. Multi-model parallel programming in Psyche. SIGPLAN Notices, 25(3):70--78, 1990.
[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.
[25]
J. Smith and C. Traw. Giving applications access to Gb/s networking. IEEE Network, 7(4):44--52, July 1993.
[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.
[27]
R. W. Stevens. TCP/IP Illustrated, Volume 1: The Protocols. Addison Wesley, 1994.
[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.
[29]
TwistedCore. http://twistedmatrix.com/trac/wiki/TwistedCore, August 2007.
[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.
[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.
[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.
[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.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

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
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 April 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. adaptability
  2. kernel interface design
  3. scheduling
  4. timers

Qualifiers

  • Research-article

Conference

Eurosys '08
Sponsor:
Eurosys '08: Eurosys 2008 Conference
April 1 - 4, 2008
Glasgow, Scotland UK

Acceptance Rates

Overall Acceptance Rate 241 of 1,308 submissions, 18%

Upcoming Conference

EuroSys '25
Twentieth European Conference on Computer Systems
March 30 - April 3, 2025
Rotterdam , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)23
  • Downloads (Last 6 weeks)1
Reflects downloads up to 08 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Using Selective Memoization to Defeat Regular Expression Denial of Service (ReDoS)2021 IEEE Symposium on Security and Privacy (SP)10.1109/SP40001.2021.00032(1-17)Online publication date: May-2021
  • (2018)Periodic timers revisitedComputers and Electrical Engineering10.1016/j.compeleceng.2011.03.00337:3(365-375)Online publication date: 27-Dec-2018
  • (2016)Understanding the Memory Consumption of the MiBench Embedded BenchmarkNetworked Systems10.1007/978-3-319-46140-3_6(71-86)Online publication date: 15-Sep-2016
  • (2012)FayACM Transactions on Computer Systems (TOCS)10.1145/2382553.238255530:4(1-35)Online publication date: 1-Nov-2012
  • (2012)Sloth on TimeProceedings of the 2012 IEEE 33rd Real-Time Systems Symposium10.1109/RTSS.2012.75(237-247)Online publication date: 4-Dec-2012
  • (2011)FayProceedings of the Twenty-Third ACM Symposium on Operating Systems Principles10.1145/2043556.2043585(311-326)Online publication date: 23-Oct-2011
  • (2010)Composing parallel software efficiently with litheACM SIGPLAN Notices10.1145/1809028.180663945:6(376-387)Online publication date: 5-Jun-2010
  • (2010)Composing parallel software efficiently with litheProceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/1806596.1806639(376-387)Online publication date: 5-Jun-2010
  • (2010)Why software hangs and what can be done with it2010 IEEE/IFIP International Conference on Dependable Systems & Networks (DSN)10.1109/DSN.2010.5544304(311-316)Online publication date: Jun-2010
  • (2021)Paratick: Reducing Timer Overhead in Virtual MachinesProceedings of the 50th International Conference on Parallel Processing10.1145/3472456.3472510(1-10)Online publication date: 9-Aug-2021
  • Show More Cited By

View Options

Login options

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