Parallel join executions in RAMCloud

Christian Tinnefeld, Donald Kossmann, Joos-Hendrik Boese, Hasso Plattner · 2014

Modern large-scale storage systems provide not only storage capacity, but also processing power. When such a storage system serves as persistence for a database application, it is desirable to utilize its processing power for supporting query execution. In this paper, we evaluate the parallel execution of join operations in Stanford's RAMCloud which is a DRAM-based storage system connected via RDMA-enabled network adapters. We a) provide a system model to derive the execution costs for the Grace Join, the Distributed Block Nested Loop Join, and the Cyclo Join algorithm and their corresponding implementations in RAMCloud. We describe b) how the execution time for a single join operation depends on factors such as relation sizes, numbers of nodes used for a join, and the chosen algorithm. We finally introduce and evaluate c) a set of heuristics for parameterizing the execution of many join operations in parallel with the goal of maximizing the throughput.

Read the paper · More papers on PaperTik