文章目录
Wang K , Zhang K , Yuan Y , et al.
Concurrent analytical query processing with GPUs[J].
Proceedings of the VLDB Endowment, 2014, 7(11):1011-1022.
ABSTRACT
- GPUs used as dedicated accelerators to process individual query
- Sharing GPUs among concurrent queries not supported
- Based on the profiling of
- an opensource GPU query engine
- running commonly used singlequery data warehousing workloads,
- utilization of main GPU resources is 25%.
- low system throughput
an opensource GPU query engine一个开源的GPU查询引擎。在这上面跑普遍使用的单查询数据仓库负载
- proposes concurrent query execution as an solution.
- To efficiently share GPUs among concurrent queries for high throughput,
- provide software support
- to control and resolve resource contention
- Our solution relies on GPU query scheduling
- device memory swapping policies
- to address this challenge
- implemented a prototype system and evaluated it intensively
- results confirm the effectiveness and performance advantage of our approach
- By executing multiple GPU queries concurrently, system throughput can be improved by up to 55% compared with dedicated processing
1. INTRODUCTION
- Multitasking
- a proven practice in computer systems to achieve high resource utilization and system throughput
- wide adoption of GPUs for analytical query processing,
- mainly used as dedicated co-processors,
- unable to
- support efficient executions of multiple queries concurrently.
- data-driven characteristics of
- GPU operations,
- a single query can hardly consume all GPU resources
- Dedicated query processing leads to resource underutilization,
- limits the overall performance of the database system
- In market-critical applications
- high-performance data warehousing
- multi-client dataflow analysis
- large number of users demand query results simultaneously
- volume of data to be processed keeps increasing,
- essential for user queries to make continuous progress
- so that
- new results can be generated constantly to
- satisfy the goal of interactive analysis.
- The lack of concurrent querying capability restricts
the adoption of GPU databases in these application fields.
- dedicated usage of GPUs still needed for latency-
critical queries to ensure performance isolation - databases must support
- concurrent multi-query execution
- to maximize the throughput of non-latency-sensitive queries
对延迟敏感的查询,啥叫去保证性能隔离啊??
- This consolidated usage of GPU resources enhances system efficiency and functionalities, but it makes the design of query execution engine more challenging.
啥叫This consolidated usage of GPU resources
- For maximal performance,each user query tends to reserve a large amount of GPU resources.
- Unlike CPUs
- OS supports fine-grained context switches
- virtual memory abstractions for resource sharing,
- current GPU hardware and system software provide
- none of these interfaces
- for database resource management
GPU任务不能被强占
- GPU tasks cannot be preempted once started;
- on-demand data loading is not supported during task execution;
数据只能预先搞嘛??
- automatic data swapping service is also missing when the device memory undergoes pressure
- without efficient coordination by the database,
- multiple GPU queries attempting to execute simultaneously cause
- low resource usage,
- system thrashing,
- even query abortions,
- degrade, overall system performance