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 vs. Kubernetes: Distribuované učení s TensorFlow

Summary: TensorFlow, Kubernetes, GPU, distribuované učení

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

Článek napsali Rakshith Vasudev a John Lockman – HPC AI Innovation Lab v říjnu 2019

Cause

-

Resolution

Obsah

  1. Úvod
    1. Bare Metal
    2. Kubernetes
  2. Verze softwaru
  3. Případ reálného použití: CheXNet
  4. Specifikace hardwaru
  5. Výkon
  6. Shrnutí
     

Úvod

V tomto článku vyhodnocujeme výkon škálování při učení CheXNet na grafických kartách Nvidia V100 SXM2 v serverech Dell EMC C4140 pomocí dvou přístupů používaných v moderních datových centrech. Tradiční HPC „Bare Metal“ s prostředím postaveným společností Anaconda a kontejnerový systém s kontejnery Nvidia GPU Cloud (NGC) spuštěnými v místním prostředí Kubernetes.

Bare Metal
Systém Bare Metal je tradiční cluster HPC, ve kterém jsou softwarové balíky instalovány přímo na místní pevný disk nebo na sdílené síťové úložiště. Správu softwarových prostředí provádí správce systému. Uživatelé mohou software vytvářet pouze ve sdíleném systému souborů /home. Uživatelský kód je dávkově naplánován nástrojem Slurm Workload Manager.

Kubernetes
Náš systém Kubernetes (K8s) využívá kontejnery NGC společnosti Nvidia k zajištění všech nezbytných softwarových předpokladů, konfigurací prostředí atd. Správce systému instaluje pouze základní operační systém, ovladače a k8s. Tyto kontejnery založené na dockeru je možné stáhnout z NGC během spuštění nebo uložit do místního registru. K8s zpracovává správu pracovního zatížení, dostupnost zdrojů, spouštění distribuovaných úloh a škálování na vyžádání.
 

Verze softwaru

 

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

Verze prostředí Conda

Rámec

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

Ovladač 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

Operační systém

Ubuntu 16.04.6

RHEL 7.4

GCC

5.4.0

7.2.0

Tabulka 1.
 


Případ reálného použití: CheXNet

Jak již bylo uvedeno dříve, CheXNet je model AI asistenta rentgenu, který využívá síť DenseNet k identifikaci až 14 patologií z daného rentgenového snímku hrudníku. Prozkoumali jsme několik přístupů, jak škálovat učení modelu, aby mohl fungovat stejně, nebo dokonce lépe než původní model CheXNet-121. Síť ResNet-50 přitom slibuje zlepšení na poli škálovatelnosti a přesnosti školení (pozitivní AUROC). Autoři demonstrovali škálovatelnost v systémech s procesory, nicméně my chceme využít paralelismus grafických karet k urychlení procesu učení. Server Dell EMC PowerEdge C4140 poskytuje hustotu a výkon díky čtyřem grafickým kartám Nvidia V100 v konfiguraci SXM2.
 


Specifikace hardwaru

 

Systém Bare Metal

Systém Kubernetes

Platforma

PowerEdge C4140

PowerEdge C4140

CPU

2x Intel® Xeon® Gold 6148 s frekvencí 2,4 GHz

2x Intel® Xeon® Gold 6148 s frekvencí 2,4 GHz

Paměť

384 GB DDR4 s rychlostí 2 666 MHz

384 GB DDR4 s rychlostí 2 666 MHz

Úložiště

Lustre

NFS

GPU

V100-SXM2 32 GB

V100-SXM2 32 GB

Operační systém

RHEL 7.4 x86_64

CentOS 7.6

Jádro Linux

3.10.0-693.x86_64

3.10.0-957.21.3.el7.x86_64

Síť

Mellanox EDR InfiniBand

Mellanox EDR InfiniBand

(IP přes IB)

Tabulka 2
 

Výkon

Propustnost obrazu měřená v obrázcích za sekundu, když bylo učení CheXNet měřeno pomocí 1, 2, 3, 4 a 8 grafických karet napříč 2 uzly C4140 na obou systémech popsaných v tabulce 2. Specifikace série včetně architektury modelu, vstupních dat, atd. jsou uvedeny v tomto článku. Obrázek 1 znázorňuje porovnání změřeného výkonu systému Kubernetes a systému Bare Metal.

 SLN318899_en_US__1image(12054)
Obrázek 1: Spuštění učení CheXNet na systému K8s vs. Bare Metal
 


Shrnutí

Systém Bare Metal vykazuje 8% zvýšení výkonu při škálování na 8 GPU. Rozdíly v provedení architektury systému by však mohly způsobit tento mírný rozdíl výkonu, a to nejen v porovnání kontejneru a systému Bare Metal. Systém Bare Metal může využít plnou šířku pásma a latenci čistého připojení InfiniBand a nemusí se vypořádat s režií vytvořenou softwarově definovanými sítěmi, jako je flannel. Systém K8s také používá IP přes InfiniBand, což může snížit dostupnou šířku pásma. 
Tato čísla se mohou lišit v závislosti na pracovním zatížení a komunikačních vzorech definovaných druhem spuštěných aplikací. V případě problému s klasifikací obrázků je míra komunikace mezi GPU vysoká, a proto dochází k vysoké míře výměn. Zda však chcete použít jeden přístup oproti druhému, závisí na potřebách pracovního zatížení. Přestože má náš systém založený na Kubernetes malou penalizaci výkonu, v tomto případě to představuje přibližně 8 %, zabraňuje uživatelům a správcům nastavovat knihovny, konfigurace, prostředí a další závislosti. S tímto přístupem mohou být datoví vědci produktivnější a soustředit se na řešení základních obchodních problémů, jako je zpracování dat a budování modelů.


 


 

 

Article Properties


Affected Product

High Performance Computing Solution Resources, Poweredge C4140

Last Published Date

23 Sep 2021

Version

5

Article Type

Solution