Back to Search Start Over

MPLR '22: Proceedings of the 19th International Conference on Managed Programming Languages and Runtimes / Automatic array transformation to columnar storage at run time

Authors :
Makor, Lukas
Kloibhofer, Sebastian
Leopoldseder, David
Bonetta, Daniele
Stadler, Lukas
Mössenböck, Hanspeter
Publication Year :
2022
Publisher :
ACM, 2022.

Abstract

Today’s huge memories make it possible to store and process large data structures in memory instead of in a database. Hence, accesses to this data should be optimized, which is normally relegated either to the runtimes and compilers or is left to the developers, who often lack the knowledge about optimization strategies. As arrays are often part of the language, developers frequently use them as an underlying storage mechanism. Thus, optimization of arrays may be vital to improve performance of data-intensive applications. While compilers can apply numerous optimizations to speed up accesses, it would also be beneficial to adapt the actual layout of the data in memory to improve cache utilization. However, runtimes and compilers typically do not perform such memory layout optimizations. In this work, we present an approach to dynamically perform memory layout optimizations on arrays of objects to transform them into a columnar memory layout, a storage layout frequently used in analytical applications that enables faster processing of read-intensive workloads. By integration into a state-of-the-art JavaScript runtime, our approach can speed up queries for large workloads by up to 9x, where the initial transformation overhead is amortized over time. Version of record

Details

Language :
English
Database :
OpenAIRE
Accession number :
edsair.od......3361..9bed8b7791d3b30d00ed6558e816c984