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 versus Kubernetes: Gedistribueerde training met TensorFlow

Summary: TensorFlow, Kubernetes, GPU, gedistribueerde training

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

Artikel is geschreven door Rakshith Vasudev &John Lockman - HPC AI Innovation Lab in oktober 2019

Cause

-

Resolution

Inhoudsopgave

  1. Inleiding
    1. Bare Metal
    2. Kubernetes
  2. Softwareversies
  3. Praktijkvoorbeeld: CheXNet
  4. Hardwarespecificaties
  5. Prestaties
  6. Samenvatting
     

Inleiding

In dit artikel evalueren we de schaalprestaties bij het trainen van CheXNet op NVIDIA V100 SXM2 GPU's in Dell EMC C4140 servers met behulp van twee benaderingen die worden gebruikt in moderne datacenters. De traditionele HPC "Bare Metal" met een omgeving gebouwd door Annda en een gecontaineriseerd systeem met Nvidia GPU Cloud (NGC)-containers die worden uitgevoerd in een on-premise Kubernetes-omgeving.

Blank metaal
Een bare metal systeem is een traditioneel HPC-cluster waar softwarestacks rechtstreeks op de lokale harde schijf of een gedeelde netwerkkoppeling worden geïnstalleerd. Het beheer van softwareomgevingen wordt uitgevoerd door een systeembeheerder. De gebruikers zijn beperkt tot het maken van software in een gedeeld /home-bestandssysteem. De gebruikerscode wordt door de Slurm Workload Manager ingepland.

Kubernetes
Ons Kubernetes (K8s) systeem maakt gebruik van de NGC-containers van NVIDIA om alle vereiste softwarevereisten, omgevingsconfiguraties, enz. te leveren. De systeembeheerder installeert alleen het basisbesturingssysteem, de drivers en k8's. Deze docker-gebaseerde containers kunnen worden gedownload van NGC tijdens het uitvoeren of opgeslagen in een lokaal register. K8s verwerkt workloadbeheer, beschikbaarheid van resources, het starten van gedistribueerde taken en schalen op aanvraag.
 

Softwareversies

 

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

Conda env versies

Kader

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

Besturingssysteem

Ubuntu 16.04.6

RHEL 7.4

GCC

5.4.0

7.2.0

Tabel 1
 


Praktijkvoorbeeld: CheXNet

Zoals eerder geïntroduceerd, is CheXNet een AI-radioloogassistent-model dat gebruikmaakt van DenseNet om maximaal 14 ziektebeelden te identificeren van een bepaald rö ray-beeld op de borst. Verschillende benaderingen werden onderzocht om de training van een model uit te breiden dat zowel goed als beter presteert dan de oorspronkelijke CheXNet-121 met ResNet-50 die beloftes demonstreerde in zowel schaalbaarheid als verbeterde trainingsnauwkeurigheid (positieve ACREDITC). De auteurs demonstreerden schaalbaarheid op CPU-systemen, maar we zijn geïnteresseerd in het gebruik van het parallelisme van GPU's om het trainingsproces te versnellen. De Dell EMC PowerEdge C4140 biedt zowel dichtheid als prestaties met vier NVIDIA V100 GPU's in de SXM2-configuratie.
 


Hardwarespecificaties

 

Bare metal systeem

Kubernetes-systeem

Platform

PowerEdge C4140

PowerEdge C4140

CPU

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

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

Geheugen

384 GB DDR4 bij 2666 MHz

384 GB DDR4 bij 2666 MHz

Storage

Lustre

NFS

GPU

V100-SXM2 32 GB

V100-SXM2 32 GB

Besturingssysteem

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

Netwerk

Mellanox EDR InfiniBand

Mellanox EDR InfiniBand

(IP via IB)

Tabel 2
 

Prestaties

De imagedoorvoer, gemeten in images per seconde, bij het trainen van CheXNet werd gemeten met behulp van 1, 2, 3, 4 en 8 GPU's in 2 C4140 knooppunten op beide systemen die worden beschreven in Tabel 2. De specificaties van de uitvoering, inclusief de modelarchitectuur, invoerdata, enz. worden beschreven in dit artikel. Afbeelding 1 toont de gemeten prestatievergelijking op het Kubernetes-systeem en het bare metal systeem.

 SLN318899_en_US__1image (12054)
Afbeelding 1: CheXNet-training uitvoeren op K8's versus Bare Metal
 


Samenvatting

Het bare metal systeem toont een toename van 8% van de prestaties wanneer we opschalen naar 8 GPU's. De verschillen in het ontwerp van de systeemarchitectuur kunnen echter dit kleine prestatieverschil veroorzaken, naast alleen de container versus het bare metal argument. Het bare metal systeem kan profiteren van de volledige bandbreedte en latentie van de onbewerkte InfiniBand-verbinding en heeft geen te maken met de overhead die is gemaakt met softwaregedefinieerde netwerken, zoals een kliknel. Het is ook het geval dat het K8s-systeem IP gebruikt via InfiniBand, wat de beschikbare bandbreedte kan verminderen. 
Deze cijfers kunnen variëren, afhankelijk van de workload en de communicatiepatronen die worden gedefinieerd door het type applicaties dat wordt uitgevoerd. In het geval van een probleem met de imageclassificatie is de snelheid waarmee communicatie plaatsvindt tussen GPU's hoog en dus is er een hoge wisselkoers. Het gebruik van de ene benadering ten opzichte van de andere is echter afhankelijk van de behoeften van de workload. Hoewel ons Kubernetes-gebaseerde systeem een kleine prestatieboete heeft, neemt ~8% in dit geval gebruikers en beheerders weg van het instellen van bibliotheken, configuraties, omgevingen en andere afhankelijkheden. Deze aanpak stelt datawetenschappers in staat productiever te zijn en zich te richten op het oplossen van belangrijke zakelijke problemen, zoals datawrangling en modelbuild.


 


 

 

Article Properties


Affected Product

High Performance Computing Solution Resources, Poweredge C4140

Last Published Date

23 Sep 2021

Version

5

Article Type

Solution