Results 1 -
7 of
7
IO-Lite: A Unified I/O Buffering and Caching System
- ACM Transactions on Computer Systems
, 1997
"... 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, ..."
Abstract
-
Cited by 169 (13 self)
- Add to MetaCart
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...
Programming the Web with High-Level Programming Languages
- In European Symposium on Programming
, 2001
"... Many modern programs provide operating system-style services to extension modules. A Web server, for instance, behaves like a simple OS kernel. It invokes programs that dynamically generate Web pages and manages their resource consumption. Most Web servers, however, rely on conventional operating sy ..."
Abstract
-
Cited by 46 (11 self)
- Add to MetaCart
Many modern programs provide operating system-style services to extension modules. A Web server, for instance, behaves like a simple OS kernel. It invokes programs that dynamically generate Web pages and manages their resource consumption. Most Web servers, however, rely on conventional operating systems to provide these services. As a result, the solutions are inefficient, and impose a serious overhead on the programmer of dynamic extensions. In this paper, we show that a Web server implemented in a suitably extended high-level programming language overcomes all these problems. First, building a server in such a language is straightforward. Second, the server delivers static content at performance levels comparable to a conventional server. Third, the Web server delivers dynamic content at a much higher rate than a conventional server, which is important because a significant portion of Web content is now dynamically generated. Finally, the server provides programming mech...
Modeling Web Interactions
, 2003
"... Programmers confront a minefield when they design interactive Web programs. Web interactions take place via Web browsers. With browsers, consumers can whimsically navigate among the various stages of a dialog and can thus confuse the most sophisticated corporate Web sites. In turn, Web services ..."
Abstract
-
Cited by 29 (3 self)
- Add to MetaCart
Programmers confront a minefield when they design interactive Web programs. Web interactions take place via Web browsers. With browsers, consumers can whimsically navigate among the various stages of a dialog and can thus confuse the most sophisticated corporate Web sites. In turn, Web services can fault in frustrating and inexplicable ways. The quickening transition from Web scripts to Web services lends these problems immediacy.
The Effect of Deceptive Idleness on Disk Schedulers
, 2001
"... Disk schedulers in operating systems are generally work-conserving; they schedule a request immediately after the previous request has finished. Such schedulers need multiple outstanding requests to make good decisions. Unfortunately, many applications issue synchronous, almost-continuous streams of ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
Disk schedulers in operating systems are generally work-conserving; they schedule a request immediately after the previous request has finished. Such schedulers need multiple outstanding requests to make good decisions. Unfortunately, many applications issue synchronous, almost-continuous streams of read requests. This forces the scheduler into making decisions too early, falsely assuming that the process has become momentarily idle. This phenomenon of deceptive idleness causes signi cant degradation in performance and quality of service objectives on current systems. We solve deceptive idleness by designing and implementing a transparent, non-work-conserving scheduling framework for various scheduling policies. We evaluate this solution on microbenchmarks and real workloads, and observe large bene ts. The Apache webserver delivers 56% and 16% more throughput for two configurations. The Andrew Benchmark runs faster by 8% (54% for the read-intensive phase). Variants of the TPC-B database benchmark exhibit improvements between 4% and 60%. Proportional-share schedulers become empowered to efficiently deliver application-desired proportions.
Clustered Services with Persistent State
"... In this work, we propose to design, build, and evaluate highly-available scalable distributed data structures (SDDS's) on clusters of workstations. An SDDS is a self-contained, self-managing repository for persistent, consistent, highly-available data that exports a datastructure specific interface. ..."
Abstract
- Add to MetaCart
In this work, we propose to design, build, and evaluate highly-available scalable distributed data structures (SDDS's) on clusters of workstations. An SDDS is a self-contained, self-managing repository for persistent, consistent, highly-available data that exports a datastructure specific interface. We believe that having an SDDS platform will decouple data persistency and consistency requirements from the rest of cluster-based Internet service logic, greatly simplifying the design and implementation of such services. We propose building three SDDS's (distributed logs, distributed hash tables, and distributed trees), and we hypothesize that these three data structures will provide enough flexibility to implement a wide variety of interesting Internet services. We plan on implementing these SDDS's using a layered approach, building a low-level high performance I/O layer that efficiently builds flows of data from disk and network to memory, and using that layer to build our cluster-based SDDS...
A Component-based Architecture for Streaming Media
, 2001
"... This paper describes the design and implementation of a component based distributed multimedia application that was developed to investigate a new design principle for resource-effcient layered system architectures. In order to provide fexible and adaptable application scenarios, different applicati ..."
Abstract
- Add to MetaCart
This paper describes the design and implementation of a component based distributed multimedia application that was developed to investigate a new design principle for resource-effcient layered system architectures. In order to provide fexible and adaptable application scenarios, different applications are composed from four basic generic component types. Combining different component types with different types of interaction and locating them on different nodes of a distributed system then results in large distributed multimedia applications where each application has ifferent types of sophisticated resource requirements. Beyond the scope of our test-bed we believe that this componentbased architecture is well suited for general large scale streaming media applications such as video-conferencing and video on demand services.
MemNet: Memory-Mapped Networking for Servers
, 2002
"... TCP/IP protocol processing has become the dominant overhead in network servers. With the advent of memory-mapped SAN technologies such as VIA and In niBand, the intra-server transport protocols have been made extremely ecient. Our solution to reduce the client-server network processing overhead is ..."
Abstract
- Add to MetaCart
TCP/IP protocol processing has become the dominant overhead in network servers. With the advent of memory-mapped SAN technologies such as VIA and In niBand, the intra-server transport protocols have been made extremely ecient. Our solution to reduce the client-server network processing overhead is to ooad the TCP/IP protocol from the application hosts to dedicated processors, nodes or intelligent network interface. We called this architecture a TCP Server.

