Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/566726.566751acmconferencesArticle/Chapter ViewAbstractPublication PagesewConference Proceedingsconference-collections
Article
Free access

The SawMill multiserver approach

Published: 17 September 2000 Publication History

Abstract

Multiserver systems, operating systems composed from a set of hardware-protected servers, initially generated significant interest in the early 1990's. If a monolithic operating system could be decomposed into a set of servers with well-defined interfaces and well-understood protection mechanisms, then the robustness and configurability of operating systems could be improved significantly. However, initial multiserver systems [4, 14] were hampered by poor performance and software engineering complexity. The Mach microkernel [10] base suffered from a number of performance problems (e.g., IPC), and a number of difficult problems must be solved to enable the construction of a system from orthogonal servers (e.g., unified buffer management, coherent security, flexible server interface design, etc.).In the meantime, a number of important research results have been generated that lead us to believe that a re-evaluation of multiserver system architectures is warranted. First, microkernel technology has vastly improved since Mach. L4 [13] and Exokernel [6] are two recent microkernels upon which efficient servers have been constructed (i.e., L4Linux for L4 [12] and ExOS for Exokernel [9]). In these systems, the servers are independent OSes, but we are encouraged that the kernel and server overheads, in particular context switches overheads, are minimized. Second, we have seen marked improvements in memory management approaches that enable zero-copy protocols (e.g., fbufs [5] and emulated copy [3]). Other advances include, improved kernel modularity [7], component model services [8], multiserver security protocols, etc. Note that we are not the only researchers who believe it is time to re-examine multiservers, as a multiserver system is also being constructed on the Pebble kernel [11].In addition, there is a greater need for multiserver architectures now. Consider the emergence of a variety of specialized, embedded systems. Traditionally, each embedded system includes a specialized operating system. Given the expected proliferation of such systems, the number of operating systems that must be built will increase significantly. Tools for configuring operating systems from existing servers will become increasingly more valuable, and adequate protection among servers will be necessary to guard valuable information that may be stored on such systems (e.g., private keys). This is exactly the motivation for multiserver systems.In this paper, we define the SawMill multiserver approach. This approach consists of: (1) an architecture upon which efficient and robust multiserver systems can be constructed and (2) a set of protocol design guidelines for solving key multiserver problems. First, the SawMill architecture consists of a set of user-level servers executing on the L4 microkernel and a set of services that enable these servers to obtain and manage resources locally. Second, the SawMill protocol design guidelines enable system designers to minimize the communication overheads introduced by protection boundaries between servers. We demonstrate the SawMill approach for two server systems derived from the Linux code base: (1) an Ext2 file system and (2) an IP network system.The remainder of the paper is structured as follows. In Section 2, we define the problems that must be solved in converting a monolithic operating system into a multiserver operating system. In Sections 3 and 4, we define the SawMill architecture and the protocol design approach, respectively. In Section 5, we demonstrate some of these guidelines in the file system and network system implementations. In Section 6, we examine the performance of the current SawMill Linux system.

References

[1]
The IOZone filesystem benchmark, April 2000. Available from http://www.iozone.org.
[2]
M. Aron, J. Liedtke, Y. Park, K. Elphinstone, and T. Jaeger. A framework for VM diversity, March 1999. Available from http://www.research.ibm.com/sawmill.
[3]
J. Brustoloni and P. Steenkiste. Effects of buffering semantics on I/O performance. In OSDI'96. USENIX, October 1996.
[4]
T. Bushnell and G. Matzigkeit. The GNU Hurd reference manual, August 1998. Available from http://www.gnu.ai.mit.edu/software/hurd/doc/hurd-toc.html.
[5]
V. Druschel and L. Peterson. Fbufs: A high-performacne cross-domain transfer facility. In SOSP'93. ACM, December 1993.
[6]
D. Engler, M. Kaashoek, and J. O'Toole Jr. Exokernel: An operating system architecture for application-level resource management. In SOSP'95. ACM, December 1995.
[7]
B. Ford et al. The Flux OSKit; A substrate for OS and language research. In SOSP'97. ACM, October 1997.
[8]
E. Eide et al. Flick : A flexible, optimizing IDL compiler. In PLDI'97. ACM, June 1997.
[9]
M. Kaashoek et al. Application performance and flexibility on Exokernel systems. In SOSP'97. ACM, October 1997.
[10]
R. V. Baron et al. Mach kernel interface manual, 1990. Unpublished manuscript from the School of Computer Science, Carnegie Mellon University.
[11]
E. Gabber, C. Small, J. Bruno, J. Brustoloni, and A. Silberschatz. The Pebble component-based operating system. In USENIX Technical Conference. USENIX, June 1999.
[12]
H. Härtig, M. Hohmuth, J. Liedtke, S. Schönberg, and J. Wolter. The performance of µ-kernel-based systems. In SOSP'97. ACM, October 1997.
[13]
J. Liedtke. On µ-kernel construction. In SOSP'95. ACM, December 1995.
[14]
J. M. Stevenson and D. P. Julin. Mach-US: UNIX on generic OS object servers. In USENIX Technical Conference. USENIX, Winter 1995.

Cited By

View all
  • (2023)Extending Rust with Support for Zero Copy CommunicationProceedings of the 12th Workshop on Programming Languages and Operating Systems10.1145/3623759.3624552(74-82)Online publication date: 23-Oct-2023
  • (2023)Minimizing a Smartphone's TCB for Security-Critical Programs with Exclusively-Used, Physically-Isolated, Statically-Partitioned HardwareProceedings of the 21st Annual International Conference on Mobile Systems, Applications and Services10.1145/3581791.3596864(233-246)Online publication date: 18-Jun-2023
  • (2022)FlexOS: towards flexible OS isolationProceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3503222.3507759(467-482)Online publication date: 28-Feb-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
EW 9: Proceedings of the 9th workshop on ACM SIGOPS European workshop: beyond the PC: new challenges for the operating system
September 2000
249 pages
ISBN:9781450373562
DOI:10.1145/566726
  • General Chair:
  • Marc Shapiro
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: 17 September 2000

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

EW00
Sponsor:

Acceptance Rates

Overall Acceptance Rate 37 of 37 submissions, 100%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)97
  • Downloads (Last 6 weeks)10
Reflects downloads up to 14 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Extending Rust with Support for Zero Copy CommunicationProceedings of the 12th Workshop on Programming Languages and Operating Systems10.1145/3623759.3624552(74-82)Online publication date: 23-Oct-2023
  • (2023)Minimizing a Smartphone's TCB for Security-Critical Programs with Exclusively-Used, Physically-Isolated, Statically-Partitioned HardwareProceedings of the 21st Annual International Conference on Mobile Systems, Applications and Services10.1145/3581791.3596864(233-246)Online publication date: 18-Jun-2023
  • (2022)FlexOS: towards flexible OS isolationProceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3503222.3507759(467-482)Online publication date: 28-Feb-2022
  • (2021)Understanding the Overheads of Hardware and Language-Based IPC MechanismsProceedings of the 11th Workshop on Programming Languages and Operating Systems10.1145/3477113.3487275(53-61)Online publication date: 25-Oct-2021
  • (2021)Isolation in RustProceedings of the 11th Workshop on Programming Languages and Operating Systems10.1145/3477113.3487272(76-83)Online publication date: 25-Oct-2021
  • (2021)Practical Principle of Least Privilege for Secure Embedded Systems2021 IEEE 27th Real-Time and Embedded Technology and Applications Symposium (RTAS)10.1109/RTAS52030.2021.00009(1-13)Online publication date: May-2021
  • (2020)Lightweight kernel isolation with virtualization and VM functionsProceedings of the 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3381052.3381328(157-171)Online publication date: 17-Mar-2020
  • (2020)LibrettOSProceedings of the 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3381052.3381316(114-128)Online publication date: 17-Mar-2020
  • (2019)LXDsProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358831(269-284)Online publication date: 10-Jul-2019
  • (2018)DeDoSProceedings of the 34th Annual Computer Security Applications Conference10.1145/3274694.3274727(712-722)Online publication date: 3-Dec-2018
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media