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.
- Banga, G., Druschel, P., and Mogul, J. C. Resource containers: A new facility for resource management in server systems. In Proc. OSDI (1999). Google Scholar
Digital Library
- Barrera, I. bw_mod: Apache2 module for bandwidth and connection control. http://modules.apache.org/search?id=786.Google Scholar
- Bruno, J., Gabber, E., Özden, B., and Silberschatz, A. The Eclipse operating system: providing quality of service via reservation domains. In Proc. USENIX (1998). Google Scholar
Digital Library
- Craciunas, S., Kirsch, C., and Röck, H. The TAP Project. http://tap.cs.uni-salzburg.at/.Google Scholar
- Crovella, M., Frangioso, R., and Harchol-Balter, M. Connection scheduling in web servers. In Proc. USITS (1999). Google Scholar
Digital Library
- Iyer, S., and Druschel, P. Anticipatory scheduling: A disk scheduling framework to overcome deceptive idleness in synchronous I/O. In Proc. SOSP (2001). Google Scholar
Digital Library
- Kirsch, C. Threading by appointment. In Proc. Monterey Workshop (2004), CRC Press.Google Scholar
- 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. Google Scholar
Digital Library
- Love, R. Linux Kernel Development, 2nd ed. Novell Press, 2005. Google Scholar
Digital Library
- Midgley, J. T. J. autobench - automates the benchmarking of web servers using httperf. http://www.xenoclast.org/autobench/.Google Scholar
- 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).Google Scholar
- Mosberger, D., and Jin, T. httperf - a tool for measuring web server performance. SIGMETRICS Perform. Eval. Rev. 26, 3 (1998), 31--37. Google Scholar
Digital Library
- Muhammad, H. htop - an interactive process viewer for Linux. http://htop.sourceforge.net/.Google Scholar
- Nagar, S., Franke, H., Kashyap, V., van Riel, R., Seetharaman, C., and Zheng, H. Improving Linux resource control using CKRM. In Proc. OLS (2004).Google Scholar
- Röck, H. The TAP System: Concurrent programming with threading by appointment. Master's thesis, University of Salzburg, Salzburg, Austria, 2006.Google Scholar
- Sarma, D., and McKenney, P. E. Making RCU safe for deep sub-millisecond response real-time applications. In Proc. USENIX (2004). Google Scholar
Digital Library
- Tanenbaum, A. Computer Networks, 3rd ed. Prentice Hall, 2002. Google Scholar
Digital Library
- The Netfilter.org Project. netfilter: firewalling, NAT, and packet mangling for Linux. http://www.netfilter.org.Google Scholar
- The VideoLan Project. VLC - the cross-platform media player and streaming server. http://www.videolan.org/vlc/.Google Scholar
- Wu, J. C., Banachowski, S., and Brandt, S. A. Hierarchical disk sharing for multimedia systems. In Proc. NOSSDAV (2005). Google Scholar
Digital Library
Index Terms
I/O resource management through system call scheduling
Recommendations
Active resource management approach to distributed call admission control
EHAC'05: Proceedings of the 4th WSEAS International Conference on Electronics, Hardware, Wireless and Optical CommunicationsWe propose an active resource management approach to distributed call admission control. We focus on the scenario in which a generic ISP (Internet Service Provider) wants to offer two services to its customers: a voice-over-ip service and a multimedia ...
Call admission and resource reservation for multicast sessions
INFOCOM'96: Proceedings of the Fifteenth annual joint conference of the IEEE computer and communications societies conference on The conference on computer communications - Volume 1Many multicast applications, including audio and video, require quality of service (QoS) guarantees from the network. Hence, multicast admission control and resource reservation procedures will be needed. In this paper we present a general framework for ...
Resource Management of the OS Network Subsystem
ISORC '02: Proceedings of the Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed ComputingA QoS-aware real-time operating system must schedule multiple tasks which have different timing constraints and which access various resources including the CPU, disk and network. These resources, however, are not independent of one another. For example,...






Comments