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







Comments