• DocumentCode
    1034565
  • 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
  • Volume
    27
  • Issue
    3
  • fYear
    1994
  • fDate
    3/1/1994 12:00:00 AM
  • Firstpage
    75
  • Lastpage
    82
  • 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;
  • fLanguage
    English
  • Journal_Title
    Computer
  • Publisher
    ieee
  • ISSN
    0018-9162
  • Type

    jour

  • DOI
    10.1109/2.268889
  • Filename
    268889