
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.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 6 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Top 10% |
