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 jämfört med Kubernetes: Distribuerad utbildning med TensorFlow

Summary: TensorFlow, Kubernetes, GPU, distribuerad utbildning

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

Artikeln skrevs av Rakshith Vasudev &John Lockman – HPC AI Innovation Lab i oktober 2019

Cause

-

Resolution

Innehållsförteckning

  1. Introduktion
    1. Bare Metal
    2. Kubernetes
  2. Programvaruversioner
  3. Användningsfall i verkligheten: CheXNet
  4. Maskinvaruspecifikationer
  5. Prestanda
  6. Sammanfattning
     

Introduktion

I den här artikeln utvärderar vi skalningsprestanda vid inlärning av CheXNet på Nvidia V100 SXM2-grafikprocessorer i Dell EMC C4140-servrar med två metoder som används i moderna datacenter. Traditionell HPC "Bare Metal" med en miljö byggd av Anaconda och ett containerbaserat system med Nvidia GPU Cloud-behållare (NGC) som körs i en Kubernetes-miljö på plats.

Bare Metal (utan operativsystem)
Ett bare metal-system är ett traditionellt HPC-kluster där programvarustaplar installeras direkt på den lokala hårddisken eller en delad nätverksmontering. Hantering av programvarumiljöer utförs av en systemadministratör. Användarna är begränsade till att skapa programvara i ett delat /home-filsystem. Användarkoden har schemalagts av arbetsbelastningshanteraren för Slurm.

Kubernetes
Vårt Kubernetes-system (K8s) använder Nvidias NGC-behållare för att tillhandahålla alla nödvändiga programvarukrav, miljökonfigurationer osv. Systemadministratören installerar endast det grundläggande operativsystemet, drivrutinerna och k8s. Dessa docker-baserade behållare kan hämtas från NGC under körning eller lagras i ett lokalt register. K8:er hanterar arbetsbelastningshantering, tillgänglighet av resurser, lanserar distribuerade jobb och skalning på begäran.
 

Programvaruversioner

 

NGC-behållar-nvcr.io/nvidia/tensorflow:19.06–py3

Conda env-versioner

Ram

TensorFlow 1.13.1

TensorFlow 1.12.0

Horovod –1000:

0.15.1

0.16.1

MPI

OpenMPI 3.1.3

OpenMPI 4.0.0

CUDA

10,2

10.1

CUDA-drivrutin

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

Operativsystem

Ubuntu 16.04.6

RHEL 7.4

GCC

5.4.0

7.2.0

Tabell 1
 


Användningsfall i verkligheten: CheXNet

Som tidigare introducerades är CheXNet en AI-modell för radiologiassistenter som använder DenseNet för att identifiera upp till 14 pathologier från en viss x-ray-bild. Flera metoder utforskades för att skala ut utbildningen av en modell som skulle kunna fungera lika väl som eller bättre än den ursprungliga CheXNet-121 med ResNet-50 som uppvisar löftet om både skalbarhet och ökad noggrannhet i utbildningen (positiv AUROC). Skaparna visade skalbarhet på CPU-system, men vi är intresserade av att utnyttja parallellismen hos grafikprocessorer för att snabba upp inlärningsprocessen. Dell EMC PowerEdge C4140 ger både densitet och prestanda med fyra Nvidia V100-grafikprocessorer i SXM2-konfigurationen.
 


Maskinvaruspecifikationer

 

Bare Metal-system

Kubernetes-system

Plattform

PowerEdge C4140

PowerEdge C4140

Processor

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

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

Minne

384 GB DDR4 vid 2 666 MHz

384 GB DDR4 vid 2 666 MHz

Lagring

Lustre

NFS

GPU

V100-SXM2 32 GB

V100-SXM2 32 GB

Operativsystem

RHEL 7.4 x86_64

CentOS 7,6

Linux-kärna

3.10.0–693.x86_64

3.10.0–957.21.3.el7.x86_64

Nätverk

Mellanox EDR InfiniBand

Mellanox EDR InfiniBand

(IP över IB)

Tabell 2
 

Prestanda

Genomströmningen för bilden, mätt i bilder per sekund, när training CheXNet mättes med hjälp av 1, 2, 3, 4 och 8 GPU:er över 2 C4140-noder i båda systemen som beskrivs i tabell 2. Specifikationerna för körningen inklusive modellarkitektur, indata osv. beskrivs i den här artikeln. Bild 1 visar en jämförelse av uppmätta prestanda för Kubernetes-systemet och det operativsystem utan operativsystem.

 SLN318899_en_US__1image (12054)
Bild 1: Köra CheXNet-utbildning på K8s jämfört med Bare Metal
 


Sammanfattning

Bare Metal-systemet uppvisar en 8 % ökning av prestanda när vi skala ut till 8GPUs. Skillnaderna i systemarkitekturens utformning kan dock orsaka den här lilla prestandaskillnaden, utöver bara argumentet "behållare" eller "bare metal". Bare Metal-systemet kan dra nytta av den fulla bandbredden och latensen hos den råa InfiniBand-anslutningen och behöver inte hantera den overhead som skapas med programvarudefinierade nätverk, t.ex. en flannel. Det är också så att K8s-systemet använder IP via InfiniBand, vilket kan minska tillgänglig bandbredd. 
Dessa siffror kan variera beroende på arbetsbelastning och kommunikationsmönster som definieras av typen av program som körs. Om det uppstår ett problem med bildklassificeringen är den hastighet med vilken kommunikationen mellan grafikprocessorer sker hög och därför är hastigheten hög. Men om en metod ska användas framför den andra beror på arbetsbelastningens behov. Även om våra Kubernetes-baserade system har en liten prestandaavgift på ~8 % i det här fallet hjälper det användare och administratörer att konfigurera bibliotek, konfigurationer, miljöer och andra beroenden. Detta tillvägagångssätt gör det möjligt för dataexperter att bli mer produktiva och fokusera på att lösa viktiga affärsproblem som data wr alias och modellbygge.


 


 

 

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.