Implications of Emerging 3D GPU Architecture on the Scan Primitive

Paper on ACM DL Local Download


Analytic database workloads are growing in data size and query complexity. At the same time, computer architects are struggling to continue the meteoric increase in performance enabled by Moore’s Law. We explore the impact of two emerging architectural trends which may help continue the Moore’s Law performance trend for analytic database workloads, namely 3D die-stacking and tight accelerator-CPU integration, specifically GPUs. GPUs have evolved from fixed-function units, to programmable discrete chips, and now are integrated with CPUs in most manufactured chips. Past efforts to use GPUs for analytic query processing have not had widespread practical impact, but it is time to re-examine and re-optimize database algorithms for massively data-parallel architectures. We argue that high-throughput data-parallel accelerators are likely to play a big role in future systems as they can be easily exploited by database systems and are becoming ubiquitous. Using the simple scan primitive as an example, we create a starting point for this discussion. We project the performance of both CPUs and GPUs in emerging 3D systems and show that the high-throughput data-parallel architecture of GPUs is more efficient in these future systems. We show that if database designers embrace emerging 3D architectures, there is possibly an order of magnitude performance and energy efficiency gain.

Jason Power, Yinan Li, Mark D. Hill, Jignesh M. Patel, and David A. Wood. 2015. Implications of Emerging 3D GPU Architecture on the Scan Primitive. SIGMOD Rec. 44, 1 (May 2015), 18-23. DOI=

    author = {Jason Jason and Yinan Li and Mark D. Hill and Jignesh M. Patel and David A. Wood},
    title = {Implications of Emerging 3D GPU Architecture on the Scan Primitive},
    journal = {SIGMOD Rec.},
    issue_date = {March 2015},
    volume = {44},
    number = {1},
    month = may,
    year = {2015},
    issn = {0163-5808},
    pages = {18--23},
    numpages = {6},
    url = {},
    doi = {10.1145/2783888.2783896},
    acmid = {2783896},
    publisher = {ACM},
    address = {New York, NY, USA},