Системы NVIDIA DGX A100 640 ГБ и BlazingSQL обеспечивают большую ценность в небольшом пространстве

Вступление

За два года, прошедшие с момента его появления, команда RAPIDS была сосредоточена на повышении производительности графических процессоров в экосистеме науки о данных Python. Если производительность является основной целью, критически важно иметь возможность измерить эту производительность и то, как она меняется с течением времени. Тесты помогают нам понять влияние обоих улучшений (а иногда и регрессов!) На программное и аппаратное обеспечение. Существует ряд внутренних тестов, которые использовались для тестирования RAPIDS. Однако в прошлом году мы сосредоточились на создании надежного, воспроизводимого и реалистичного эталонного теста производительности для более последовательного тестирования RAPIDS в отношении сквозного рабочего процесса больших данных в масштабе 10+ терабайт (ТБ).

Сегодня мы хотим объяснить, что мы используем для тестирования RAPIDS и как прогрессируют наши результаты. Мы также хотим продемонстрировать возможности RAPIDS на только что анонсированном новом графическом процессоре NVIDIA A100 80GB. Предупреждение о спойлере - новый A100 80GB превосходит наши предыдущие показатели производительности, выполняя такой же объем работы примерно на половине количества узлов. Это впечатляющий набор оборудования, идеально подходящий для рабочих нагрузок в области анализа данных.

Сводка тестов для обработки больших данных на GPU в 2020 году

В нашем тесте, который мы называем тестом для больших данных GPU (GPUbdb), используется 10 ТБ смоделированных данных, предназначенных для имитации реальных данных от крупной розничной или финансовой компании. Он включает сочетание структурированных и неструктурированных данных, требующих крупномасштабного ETL, обработки естественного языка и машинного обучения. Что наиболее важно, эталонный тест оценивается «от начала до конца», включая все, от загрузки данных до записи выходных файлов - это означает, что данные запускаются на диск, считываются в графические процессоры, выполняется аналитика, а результат записывается обратно. на диск. Это делает эталонный тест непосредственно применимым к реальным рабочим процессам, применимым ко многим предприятиям. Отлично, а как RAPIDS смотрится на этом тесте?

Май 2020 - NVIDIA DGX-1 + RAPIDS + Dask

На GTC Spring 2020 генеральный директор NVIDIA Дженсен Хуанг объявил предварительные результаты, выполнив всю рабочую нагрузку теста GPUbdb менее чем за 30 минут на 16 узлах NVIDIA DGX-1 с использованием 128 графических процессоров NVIDIA V100. Наша реализация кода в основном полагалась на аналитику графического процессора DataFrame в масштабе, предоставляемом инструментами PyData, такими как RAPIDS 0.13, Dask, Numba, CuPy и другими. Мы полагались на UCX, чтобы воспользоваться преимуществами NVIDIA NVLink, высокоскоростного соединения GPU-GPU. Стоимость кластера составляла ок. 2 миллиона долларов.

Настройка:

  • Масштабный коэффициент - 10 ТБ
  • Системы: 16x NVIDIA DGX-1
  • Аппаратное обеспечение: всего 128 графических процессоров NVIDIA V100 с общим объемом памяти графического процессора 4 ТБ, подключенных локально через NVIDIA NVLink и между узлами через сеть NVIDIA Mellanox InfiniBand.
  • Программное обеспечение: RAPIDS v0.14, Dask v2.16.0, UCX-Py v0.14

Июнь 2020 - NVIDIA DGX A100 320GB + RAPIDS + Dask

В июне 2020 года NVIDIA снова объявила о прорыве в производительности, завершив тест GPUbdb менее чем за 15 минут (½ времени) с использованием 16 узлов NVIDIA DGX A100 320 ГБ и недавно выпущенного программного обеспечения RAPIDS 0.14. Используя то же количество узлов с новыми (на тот момент) A100GPU, мы смогли удвоить нашу производительность. Усовершенствования как аппаратного, так и программного обеспечения сделали возможным этот огромный скачок. Стоимость кластера составляла ок. 3,2 миллиона долларов - выше, чем предыдущий результат для 16 систем DGX-1, но повышение производительности привело к более низкой совокупной стоимости владения (TCO), чем решение DGX-1.

Настройка:

  • Масштабный коэффициент - 10 ТБ
  • Системы: 16x NVIDIA DGX A100 320 ГБ
  • Аппаратное обеспечение: всего 128 графических процессоров NVIDIA A100 с общим объемом памяти графического процессора 5 ТБ, подключенных локально через NVIDIA NVLink и NVIDIA NVSwitch, а также между узлами через сеть NVIDIA Mellanox InfiniBand.
  • Программное обеспечение: RAPIDS v0.15, Dask v2.17.0, UCX v0.15

Однако большая часть нашего кода основана на DataFrames. Хотя API-интерфейсы DataFrame великолепны, многие люди лучше знакомы с SQL. Мы знали, что реализация этого теста в первую очередь на SQL будет иметь решающее значение для демонстрации того, что тысячи SQL-запросов, выполняемых на кластерах ЦП в разных компаниях, будут быстрее и дешевле на графических процессорах. Войдите в BlazingSQL.

Октябрь 2020 г .-- NVIDIA DGX A100 320 ГБ + RAPIDS + Dask + BlazingSQL

BlazingSQL - это высокопроизводительный распределенный SQL-движок на Python, построенный на RAPIDS. Реализация этого теста BlazingSQL подняла планку еще выше. Версия BlazingSQL завершила тест менее чем за 12 минут, имея всего 10 узлов DGX A100 320 ГБ. Это на 20% более высокая производительность при 60% стоимости (примерно 2 миллиона долларов для кластера).

Настройка:

  • Масштабный коэффициент - 10 ТБ
  • Системы: 10x NVIDIA DGX A100 320 ГБ
  • Аппаратное обеспечение: всего 80 графических процессоров NVIDIA A100 с общим объемом памяти графического процессора 3,2 ТБ.
  • Программное обеспечение: RAPIDS v0.16, Dask v2.30.0, BlazingSQL v0.16

Как бы мы ни были взволнованы этими результатами, мы не собирались останавливаться.

Ноябрь 2020 - DGX POD с DGX A100 640 ГБ + RAPIDS + Dask + BlazingSQL

NVIDIA анонсировала на SuperCompute 2020 новую версию графического процессора A100, увеличивающую объем памяти на каждый графический процессор с 40 до 80 ГБ. Это очень важно для рабочих нагрузок в области анализа данных, которые обычно требуют большого объема памяти и часто требуют временного увеличения использования памяти. Хотя RAPIDS имеет множество инструментов для управления рабочими нагрузками, размер которых превышает объем памяти, ничто не может заменить простое увеличение объема памяти.

На основе этого выпуска мы рады показать пошаговое улучшение нашей производительности и экономии средств. Используя BlazingSQL, RAPIDS, Dask, CuPy и Numba на одном DGX POD с 6 узлами DGX A100 640 ГБ, мы завершили тест менее чем за 11 минут. Это еще быстрее при одновременном снижении затрат еще на 10% (примерно 1,8 миллиона долларов для кластера). Увеличенный объем памяти позволяет нам увеличивать объем памяти во время ключевых операций ETL, что значительно снижает необходимость перенаправления данных из памяти графического процессора в память процессора.

Настройка:

  • Масштабный коэффициент - 10 ТБ
  • Системы: 6x NVIDIA DGX A100 640 ГБ
  • Аппаратное обеспечение: всего 48 графических процессоров NVIDIA A100 с общим объемом памяти графического процессора 3,8 ТБ.
  • Программное обеспечение: RAPIDS v0.16, Dask v2.30.0, BlazingSQL v0.16

Заключение

Эти результаты впечатляют, потому что у нас не только есть четкий путь к более эффективному тестированию производительности RAPIDS, но и мы можем показать наши улучшения с течением времени. При переходе от графических процессоров V100 32 ГБ к графическим процессорам A100 80 ГБ мы улучшили наши результаты RAPIDS 0,14, завершив тест за 30 минут на системе стоимостью 2 миллиона долларов, до менее 11 минут в системе стоимостью 1,8 миллиона долларов, использующей BlazingSQL на RAPIDS 0,16.

A100 80GB представляет собой впечатляющий набор оборудования, а его дополнительная память делает его идеально подходящим для тех видов высокопроизводительного анализа данных, для которых предназначен RAPIDS. DGX POD с шестью узлами и одной стойкой с DGX A100 640 ГБ может обрабатывать рабочие нагрузки 10 ТБ на молниеносной скорости - впечатляющая производительность. Не менее важно то, что программное обеспечение RAPIDS становится все более эффективным. Рассматривая как программное обеспечение, так и оборудование в целом, команда RAPIDS делает огромный потенциал ускоренных вычислений доступным для специалистов-практиков в различных отраслях и учреждениях.