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

Bart metall kontra Kubernetes: Distribuert opplæring med TensorFlow

Summary: TensorFlow, Kubernetes, GPU, distribuert opplæring

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

Artikkelen ble skrevet av Rakshith Vasudev &John Lockman – HPC AI Innovation Lab i oktober 2019

Cause

-

Resolution

Innholdsfortegnelse

  1. Introduksjon
    1. Bart metall
    2. Kubernetes
  2. Programvareversjoner
  3. Brukstilfelle i den virkelige verden: CheXNet
  4. Maskinvarespesifikasjoner
  5. Ytelse
  6. Sammendrag
     

Innledning

I denne artikkelen evaluerer vi skaleringsytelsen ved opplæring av CheXNet på Nvidia V100 SXM2 GPU-er i Dell EMC C4140-servere ved hjelp av to tilnærminger som brukes i moderne datasentre. Den tradisjonelle HPC "Bare Metal" med et miljø bygget av Anaconda, og et beholdersystem med Nvidia GPU Cloud (NGC)-beholdere som kjører i et prem Kubernetes-miljø.

Bart metall
Et bart metallsystem er en tradisjonell HPC-klynge der programvarestabler installeres direkte på den lokale harddisken eller et delt nettverksmontering. Administrasjon av programvaremiljøer utføres av en systemadministrator. Brukerne er begrenset til å bygge programvare i et delt /home-filsystem. Brukerkoden planlegges satsvis av Workload Manager for Pstm.

Kubernetes
Kubernetes-systemet vårt (K8) bruker Nvidias NGC-beholdere til å levere alle nødvendige programvareforutsetninger, miljøkonfigurasjoner osv. Systemadministratoren installerer bare det grunnleggende operativsystemet, driverne og k8-ene. Disse docker-baserte beholderne kan lastes ned fra NGC under kjøringen eller lagres i et lokalt register. K8-enheter håndterer arbeidsbelastningsadministrasjon, tilgjengelighet av ressurser, starter distribuerte jobber og skalerer på forespørsel.
 

Programvareversjoner

 

NGC-beholder nvcr.io/nvidia/tensorflow:19.06 – py3

Conda env-versjoner

Rammeverk

TensorFlow 1.13.1

TensorFlow 1.12.0

Horovod (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.0

2.4,7.0

CUDNN

7.6.0

7.6.0

Python

3.5.2

3.6.8

Operativsystem

Ubuntu 16.04.6

RHEL 7.4

GCC

5.4.0

7.2.0

Tabell 1.
 


Brukstilfelle i den virkelige verden: CheXNet

Som tidligere introdusert er CheXNet en assistentmodell for AI-radiolog som bruker DenseNet til å identifisere opptil 14 patologier fra et gitt x-ray-bilde av kabinettet. Flere tilnærminger ble utforsket for å skalere ut opplæringen av en modell som kunne yte like godt som eller bedre enn den opprinnelige CheXNet-121, med ResNet-50 som demonstrerer løfte om både skalerbarhet og økt opplæringsnøyaktighet (positiv AGUNC). Forfatterene demonstrerte skalerbarhet på CPU-systemer, men vi er interessert i å utnytte gpU-enes parallellitet for å akselerere opplæringsprosessen. Dell EMC PowerEdge C4140 gir både tetthet og ytelse med fire Nvidia V100 GPU-er i SXM2-konfigurasjonen.
 


Maskinvarespesifikasjoner

 

System med bart metall

Kubernetes-system

Plattform

PowerEdge C4140

PowerEdge C4140

CPU

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

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

Minne

384 GB DDR4 ved 2666 MHz

384 GB DDR4 ved 2666 MHz

Lagring

Lustre (Glans)

NFS

GPU

32 GB V100-SXM2

32 GB V100-SXM2

Operativsystem

RHEL 7.4 x86_64

CentOS 7.6

Linux-kjerne

3.10.0-693.x86_64

3.10.0-957.21.3.el7.x86_64

Nettverk

Mellanox EDR InfiniBand

Mellanox EDR InfiniBand

(IP over IB)

Tabell 2.
 

Ytelse

Bildegjennomstrømningen, målt i bilder per sekund, ved opplæring av CheXNet ble målt ved hjelp av 1, 2, 3, 4 og 8 GPU-er på tvers av 2 C4140-noder på begge systemene som er beskrevet i tabell 2. Spesifikasjonene for kjøringen, inkludert modellarkitektur, inndata osv. er beskrevet i denne artikkelen. Figur 1 viser sammenligning av målt ytelse på Kubernetes-systemet og det innebygde metallsystemet.

 SLN318899_en_US__1image (12054)
Figur 1: Kjøre CheXNet-opplæring på K8-er kontra Bare Metal
 


Sammendrag

Det enkle metallsystemet viser en 8 % økning i ytelse når vi skalerer ut til 8GPU-er. Forskjellene i utformingen av systemarkitekturen kan imidlertid føre til denne svake ytelsesforskjellen, utover bare beholderen sammenlignet med argumentene for bart metall. Det innebygde metallsystemet kan dra nytte av den fulle båndbredden og ventetiden til den rå InfiniBand-tilkoblingen og trenger ikke å håndtere kostnadene som er opprettet med programvaredefinerte nettverk, for eksempel en flanel. Det er også tilfelle at K8s-systemet bruker IP over InfiniBand, noe som kan redusere tilgjengelig båndbredde. 
Disse tallene kan variere avhengig av arbeidsbelastningen og kommunikasjonsmønstrene som defineres av typen applikasjoner som kjøres. Når det gjelder et problem med bildeklassifiseringen, er kommunikasjonshastigheten mellom GPU-ene høy og dermed høy kurs. Om du skal bruke den ene tilnærmingen over den andre, avhenger imidlertid av behovene til arbeidsbelastningen. Selv om det Kubernetes-baserte systemet vårt har en liten ytelsessantall, ~8 % i dette tilfellet, vil det hindre brukere og administratorer i å konfigurere biblioteker, konfigurasjoner, miljøer og andre avhengigheter. Denne tilnærmingen gir dataforskerne mulighet til å være mer produktive og fokusere på å løse kjerneproblemer som datasrangling og modellbygging.


 


 

 

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.