This paper presents the design, implementation, and evaluation of IO-Lite, a unified I/O buffering and caching system. IO-Lite unifies all buffering and caching in the system, to the extent permitted by the hardware. In particular, it allows applications, interprocess communication, the filesystem, the file cache, and the network subsystem to share a single physical copy of the data safely and concurrently. Protection and security are maintained through a combination of access control and read-only sharing. The various subsystems use (mutable) buffer aggregates to access the data according to their needs. IO-Lite eliminates all copying and multiple buffering of I/O data, and enables various cross-subsystem optimizations. Performance measurements show significant performance improvements on Web servers and other I/O intensive applications. 1 Introduction This paper presents the design, the implementation, and the performance of IO-Lite, a unified I/O buffering and caching system. IO-Li...
|
553
|
L.L.: The x-kernel: An architecture for implementing network protocols
– Hutchinson, Peterson
- 1991
|
|
511
|
Exokernel: an operating system architecture for application-level resource management
– Engler, Kaashoek, et al.
- 1995
|
|
411
|
The BSD packet filter: A new architecture for user-level packet capture
– McCanne, Jacobson
- 1993
|
|
389
|
Cost-Aware WWW Proxy Caching Algorithms
– Cao, Irani
- 1997
|
|
365
|
Extensibility safety and performance in the SPIN operating system
– Bershad, Savage, et al.
- 1995
|
|
283
|
Fbufs: A high-bandwidth cross-domain transfer facility
– Druschel, Peterson
- 1993
|
|
223
|
Dealing with disaster: Surviving misbehaved kernel extensions
– Seltzer, Endo, et al.
- 1996
|
|
213
|
Flash: An efficient and portable Web server
– PAI, DRUSCHEL, et al.
- 1999
|
|
198
|
The Design and Implementation of the 4.4BSD Operating System
– McKusick, Bostic, et al.
- 1996
|
|
153
|
Application performance and flexibility on exokernel systems
– Kaashoek, Engler, et al.
- 1997
|
|
151
|
Protocol Service Decomposition for High-Performance Networking
– Maeda, Bershad
- 1993
|
|
116
|
Implementation and Performance of Application-Controlled File Caching
– Cao, Felten, et al.
- 1994
|
|
77
|
Layered Multiplexing Considered Harmful
– Tennenhouse
- 1989
|
|
74
|
Giving applications access to Gb/s networking
– SMITH, S
- 1993
|
|
53
|
Container shipping: Operating system support for i/o-intensive applications
– Pasquale, Anderson, et al.
- 1994
|
|
48
|
Effects of buffering semantics on i/o performance
– Brustoloni, Steenkiste
- 1996
|
|
48
|
Exploiting in-kernel data paths to improve i/o throughput and cpu availability
– Fall, Pasquale
- 1993
|
|
48
|
Measuring the capacity of a web server under realistic loads. World Wide Web
– Banga, Druschel
- 1999
|
|
40
|
An efficient zero-copy I/O framework for UNIX
– Khalidi, Thadani
- 1995
|
|
31
|
WebStone: The first generation in HTTP server benchmarking. http://www.sgi.com/Products/ WebFORCE/WebStone
– Trent, Sake
- 1995
|
|
22
|
Interoperation of copy avoidance in network and file I/O
– Brustoloni
- 1999
|
|
21
|
Translation lookaside buffer consistency: A software approach
– Black, Rashid, et al.
- 1989
|
|
17
|
The common gateway interface. http://hoohoo.ncsa.uiuc.edu/cgi
– NCSA
|
|
16
|
Flash: An e#cient and portable web server
– Pai, Druschel, et al.
- 1999
|
|
14
|
G.M.: The UVM Virtual Memory System
– Cranor, Parulkar
- 1999
|
|
13
|
The BSD packet A new architecture for user-level packet capture
– McCanne, Jacobson
- 1993
|
|
10
|
The BSD packet lter: A new architecture for user-level packet capture
– McCanne, Jacobson
- 1993
|
|
9
|
thttpd - tiny/turbo/throttling HTTP server. Acme Labs
– Poskanzer
- 2000
|
|
8
|
Application performance and on exokernel systems
– Kaashoek, Engler, et al.
- 1997
|
|
7
|
E#ects of bu#ering semantics on i/o performance
– Brustoloni, Steenkiste
- 1996
|
|
7
|
IO-lite: A uni I/O buering and caching system
– Pai, Druschel, et al.
- 1999
|
|
6
|
User-Level Protocol Servers with Kernel-Level Performance
– Brustoloni, Steenkiste
- 1998
|
|
4
|
FastCGI specification. http://www.fastcgi.com
– Market, Inc
|
|
4
|
IO-Lite: A Copy-free UNIX I/O System
– Pai
- 1997
|
|
4
|
Application performance and exibility on exokernel systems
– Kaashoek, Engler, et al.
- 1997
|
|
3
|
Flash: An e cient and portable web server
– Pai, Druschel, et al.
- 1999
|
|
3
|
I/O-Lite: A uni ed I/O bu ering and caching system
– Pai, Druschel, et al.
- 1999
|
|
2
|
Multiprotocol data access
– Watson, Benn
- 1999
|
|
2
|
Cache Management in Scalable Network Servers
– Pai
- 1999
|
|
1
|
Migrating to a web filer
– Swartz
|
|
1
|
Fbufs: A high-bandwidth cross-doman transfer facility
– DRUSCHEL, PETERSON
- 1993
|
|
1
|
Interoperation of copy avoidance in network and I/O
– Brustoloni
- 1999
|
|
1
|
IO-Lite: A Uni I/O Buering and Caching System 27
– Cao, Felten
- 1994
|
|
1
|
Interoperation of copy avoidance in network and le I/O
– Brustoloni
- 1999
|