Инструменты30 июня 2026 г., 22:20 МСК🤖 Auto

NVIDIA GQE: Ускорение SQL-запросов в 25 раз на базе GB200

NVIDIA представила GQE — архитектуру GPU-ускоренных SQL-запросов, обеспечивающую ускорение до 25.5x на бенчмарке TPC-H за счет гибридного сжатия и оптимизации передачи данных.

Баннер новости 2593

Прорыв в производительности: цифры и метрики

NVIDIA представила GQE (GPU Query Engine) как эталонную архитектуру для выполнения SQL-запросов на современных GPU. Ключевые результаты тестирования на бенчмарке TPC-H SF1000 демонстрируют впечатляющие показатели:

  • 7.5x — совокупное ускорение по сравнению с передовыми CPU-базами данных.
  • до 25.5x — максимальное ускорение для отдельных запросов.

Достигнутый результат стал возможен благодаря использованию аппаратных особенностей NVIDIA, таких как HBM, NVLink-C2C и выделенные декомпрессионные движки в системе NVIDIA GB200 NVL4.

Архитектура: три слоя оптимизации

GQE построена на базе библиотеки NVIDIA cuDF и других компонентов CUDA-X (CCCL, nvSHMEM). Архитектура разделена на три логических слоя:

  1. Query Layer: Принимает планы запросов в формате Substrait (открытый стандарт), что позволяет экспортировать планы из существующих СУБД (например, Apache DataFusion) и выполнять их на GPU.
  2. Data Layer: Управляет хранением и перемещением данных. Поддерживает GPU-память, CPU-память и диск. Данные передаются чанками (chunks) по требованию, что позволяет не загружать весь датасет в VRAM.
  3. Execution Layer: Выполняет физический план запроса через граф задач (task graph), используя оптимизированные CUDA C++ операторы из cuDF.

Гибридное сжатие и декомпрессия

Одной из главных проблем GPU-баз данных является пропускная способность памяти. GQE решает её через гибридную стратегию сжатия, используя библиотеку NVIDIA nvCOMP и аппаратный декомпрессор Blackwell. Система автоматически выбирает алгоритм для каждой колонки, балансируя между коэффициентом сжатия и скоростью декомпрессии.

Алгоритм/Технология Роль в GQE Преимущество
NVIDIA nvCOMP Библиотека сжатия/декомпрессии Аппаратно-ускоренная декомпрессия, поддержка LZ4 и других форматов
Blackwell Decompression Engine Аппаратный блок в GB200 Декомпрессия без нагрузки на SM (Streaming Multiprocessors)
Partition Pruning Отсечение данных Использование zone maps для передачи только нужных данных

Оркестрация передачи данных: Pipeline Parallelism

GQE минимизирует задержки за счет конвейерной обработки (pipeline parallelism). Передача данных от CPU к GPU разбита на четыре перекрывающихся этапа:

  • Stage 0: Планирование на хосте (вычисление диапазонов памяти, аллокация буферов).
  • Stage 1: Передача данных H2D (Host-to-Device) через NVLink/PCIe.
  • Stage 2: Декомпрессия данных на GPU.
  • Stage 3: Выполнение CUDA-ядер для обработки запроса.

Использование cudaMemcpyBatchAsync и конвейерных потоков позволяет скрыть задержки передачи и декомпрессии за вычислениями, обеспечивая максимальную загрузку GPU.

Почему это важно?

Раньше GPU-ускоренные базы данных часто упирались в узкое горлышко I/O и памяти. GQE показывает, что при правильной архитектуре (отказ от полного копирования данных в VRAM, использование аппаратной декомпрессии и стандартизация планов запросов через Substrait) можно достичь производительности, недостижимой для CPU-решений. Это открывает путь к аналитике над терабайтами данных в реальном времени без необходимости в экстремально дорогих CPU-кластерах.

Источник: NVIDIA dev blog ↗