Compiling for Concise Code and Efficient I/O

Sebastian Ertel, Andrés Goens, Justus Adam, Jeronimo Castrillon

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Large infrastructures of Internet companies, such as Facebook and Twitter, are composed of several layers of micro-services. While this modularity provides scalability to the system, the I/O associated with each service request strongly impacts its performance. In this context, writing concise programs which execute I/O efficiently is especially challenging. In this paper, we introduce auhau, a novel compile-time solution. auhau reduces the number of I/O calls through rewrites on a simple expression language. To execute I/O concurrently, it lowers the expression language to a dataflow representation. Our approach can be used alongside an existing programming language, permitting the use of legacy code. We describe an implementation in the JVM and use it to evaluate our approach. Experiments show that auhau can significantly improve I/O, both in terms of the number of I/O calls and concurrent execution. auhau outperforms state-of-the-art approaches with similar goals.
Original languageEnglish
Title of host publicationProceedings of the 27th International Conference on Compiler Construction
Place of PublicationNew York, NY, USA
PublisherACM Association for Computing Machinery
Pages104–115
ISBN (Print)9781450356442
DOIs
Publication statusPublished - 24 Feb 2018
Event27th International Conference on Compiler Construction - Vienna, Austria
Duration: 24 Feb 201825 Feb 2018
https://cc-conference.github.io/18/

Publication series

NameCC 2018
PublisherAssociation for Computing Machinery

Conference

Conference27th International Conference on Compiler Construction
Abbreviated titleCC'18
Country/TerritoryAustria
CityVienna
Period24/02/1825/02/18
Internet address

Keywords / Materials (for Non-textual outputs)

  • concurrency
  • I/O
  • dataflow

Fingerprint

Dive into the research topics of 'Compiling for Concise Code and Efficient I/O'. Together they form a unique fingerprint.

Cite this