Overview of the main idea (3 sentences)

The authors propose a user-space algorithm for parallelizing DBMS query execution. The “tasks” that are to be parallelized are a partition of individual “pipelines” that make up queries (see previous notes on what constitutes a pipeline). So, for each pipeline, they break it up into partitions (could be round-robin, “keyless sharding”, or based on some data attribute which is even better because of joins), and then each of those “pipeline-partition jobs” gets treated as an individual, parallelizable task. Furthermore, the authors also propose scheduling these across NUMA-aware worker threads. This way, each worker thread only should have to access very local data. The authors start 1 thread for each physical core on the machine. Sometimes, however, if a thread is free it might do some work that is not NUMA-local (this is not ideal but it’s better than sitting idle).

Key findings / takeaways from the paper (2-3 sentences)

System used in evaluation and how it was modified/extended (1 sentence)

The authors used Hyper and they tested the following different scheduling mechanisms:

Workload Evaluated (1 sentence)

TPC-H and SSB.