Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Сравнение системы в исходном состоянии и Kubernetes: распределенное обучение с TensorFlow

Summary: TensorFlow, Kubernetes, графический процессор, распределенное обучение

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

Авторы статьи: Ракшитх Васудев (Rakshith Vasudev) и Джон Локман (John Lockman), HPC AI Innovation Lab, октябрь 2019 г.

Cause

-

Resolution

Содержание

  1. Введение
    1. Исходное состояние системы
    2. Kubernetes
  2. Версии ПО
  3. Пример использования: CheXNet
  4. Технические характеристики оборудования
  5. Производительность
  6. Резюме
     

Введение

В этой статье оценивается масштабирование производительности при тестировании CheXNet на серверах Dell EMC C4140 с графическими процессорами Nvidia V100 SXM2. Используется два подхода, которые применяются в современных центрах обработки данных. Традиционная система HPC "Исходное состояние системы" со средой Anaconda и контейнерная система с контейнерами Nvidia GPU Cloud (NGC), работающих в локальной среде Kubernetes.

Исходное состояние системы
Система в исходном состоянии — это традиционный кластер HPC, в котором программные стеки устанавливаются непосредственно на локальный жесткий диск или в подключенную общую сеть. Программными средами управляет системный администратор. Пользователи могут создавать программное обеспечение только в общей файловой системе /home. Пакетное планирование кода пользователя выполняется диспетчером рабочей нагрузки Slurm.

Kubernetes
Наша система Kubernetes (K8s) использует контейнеры Nvidia NGC для предоставления всех необходимых условий для программного обеспечения, настроек сред и много другого. Системный администратор только устанавливает базовую операционную систему, драйверы и k8s. Контейнеры на базе Docker можно скачать в NGC во время установки или они могут храниться в локальном реестре. K8s осуществляет управление нагрузкой, обеспечивает доступность ресурсов, выполняет запуск распределенных заданий и масштабирование по требованию.
 

Версии ПО

 

Контейнер NGC nvcr.io/nvidia/tensorflow:19.06- py3

Версии среды Conda

Структура

TensorFlow 1.13.1

TensorFlow 1.12.0

Horovod

0.15.1

0.16.1

MPI

OpenMPI 3.1.3

OpenMPI 4.0.0

CUDA

10,2

10.1

Драйвер CUDA

430.26

418.40.04

NCCL

2.4.7

2.4.7

CUDNN

7.6.0

7.6.0

Python

3.5.2

3.6.8

Операционная система

Ubuntu 16.04.6

RHEL 7.4

GCC

5.4.0

7,2.0.

Таблица 1.
 


Пример использования: CheXNet

Как было указано ранее, CheXNet — это вспомогательная модель на основе ИИ для радиологов, которая использует DenseNet для идентификации до 14 патологий на изображении рентгена грудной клетки. Были изучены несколько подходов горизонтального масштабирования обучения модели, которая может работать также или лучше, чем оригинальная модель CheXNet-121 с RESNET-50, демонстрирующих положительные перспективы как для масштабируемости, так и для повышения точности обучения (положительное значение AUROC). Авторы продемонстрировали масштабируемость систем с ЦП, однако мы заинтересованы в использовании параллелизма графических процессоров для ускорения процесса обучения. Сервер Dell EMC PowerEdge C4140 обеспечивает как плотность, так и производительность благодаря четырем графическим процессорам Nvidia V100 в конфигурации SXM2.
 


Технические характеристики оборудования

 

Система в исходном состоянии

Система Kubernetes

Платформа

PowerEdge C4140

PowerEdge C4140

ЦП

2 процессора Intel® Xeon® Gold 6148, 2,4 ГГц

2 процессора Intel® Xeon® Gold 6148, 2,4 ГГц

Модули

384 Гбайт, DDR4 2666 МГц

384 Гбайт, DDR4 2666 МГц

Хранилища

Lustre

NFS

Графический процессор

V100-SXM2 32 Гбайт

V100-SXM2 32 Гбайт

Операционная система

RHEL 7,4 x86_64

CentOS 7.6

Ядро Linux

3.10.0-693.x86_64

3.10.0-957.21.3.el7.x86_64

Сеть

Mellanox EDR InfiniBand

Mellanox EDR InfiniBand

(IP over IB)

Таблица 2.
 

Производительность

Пропускная способность изображений измерялась в изображениях в секунду при тестировании CheXNet на 2 узлах C4140 с 1, 2, 3, 4 и 8 графическими процессорами на обеих системах, описанных в Таблице 2. Характеристики запуска, включая архитектуру модели, входные данные и другие сведения, подробно описаны в этой статье. На рис. 1 представлено сравнение показателей производительности системы Kubernetes и системы в исходном состоянии.

 SLN318899_en_US__1image(12054)
Рис. 1. Запуск тестирования CheXNet на K8s и системе в исходном состоянии
 


Резюме

Система в исходном состоянии показывает увеличение производительности на 8% при горизонтальном масштабировании до 8 графических процессоров. Однако различия в характеристиках архитектуры системы могли привести к такой незначительной разнице в производительности, помимо сравнения контейнерной системы и системы в исходном состоянии. Система в исходном состоянии может использовать полную пропускную способность и задержку необработанного соединения InfiniBand. Кроме того, ей не придется справляться с издержками, к которым приводят программно-определяемые сетевые сервисы, например фланель. Дело еще и в том, что система K8s использует протокол IP over InfiniBand, который может привести к сокращению пропускной способности. 
Эти значения могут различаться в зависимости от рабочей нагрузки и схем связи, определяемых типом запущенных приложений. В случае проблем с классификацией изображений скорость, с которой устанавливается связь между графическими процессорами, высока, и, следовательно, уровень обмена данными тоже. Однако именно требования рабочей нагрузки определяют, какой метод использовать. Хотя в системе на базе Kubernetes отмечается небольшое снижение производительности — около 8% в этом случае — она позволяет освободить пользователей и администраторов от настройки библиотек, параметров, сред и других зависимых компонентов. Этот метод позволяет аналитикам данных повысить свою продуктивность и сосредоточить свое внимание на разрешении основных задач бизнеса, например первичная обработка данных и построение модели.


 


 

 

Article Properties


Affected Product

High Performance Computing Solution Resources, Poweredge C4140

Last Published Date

23 Sep 2021

Version

5

Article Type

Solution