skip to main content
research-article

I/O resource management through system call scheduling

Published: 01 July 2008 Publication History

Abstract

A principal challenge in operating system design is controlling system throughput and responsiveness while maximizing resource utilization. Unlike previous attempts in kernel resource management, which often involve non-trivial changes in kernel subsystems, we focus on the kernel's edge. System calls are usually the default mechanism for user processes to get access to operating system services. System calls can therefore be used to control throughput and responsiveness and thus also affect resource utilization directly. We propose a simple, non-intrusive kernel-space mechanism for explicit, per-process system call scheduling already at kernel entry in order to control the time and rate at which system calls are executed, and, as a result, the per-process utilization of the involved resources. We have developed a high-performance Linux 2.6 kernel patch with SMP support that implements system call scheduling for network- and disk-related I/O calls with policies that resemble traffic shaping in network routers. Our experiments show that already simple and easy-to-use policies provide effective I/O-related process isolation with low overhead, and reduce thrashing in certain overload scenarios. While system call scheduling may still not be able to outperform resource management systems that use specifically tuned kernel subsystems, our experiments indicate that it may sufficiently support relevant soft real-time applications yet using a vastly simpler and more generic approach.

References

[1]
Banga, G., Druschel, P., and Mogul, J. C. Resource containers: A new facility for resource management in server systems. In Proc. OSDI (1999).
[2]
Barrera, I. bw_mod: Apache2 module for bandwidth and connection control. http://modules.apache.org/search?id=786.
[3]
Bruno, J., Gabber, E., Özden, B., and Silberschatz, A. The Eclipse operating system: providing quality of service via reservation domains. In Proc. USENIX (1998).
[4]
Craciunas, S., Kirsch, C., and Röck, H. The TAP Project. http://tap.cs.uni-salzburg.at/.
[5]
Crovella, M., Frangioso, R., and Harchol-Balter, M. Connection scheduling in web servers. In Proc. USITS (1999).
[6]
Iyer, S., and Druschel, P. Anticipatory scheduling: A disk scheduling framework to overcome deceptive idleness in synchronous I/O. In Proc. SOSP (2001).
[7]
Kirsch, C. Threading by appointment. In Proc. Monterey Workshop (2004), CRC Press.
[8]
Leslie, I. M., McAuley, D., Black, R., Roscoe, T., Barham, P. T., Evers, D., Fairbairns, R., and Hyden, E. The design and implementation of an operating system to support distributed multimedia applications. IEEE Journal of Selected Areas in Communications 14, 7 (1996), 1280--1297.
[9]
Love, R. Linux Kernel Development, 2nd ed. Novell Press, 2005.
[10]
Midgley, J. T. J. autobench - automates the benchmarking of web servers using httperf. http://www.xenoclast.org/autobench/.
[11]
Montz, A. B., Mosberger, D., O'Malley, S. W., Peterson, L. L., Proebsting, T. A., and Hartman, J. H. Scout: A communications-oriented operating system (abstract). In Proc. OSDI (1994).
[12]
Mosberger, D., and Jin, T. httperf - a tool for measuring web server performance. SIGMETRICS Perform. Eval. Rev. 26, 3 (1998), 31--37.
[13]
Muhammad, H. htop - an interactive process viewer for Linux. http://htop.sourceforge.net/.
[14]
Nagar, S., Franke, H., Kashyap, V., van Riel, R., Seetharaman, C., and Zheng, H. Improving Linux resource control using CKRM. In Proc. OLS (2004).
[15]
Röck, H. The TAP System: Concurrent programming with threading by appointment. Master's thesis, University of Salzburg, Salzburg, Austria, 2006.
[16]
Sarma, D., and McKenney, P. E. Making RCU safe for deep sub-millisecond response real-time applications. In Proc. USENIX (2004).
[17]
Tanenbaum, A. Computer Networks, 3rd ed. Prentice Hall, 2002.
[18]
The Netfilter.org Project. netfilter: firewalling, NAT, and packet mangling for Linux. http://www.netfilter.org.
[19]
The VideoLan Project. VLC - the cross-platform media player and streaming server. http://www.videolan.org/vlc/.
[20]
Wu, J. C., Banachowski, S., and Brandt, S. A. Hierarchical disk sharing for multimedia systems. In Proc. NOSSDAV (2005).

Cited By

View all
  • (2023)User Disengagement-Oriented Target Enforcement for Multi-Tenant Database SystemsProceedings of the 2023 ACM Symposium on Cloud Computing10.1145/3620678.3624668(394-409)Online publication date: 30-Oct-2023
  • (2022)Improving scalability of database systems by reshaping user parallel I/OProceedings of the Seventeenth European Conference on Computer Systems10.1145/3492321.3519570(592-609)Online publication date: 28-Mar-2022
  • (2022)An I/O Virtualization Framework With I/O-Related Memory Contention Control for Real-Time SystemsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.320243441:11(4469-4480)Online publication date: 1-Nov-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGOPS Operating Systems Review
ACM SIGOPS Operating Systems Review  Volume 42, Issue 5
Research and developments in the Linux kernel
July 2008
113 pages
ISSN:0163-5980
DOI:10.1145/1400097
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 July 2008
Published in SIGOPS Volume 42, Issue 5

Check for updates

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2023)User Disengagement-Oriented Target Enforcement for Multi-Tenant Database SystemsProceedings of the 2023 ACM Symposium on Cloud Computing10.1145/3620678.3624668(394-409)Online publication date: 30-Oct-2023
  • (2022)Improving scalability of database systems by reshaping user parallel I/OProceedings of the Seventeenth European Conference on Computer Systems10.1145/3492321.3519570(592-609)Online publication date: 28-Mar-2022
  • (2022)An I/O Virtualization Framework With I/O-Related Memory Contention Control for Real-Time SystemsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.320243441:11(4469-4480)Online publication date: 1-Nov-2022
  • (2017)XoT: A Flexible Block I/O Data Transfer Protocol for XenSecurity, Privacy, and Anonymity in Computation, Communication, and Storage10.1007/978-3-319-72395-2_71(791-800)Online publication date: 9-Dec-2017
  • (2016)A Real-Time Flash Translation Layer for NAND Flash Memory Storage SystemsIEEE Transactions on Multi-Scale Computing Systems10.1109/TMSCS.2016.25160152:1(17-29)Online publication date: 1-Jan-2016
  • (2015)Split-level I/O schedulingProceedings of the 25th Symposium on Operating Systems Principles10.1145/2815400.2815421(474-489)Online publication date: 4-Oct-2015
  • (2015)Lazy-RTGCACM Transactions on Design Automation of Electronic Systems10.1145/274623620:3(1-32)Online publication date: 24-Jun-2015
  • (2010)Support for enterprise consolidation of I/O bound servicesSoftware: Practice and Experience10.1002/spe.99040:12(1035-1051)Online publication date: 2-Nov-2010
  • (2009)Programmable temporal isolation in real-time and embedded execution environmentsProceedings of the Second Workshop on Isolation and Integration in Embedded Systems10.1145/1519130.1519134(19-24)Online publication date: 31-Mar-2009

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