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.

Bare Metal vastaan Kubernetes: jaettu koulutus TensorFlow'lla

Summary: TensorFlow, Kubernetes, grafiikkasuoritin, jaettu koulutus

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

Artikkelin ovat kirjoittaneet HPC AI Innovation Labin Rakshith Vasudev ja John Lockman lokakuussa 2019.

Cause

-

Resolution

Sisällysluettelo

  1. Johdanto
    1. Bare Metal
    2. Kubernetes
  2. Ohjelmistoversiot
  3. Aito käyttötapaus: CheXNet
  4. Laitteiston tiedot
  5. Suorituskyky
  6. Yhteenveto
     

Johdanto

Tässä artikkelissa arvioidaan skaalaustehoa, kun koulutetaan Dell EMC:n C4140-palvelinten Nvidia V100 SXM2 -grafiikkasuorittimien CheXNetiä kahdella modernien tietokeskusten käyttämällä tavalla: perinteisessä HPC "Bare Metal" -järjestelmässä, jonka ympäristön on koonnut Anaconda, ja säiliöperustaisessa järjestelmässä, jossa Nvidia GPU Cloud (NGC) -säilöt toimivat asiakkaan tiloissa olevassa Kubernetes-ympäristössä.

Bare Metal
Bare Metal -järjestelmä on perinteinen HPC:n klusteri, jossa ohjelmistopinot asennetaan suoraan paikalliselle kiintolevylle tai jaettuun verkkoasemaan. Järjestelmänvalvoja hallinnoi ohjelmistoympäristöjä. Käyttäjät voivat ainoastaan kehittää ohjelmistoja jaetussa /home-tiedostojärjestelmässä. Slurm-työkuorman hallinta eräajoittaa käyttäjäkoodin.

Kubernetes
Kubernetes (K8s) -järjestelmämme käyttää Nvidian NGC-säilöjä esimerkiksi kaikkien tarvittavien ohjelmistoedellytysten ja ympäristömääritysten varmistamiseen. Järjestelmänvalvoja ainoastaan asentaa peruskäyttöjärjestelmän, ohjaimet ja Kuberneteksen (K8s). Näitä Docker-säilöjä voi ladata NGC:ltä suorituksen aikana tai tallentaa paikalliseen rekisteriin. K8s hoitaa työkuorman hallinnan, resurssien käytettävyyden, jaettujen töiden käynnistyksen ja skaalauksen tarvittaessa.
 

Ohjelmistoversiot

 

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

Conda env  Versions

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-ohjain

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

Käyttöjärjestelmä

Ubuntu 16.04.6

RHEL 7.4

GCC

5.4.0

7.2.0

Taulukko 1
 


Aito käyttötapaus: CheXNet

Kuten aiemmin on kerrottu, CheXNet on röntgenkuvauksen apuvälineenä käytettävä malli, joka voi tunnistaa DenseNet-arkkitehtuurin avulla jopa 14 patologista muutosta keuhkokuvasta. Useita vaihtoehtoja tutkittiin, jotta saatiin skaalatuksi sellaisen mallin koulutus, joka toimisi vähintään yhtä hyvin kuin alkuperäinen CheXNet-121. ResNet-50 vaikutti lupaavalta sekä skaalautuvuuden että koulutuksen tarkkuuden suhteen (positiivinen AUROC). Tekijät esittelivät skaalautuvuutta suoritinjärjestelmissä, mutta meitä kiinnostaa grafiikkasuoritinten rinnakkaisuus koulutuksen nopeuttamiseksi. Dell EMC:n PowerEdge C4140 takaa sekä tiheyden että suorituskyvyn neljällä Nvidia V100 -grafiikkasuorittimella SXM2-kokoonpanossa.
 


Laitteiston tiedot

 

Bare Metal -järjestelmä

Kubernetes-järjestelmä

Ympäristö

PowerEdge C4140

PowerEdge C4140

Suoritin

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

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

Muisti

384 Gt:n DDR4, 2666 MHz

384 Gt:n DDR4, 2666 MHz

Tallennus

Lustre

NFS

Grafiikkasuoritin

V100-SXM2 32 Gt

V100-SXM2 32 Gt

Käyttöjärjestelmä

RHEL 7.4 x86_64

CentOS 7.6

Linux-ydin

3.10.0-693.x86_64

3.10.0-957.21.3.el7.x86_64

Verkko

Mellanox EDR InfiniBand

Mellanox EDR InfiniBand

(IP over IB)

Taulukko 2
 

Suorituskyky

Kuvien käsittelymäärä (kuvia sekunnissa) CheXNetin koulutuksen aikana mitattiin 1, 2, 3, 4 ja 8 grafiikkasuorittimella kahdessa C4140-solmussa järjestelmissä, jotka kuvataan taulukossa 2. Suoritustiedot esimerkiksi mallin arkkitehtuurista ja syöttötiedoista ovat tässä artikkelissa. Kuvassa 1 näkyy mitatun suorituskyvyn vertailu Kubernetes-järjestelmän ja Bare Metal -järjestelmän välillä.

 SLN318899_en_US__1image(12054)
Kuva 1: CheXNetin koulutus K8s:ssa verrattuna Bare Metaliin
 


Yhteenveto

Bare Metal -järjestelmässä näkyy 8 prosentin nousu suorituskyvyssä, kun järjestelmä laajennetaan 8 grafiikkasuorittimeen. Tämä pieni ero suorituskyvyssä saattaa kuitenkin johtua järjestelmän arkkitehtuurin suunnittelueroista eikä pelkästään käytetyistä järjestelmistä (säilö vs Bare Metal). Bare Metal -järjestelmä pystyy hyödyntämään InfiniBand-yhteyden koko kaistanleveyttä ja viivettä eikä sen tarvitse kestää ohjelmallisesti määritetyistä verkoista johtuvaa yleisrasitetta. Lisäksi K8s-järjestelmä käyttää IP over InfiniBand -järjestelmää, joka saattaa kaventaa käytettävissä olevaa kaistanleveyttä. 
Nämä lukemat voivat vaihdella käytettävien sovellusten määrittämien työkuormien ja viestintätapojen mukaan. Kuvan luokitusongelman yhteydessä grafiikkasuorittimien välinen viestintätahti on kiivas, ja siksi vaihtotahtikin on suuri. Käyttötavan valinta kuitenkin määräytyy työkuorman tarpeiden mukaan. Vaikka Kubernetes-pohjaisen järjestelmän suorituskyky on hiukan heikompi (tässä tapauksessa noin 8 %), siinä käyttäjien ja järjestelmänvalvojien ei tarvitse määrittää kirjastoja, määrityksiä, ympäristöjä ja muita riippuvuuksia. Tällä tavalla tutkijat voivat keskittyä tuottavuuteen ja ratkaisemaan keskeisiä liiketoiminnan ongelmia, kuten tiedonkäsittelyä ja mallinnusta.


 


 

 

Article Properties


Affected Product

High Performance Computing Solution Resources, Poweredge C4140

Last Published Date

23 Sep 2021

Version

5

Article Type

Solution