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 language | English |
---|---|
Title of host publication | Proceedings of the 27th International Conference on Compiler Construction |
Place of Publication | New York, NY, USA |
Publisher | ACM Association for Computing Machinery |
Pages | 104–115 |
ISBN (Print) | 9781450356442 |
DOIs | |
Publication status | Published - 24 Feb 2018 |
Event | 27th International Conference on Compiler Construction - Vienna, Austria Duration: 24 Feb 2018 → 25 Feb 2018 https://cc-conference.github.io/18/ |
Publication series
Name | CC 2018 |
---|---|
Publisher | Association for Computing Machinery |
Conference
Conference | 27th International Conference on Compiler Construction |
---|---|
Abbreviated title | CC'18 |
Country/Territory | Austria |
City | Vienna |
Period | 24/02/18 → 25/02/18 |
Internet address |
Keywords / Materials (for Non-textual outputs)
- concurrency
- I/O
- dataflow