Motivation
Sharing GPUs among concurrent queries is not supported, causing serious resource underutilization.
Problems with Uncoordinated Query Co-Running
- Device memory swapping
- Query scheduling
1. Device memory swapping
How to Coordinate the conflicting demands for device memory space from different queries?
- Maintains a swapping buffer in the host memory.
- Device memoryDevice memory manager selects some swappable regions from the list and evicts them to the swapping buffer When free space becomes insufficient.
- Data Replacement: CDR (Cost-Driven Replacement)Data Replacement: CDR (Cost-Driven Replacement)
2. Device memory swapping
- Weighted device memory demand:
- If the number exceeds the availableIf the number exceeds the available
device memory capacity, the query’s execution needs to be delayed. - The query scheduler considers rescheduling a postponed query every time when a running query’s resource demand changes or when a query finishes execution
Experiment
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.