Title :
The Alloc Stream Facility: a redesign of application-level stream I/O
Author :
Krieger, Orran ; Stumm, Michael ; Unrau, Ron
Author_Institution :
Dept. of Electr. & Comput. Eng., Toronto Univ., Ont., Canada
fDate :
3/1/1994 12:00:00 AM
Abstract :
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.<>
Keywords :
Unix; input-output programs; object-oriented methods; parallel programming; ASF; Alloc Stream Facility; C++ stream I/O; I/O-intensive applications; application-level I/O facility; application-level stream I/O; concurrency; mapped files; multithreaded applications; object-oriented structure; parallel applications; parallel systems; performance improvements; popular I/O interfaces; standard Unix systems; stdio; system behavior; Computer applications; Computer architecture; Computer interfaces; Computer languages; Concurrent computing; Costs; Hardware; Libraries; Operating systems; Workstations;