1 / 20

IO-Lite: A Unified I/O Buffering and Caching System

IO-Lite: A Unified I/O Buffering and Caching System. Vivek S. Pai, Peter Drusche Willy and Zwaenepoel 산업공학과 조희권. Contents. Introduction IO-Lite Design Implementation Performance Conclusion & Critique. Introduction.

devi
Download Presentation

IO-Lite: A Unified I/O Buffering and Caching System

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IO-Lite: A Unified I/O Buffering and Caching System Vivek S. Pai, Peter Drusche Willy and Zwaenepoel 산업공학과 조희권

  2. Contents • Introduction • IO-Lite Design • Implementation • Performance • Conclusion & Critique

  3. Introduction • General-purpose operating systems provide inadequate support for server applications • One of the problem is lack of integration among the various input-output (I/O) subsystems

  4. Introduction • The Problems of separate buffering /caching: • Redundant data copying • Multiple buffering • Lack of cross-subsystem optimization • IO-Lite: unifies all buffering and caching in the system for general purposing OS.

  5. IO-Lite Design: Principles • Immutable Buffers • All I/O data buffers are immutable. • Page Based Control • Buffer Aggregates • Buffer aggregates are instances of an abstraction data type (ADT) that represent I/O data • To modify the I/O data, buffer aggregates are used

  6. IO-Lite Design • Interprocess Communication (IPC) • IO-Lite uses an IPC mechanism similar to fbufs to support safe concurrent sharing • from network subsystem to the file system • from x-kernel to a general-purpose operating system • IO-Lite and the Filesystem • The filesystem itself remains unchanged

  7. IO-Lite Design • Access Control • IO-Lite maintains cached pools of buffers with a common access control list (ACL). • Data objects with the same ACL can be allocated in the same IO-Lite buffer

  8. IO-Lite Design

  9. IO-Lite Design • IO-Lite and Applications • To take full advantage of IO-Lite, application programs can use an extended I/O API that is based on buffer aggregates. • IO-Lite I/O API • Size_t IOL _read (int fd, IOL_Agg **aggr, size_t size) • Size_t IOL_write (int fd, IOL_Agg *aggr)

  10. IO-Lite Design • IO-Lite and the Network • Some modifications are required to network device drivers • Programs using IO-Lite must determine the ACL of a data object prior to storing the object in memory • With IO-Lite, early demultiplexing is necessary for best performance

  11. IO-Lite Design • Cache Replacement • Cache replacement in a unified caching /buffering system is difficult from that of a conventional file cache • Cache entries are maintained in a list ordered first by current use, then by time of last access. (eg. read, write,.. )

  12. IO-Lite Design • Impact of Immutable I/O buffers • All data is modified • Only additional cost is a buffer allocation • Only a subset of the data is modified • Chaining, indexing, buffer allocation cost • Widely scattered • Use mmap of UNIX system

  13. IO-Lite Design • Cross-Subsystem Optimization • A unified buffering/caching system enables certain optimizations across applications and OS subsystems not possible in conventional I/O systems. • Eg. Checksum • Generation number and address identify uniquely data contents

  14. IO-Lite Design • Operation in a Web server • IO-Lite’s ability to eliminate data copying and multiple buffering can dramatically reduce the cost of serving static and dynamic content • The impact is particularly strong in the case when a cached copy of the request content exists

  15. Implementation • Network System • BSD Network system • File System • Some modification of 4.4 BSD derived system • VM System • BSD VM system • IPC System • Modified BSD IPC System

  16. Performance

  17. Performance

  18. Performance

  19. Performance Figure 8. Various application runtimes

  20. Conclusion & Critique • Conclustion • This paper presents the design, implementation, and evaluation of IO-Lite • IO-Lite shows good performance • Critique • Well described and considered system • Idea is simple and excellent

More Related