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

Bare-metal rispetto a Kubernetes: Formazione distribuita con TensorFlow

Summary: TensorFlow, Kubernetes, GPU, formazione distribuita

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

L'articolo è stato scritto dae Vasudev e John Lockman - HPC AI Innovation Lab nel mese di ottobre 2019

Cause

-

Resolution

Sommario

  1. Introduzione
    1. Bare metal
    2. Kubernetes
  2. Versioni software
  3. Use case reale: CheXNet
  4. Specifiche hardware
  5. Prestazioni
  6. Riepilogo
     

Introduzione

In questo articolo, valutiamo le prestazioni di dimensionamento durante la formazione di CheXNet su GPU NVIDIA V100 SXM2 nei server Dell EMC C4140 utilizzando due approcci utilizzati nei Modern Data Center. Il tradizionale "bare metal" HPC con un ambiente costruito da Anaconda e un sistema containerizzato con contenitori Nvidia GPU Cloud (NGC) in esecuzione in un ambiente Kubernetes on-premise.

Bare-metal
Un sistema bare-metal è un cluster HPC tradizionale in cui gli stack software vengono installati direttamente sul disco rigido locale o su un mount di rete condiviso. La gestione degli ambienti software viene eseguita da un System Administrator. Gli utenti sono limitati alla creazione di software in un file system condiviso /home. Il codice utente viene pianificato in batch dal responsabile del carico di lavoro Slurm.

Kubernetes
Il nostro sistema Kubernetes (K8s) utilizza i contenitori NGC di NVIDIA per fornire tutti i prerequisiti software richiesti, le configurazioni dell'ambiente e così via. L'amministratore di sistema installa solo il sistema operativo di base, i driver e k8s. Questi contenitori basati su Docker possono essere scaricati da NGC durante l'esecuzione o archiviati in un registro locale. K8s gestisce la gestione dei carichi di lavoro, la disponibilità delle risorse, il lancio di job distribuiti e il dimensionamento on-demand.
 

Versioni software

 

Contenitore NGC nvcr.io/nvidia/tensorflow:19.06-py3

Versioni Env Conda

Framework

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 Driver

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

Sistema operativo

Ubuntu 16.04.6

RHEL 7.4

GCC

5.4.0

7.2.0

Tabella 1
 


Use case reale: CheXNet

Come introdotto in precedenza, CheXNet è un modello di assistente radilogo di intelligenza artificiale che utilizza DenseNet per identificare fino a 14 pathologie da una data immagine x-ray del toracico. Sono stati analizzati diversi approcci per scalare l'addestramento di un modello che potesse funzionare in modo ottimale o superiore rispetto al CheXNet-121 originale con ResNet-50 dimostrando la promessa sia in termini di scalabilità che di maggiore precisione dell'addestramento (AUROC positivo). Gli autori hanno dimostrato capacità di scalabilità sui sistemi cpu, tuttavia siamo interessati a sfruttare il parallelismo delle GPU per accelerare il processo di formazione. Dell EMC PowerEdge C4140 fornisce densità e prestazioni con quattro GPU NVIDIA V100 nella configurazione SXM2.
 


Specifiche hardware

 

Sistema bare-metal

Sistema Kubernetes

Piattaforma

PowerEdge C4140

PowerEdge C4140

CPU

2 x Intel® Xeon® Gold 6148 a 2,4 GHz

2 x Intel® Xeon® Gold 6148 a 2,4 GHz

Memoria

384 GB di DDR4 a 2.666 MHz

384 GB di DDR4 a 2.666 MHz

Archiviazione

Lustro

NFS

GPU

V100-SXM2 32 GB

V100-SXM2 32 GB

Sistema operativo

RHEL 7.4 x86_64

CentOS 7.6

Linux Kernel

3.10.0-693.x86_64

3,10,0 957.21.3.el7.x86_64

Rete

Mellanox EDR InfiniBand

Mellanox EDR InfiniBand

(IP su IB)

Tabella 2
 

Prestazioni

Il throughput dell'immagine, misurato in immagini al secondo, durante l'addestramento di CheXNet è stato misurato utilizzando 1, 2, 3, 4 e 8 GPU su 2 nodi C4140 su entrambi i sistemi descritti nella Tabella 2. Le specifiche dell'esecuzione, tra cui l'architettura del modello, i dati di input e così via, sono descritte in dettaglio in questo articolo. La figura 1 mostra il confronto delle prestazioni misurato sul sistema Kubernetes e sul sistema bare metal.

 SLN318899_en_US__1image (12054)
Figura 1. Esecuzione della formazione CheXNet su K8s rispetto a Bare Metal
 


Riepilogo

Il sistema bare metal dimostra un aumento dell'8% delle prestazioni durante lo scale-out a 8 GPU. Tuttavia, le differenze nella progettazione dell'architettura di sistema potrebbero causare questa lieve differenza di prestazioni, al di là del solo argomento contenitore rispetto a quello bare metal. Il sistema bare metal può sfruttare la larghezza di banda e la latenza complete della connessione InfiniBand raw e non deve affrontare l'overhead creato con le reti definite dal software, come una flangia. È anche il caso che il sistema K8s utilizzi IP su InfiniBand in grado di ridurre la larghezza di banda disponibile. 
Questi numeri possono variare a seconda del carico di lavoro e dei modelli di comunicazione definiti dal tipo di applicazioni eseguite. Nel caso di un problema di classificazione delle immagini, la velocità con cui si verifica la comunicazione tra le GPU è elevata e quindi c'è un tasso di cambio elevato. Tuttavia, se utilizzare un approccio rispetto all'altro dipende dalle esigenze del carico di lavoro. Anche se il nostro sistema basato su Kubernetes ha una piccola riduzione delle prestazioni, circa l'8% in questo caso, solleva utenti e amministratori dalla configurazione di librerie, configurazioni, ambienti e altre dipendenze. Questo approccio consente ai Data Scientist di essere più produttivi e di concentrarsi sulla risoluzione dei principali problemi aziendali come la wra hybrid data e la creazione di modelli.


 


 

 

Affected Products

High Performance Computing Solution Resources, Poweredge C4140
Article Properties
Article Number: 000126324
Article Type: Solution
Last Modified: 23 Sep 2021
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.