• DocumentCode
    573312
  • Title

    AESOP: Expressing Concurrency in High-Performance System Software

  • Author

    Kimpe, Dries ; Carns, Philip ; Harms, Kevin ; Wozniak, Justin M. ; Lang, Samuel ; Ross, Robert

  • Author_Institution
    Math. & Comput. Sci. Div., Argonne Nat. Lab., Argonne, IL, USA
  • fYear
    2012
  • fDate
    28-30 June 2012
  • Firstpage
    303
  • Lastpage
    312
  • Abstract
    High-performance computing (HPC) and distributed systems rely on a diverse collection of system soft-ware to provide application services, including file systems, schedulers, and web services. Such system software services must manage highly concurrent requests, interact with a wide range of resources, and scale well in order to be successful. Unfortunately, no single programming model for distributed system software currently offers optimal performance and productivity for all these tasks. While numerous libraries, languages, and language extensions have been developed in recent years to simplify parallel computation, they do not address the challenges of distributed system software in which concurrency control involves a variety of hardware and network devices, not just computational resources. In this work we present AESOP, a new programming language and programming model designed to implement distributed system software with high development productivity and run-time efficiency. AESOP is a superset of the C language that describes blocks of code to be executed concurrently without dictating whether that concurrency will be provided by a threading, event, or other model. This decoupling enables system software to adjust to different architectures, device APIs, and workloads without any change to the core algorithm implementation. AESOP also provides additional language constructs to simplify common system software development tasks. We evaluate AESOP by implementing a basic file server and comparing its performance, memory efficiency, and developer productivity with several thread-based and event-based implementations. AESOP is shown to provide competitive performance to traditional distributed system software development models while at the same time reducing code complexity and enhancing developer productivity.
  • Keywords
    C language; application program interfaces; concurrency control; file servers; parallel processing; AESOP; API; C language; HPC; Web services; concurrency control; distributed system software; event-based implementations; file server; file systems; high-performance computing; high-performance system software; parallel computation; programming language; programming model; schedulers; thread-based implementations; Computer architecture; Concurrent computing; Instruction sets; Libraries; Programming; Servers; High-performance computing; I/O; programming model;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Networking, Architecture and Storage (NAS), 2012 IEEE 7th International Conference on
  • Conference_Location
    Xiamen, Fujian
  • Print_ISBN
    978-1-4673-1889-1
  • Type

    conf

  • DOI
    10.1109/NAS.2012.41
  • Filename
    6310958