To benefit from the performance improvement offered by GPUs without sacrificing the versatility offered by CPUs


  Ailamaki Anastasia


With data volume snowballing rapidly and the limitations of scaling up with CPUs, it is becoming increasingly difficult to get real-time data analytics. In this context, General-Purpose Graphics Processing Units (GPU) offer a 700× performance improvement over traditional CPU-based analytical engines in some situations. Yet, despite the performance advantage, penetration of GPU technology has been constrained by lack of versatility in memory transfer. GPU-based engines make simplifying assumptions about several aspects like data size, workload partitionability, expected concurrency levels, or SQL compatibility, among others. Such assumptions do not fit into most applications.

The goal of the project on a GPU-based analytics engine is to benefit from the performance improvement offered by GPUs without sacrificing the versatility offered by CPUs. To achieve that, the DIAS lab is developing an in-memory, analytical engine that enables real-time business intelligence by supporting concurrent execution of ad-hoc SQL queries over terabyte-sized databases using multiple GPUs.

The functioning of an analytical engine depends on three design aspects: data layout and storage models, query execution and processing models, and run-time optimization and scheduling models. The project will revisit each of these aspects with the perspective of developing new techniques that can exploit GPU-specific properties to establish rules of thumb for designing versatile, GPU-based data analytics engines.

The DIAS lab has a tradition of designing open-source database engines that have found acceptance among researchers in the corporate and academic worlds. The development of an open-source GPU-based analytics engine will be a continuation of that tradition by acting as a foundation for the design of more advanced analytics applications in diverse fields such as finance, security, and e-commerce.

The project is funded by the Swiss National Science Foundation, Project No.: 200021_178894