Affiliation:
1. University of California, Irvine, Irvine, CA, USA
Abstract
The past decade has witnessed the increasing demands on data-driven business intelligence that led to the proliferation of data-intensive applications. A managed object-oriented programming language such as Java is often the developer's choice for implementing such applications, due to its quick development cycle and rich community resource. While the use of such languages makes programming easier, their automated memory management comes at a cost. When the managed runtime meets Big Data, this cost is significantly magnified and becomes a scalability-prohibiting bottleneck. This paper presents a novel compiler framework, called Facade, that can generate highly-efficient data manipulation code by automatically transforming the data path of an existing Big Data application. The key treatment is that in the generated code, the number of runtime heap objects created for data types in each thread is (almost) statically bounded, leading to significantly reduced memory management cost and improved scalability. We have implemented Facade and used it to transform 7 common applications on 3 real-world, already well-optimized Big Data frameworks: GraphChi, Hyracks, and GPS. Our experimental results are very positive: the generated programs have (1) achieved a 3%--48% execution time reduction and an up to 88X GC reduction; (2) consumed up to 50% less memory, and (3) scaled to much larger datasets.
Funder
National Science Foundation
Office of Naval Research
Publisher
Association for Computing Machinery (ACM)
Reference75 articles.
1. Zing: Java for the real time business. http://www.azulsystems.com/products/zing/whatisit. Zing: Java for the real time business. http://www.azulsystems.com/products/zing/whatisit.
2. Hyracks: A data parallel platform. http://code.google.com/p/hyracks/ 2014. Hyracks: A data parallel platform. http://code.google.com/p/hyracks/ 2014.
Cited by
7 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献