Cargando…

Concurrent query processing in a GPU-based database system

The unrivaled computing capabilities of modern GPUs meet the demand of processing massive amounts of data seen in many application domains. While traditional HPC systems support applications as standalone entities that occupy entire GPUs, there are GPU-based DBMSs where multiple tasks are meant to b...

Descripción completa

Detalles Bibliográficos
Autores principales: Li, Hao, Tu, Yi-Cheng, Zeng, Bo
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Public Library of Science 2019
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6467383/
https://www.ncbi.nlm.nih.gov/pubmed/30990851
http://dx.doi.org/10.1371/journal.pone.0214720
_version_ 1783411262148837376
author Li, Hao
Tu, Yi-Cheng
Zeng, Bo
author_facet Li, Hao
Tu, Yi-Cheng
Zeng, Bo
author_sort Li, Hao
collection PubMed
description The unrivaled computing capabilities of modern GPUs meet the demand of processing massive amounts of data seen in many application domains. While traditional HPC systems support applications as standalone entities that occupy entire GPUs, there are GPU-based DBMSs where multiple tasks are meant to be run at the same time in the same device. To that end, system-level resource management mechanisms are needed to fully unleash the computing power of GPUs in large data processing, and there were some researches focusing on it. In our previous work, we explored the single compute-bound kernel modeling on GPUs under NVidia’s CUDA framework and provided an in-depth anatomy of the NVidia’s concurrent kernel execution mechanism (CUDA stream). This paper focuses on resource allocation of multiple GPU applications towards optimization of system throughput in the context of systems. Comparing to earlier studies of enabling concurrent tasks support on GPU such as MultiQx-GPU, we use a different approach that is to control the launching parameters of multiple GPU kernels as provided by compile-time performance modeling as a kernel-level optimization and also a more general pre-processing model with batch-level control to enhance performance. Specifically, we construct a variation of multi-dimensional knapsack model to maximize concurrency in a multi-kernel environment. We present an in-depth analysis of our model and develop an algorithm based on dynamic programming technique to solve the model. We prove the algorithm can find optimal solutions (in terms of thread concurrency) to the problem and bears pseudopolynomial complexity on both time and space. Such results are verified by extensive experiments running on our microbenchmark that consists of real-world GPU queries. Furthermore, solutions identified by our method also significantly reduce the total running time of the workload, as compared to sequential and MultiQx-GPU executions.
format Online
Article
Text
id pubmed-6467383
institution National Center for Biotechnology Information
language English
publishDate 2019
publisher Public Library of Science
record_format MEDLINE/PubMed
spelling pubmed-64673832019-05-03 Concurrent query processing in a GPU-based database system Li, Hao Tu, Yi-Cheng Zeng, Bo PLoS One Research Article The unrivaled computing capabilities of modern GPUs meet the demand of processing massive amounts of data seen in many application domains. While traditional HPC systems support applications as standalone entities that occupy entire GPUs, there are GPU-based DBMSs where multiple tasks are meant to be run at the same time in the same device. To that end, system-level resource management mechanisms are needed to fully unleash the computing power of GPUs in large data processing, and there were some researches focusing on it. In our previous work, we explored the single compute-bound kernel modeling on GPUs under NVidia’s CUDA framework and provided an in-depth anatomy of the NVidia’s concurrent kernel execution mechanism (CUDA stream). This paper focuses on resource allocation of multiple GPU applications towards optimization of system throughput in the context of systems. Comparing to earlier studies of enabling concurrent tasks support on GPU such as MultiQx-GPU, we use a different approach that is to control the launching parameters of multiple GPU kernels as provided by compile-time performance modeling as a kernel-level optimization and also a more general pre-processing model with batch-level control to enhance performance. Specifically, we construct a variation of multi-dimensional knapsack model to maximize concurrency in a multi-kernel environment. We present an in-depth analysis of our model and develop an algorithm based on dynamic programming technique to solve the model. We prove the algorithm can find optimal solutions (in terms of thread concurrency) to the problem and bears pseudopolynomial complexity on both time and space. Such results are verified by extensive experiments running on our microbenchmark that consists of real-world GPU queries. Furthermore, solutions identified by our method also significantly reduce the total running time of the workload, as compared to sequential and MultiQx-GPU executions. Public Library of Science 2019-04-16 /pmc/articles/PMC6467383/ /pubmed/30990851 http://dx.doi.org/10.1371/journal.pone.0214720 Text en © 2019 Li et al http://creativecommons.org/licenses/by/4.0/ This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
spellingShingle Research Article
Li, Hao
Tu, Yi-Cheng
Zeng, Bo
Concurrent query processing in a GPU-based database system
title Concurrent query processing in a GPU-based database system
title_full Concurrent query processing in a GPU-based database system
title_fullStr Concurrent query processing in a GPU-based database system
title_full_unstemmed Concurrent query processing in a GPU-based database system
title_short Concurrent query processing in a GPU-based database system
title_sort concurrent query processing in a gpu-based database system
topic Research Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6467383/
https://www.ncbi.nlm.nih.gov/pubmed/30990851
http://dx.doi.org/10.1371/journal.pone.0214720
work_keys_str_mv AT lihao concurrentqueryprocessinginagpubaseddatabasesystem
AT tuyicheng concurrentqueryprocessinginagpubaseddatabasesystem
AT zengbo concurrentqueryprocessinginagpubaseddatabasesystem