UIO: a uniform I/O system interface for distributed systems
ACM Transactions on Computer Systems (TOCS)
Improving the efficiency of UNIX buffer caches
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
Performance of a disk array protype
SIGMETRICS '91 Proceedings of the 1991 ACM SIGMETRICS conference on Measurement and modeling of computer systems
The design and implementation of a log-structured file system
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Scheduling and IPC mechanisms for continuous media
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Advanced programming in the UNIX environment
Advanced programming in the UNIX environment
Fbufs: a high-bandwidth cross-domain transfer facility
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Protocol service decomposition for high-performance networking
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
HFS: a performance-oriented flexible file system based on building-block compositions
Proceedings of the fourth workshop on I/O in parallel and distributed systems: part of the federated computing research conference
HFS: a performance-oriented flexible file system based on building-block compositions
ACM Transactions on Computer Systems (TOCS)
Fast and flexible application-level networking on exokernel systems
ACM Transactions on Computer Systems (TOCS)
High-speed I/O: the operating system as a signalling mechanism
NICELI '03 Proceedings of the ACM SIGCOMM workshop on Network-I/O convergence: experience, lessons, implications
Enabling autonomic behavior in systems software with hot swapping
IBM Systems Journal
Hi-index | 4.11 |
The authors introduce an application-level I/O facility, the Alloc Stream Facility, that addresses three primary goals. First, ASF addresses recent computing substrate changes to improve performance, allowing applications to benefit from specific features such as mapped files. Second, it is designed for parallel systems, maximizing concurrency and reporting errors properly. Finally, its modular and object-oriented structure allows it to support a variety of popular I/O interfaces (including stdio and C++ stream I/O) and to be tuned to system behavior, exploiting a system's strengths while avoiding its weaknesses. On a number of standard Unix systems, I/O-intensive applications perform substantially better when linked to the Alloc facility. Also, modifying applications to use a new interface provided by the facility can improve performance by another factor of two. These performance improvements are achieved primarily by reducing data copying and the number of system calls. Not visible in these improvements is the extra degree of concurrency the facility brings to multithreaded and parallel applications.