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.

Système sur matériel vierge vs Kubernetes : Formation distribuée avec TensorFlow

Summary: TensorFlow, Kubernetes, processeur graphique, formation distribuée

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’article a été écrit par Rakshith Vasudev et John Lockman, HPC AI Innovation Lab, en octobre 2019

Cause

-

Resolution

Sommaire

  1. Introduction
    1. Sur matériel vierge
    2. Kubernetes
  2. Versions logicielles
  3. Cas d’utilisation réel : CheXNet
  4. Spécifications matérielles
  5. Performances
  6. Résumé
     

Introduction

Dans cet article, nous examinons l’évolution des performances lors de la formation de CheXNet sur les processeurs graphiques Nvidia V100 SXM2 dans les serveurs Dell EMC C4140 à l’aide de deux approches utilisées dans les datacenters modernes. Le HPC traditionnel sur matériel vierge avec un environnement créé par Anaconda et un système en conteneurs avec des conteneurs NVIDIA GPU Cloud (NGC) exécutés dans un environnement Kubernetes sur site.

Sur matériel vierge
Un système sur matériel vierge est un cluster HPC traditionnel où les piles logicielles sont installées directement sur le disque dur local ou sur un montage réseau partagé. Un administrateur système gère les environnements logiciels. Les utilisateurs sont limités à la création de logiciels dans un système de fichiers partagé /home. Le code utilisateur est planifié par lots par le gestionnaire de charge applicative Slurm.

Kubernetes
Notre système Kubernetes (K8s) utilise les conteneurs NGC de Nvidia pour fournir toutes les conditions préalables logicielles requises, les configurations d’environnement, etc. L’administrateur système installe uniquement le système d’exploitation de base, les pilotes et K8s. Ces conteneurs Docker peuvent être téléchargés à partir de NGC lors de l’exécution ou stockés dans un registre local. K8s gère les charges applicatives, la disponibilité des ressources, le lancement de tâches distribuées et la mise à l’échelle à la demande.
 

Versions logicielles

 

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

Conda env  Versions

Cadre

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

Pilote 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

Système d’exploitation

Ubuntu 16.04.6

RHEL 7,4

GCC

5.4.0

7.2.0

Tableau 1
 


Cas d’utilisation réel : CheXNet

Comme présenté précédemment, CheXNet est un modèle d’assistant radiologiste basé sur l’IA qui utilise DenseNet pour identifier jusqu’à 14 pathologies à partir d’une image de rayons X donnée. Plusieurs approches ont été explorées pour faire évoluer la formation d’un modèle capable d’atteindre des performances aussi bonnes ou meilleures que le modèle CheXNet-121 d’origine avec ResNet-50, ce qui est prometteur sur le plan de l’évolutivité et de l’amélioration de la précision de la formation (AUROC positif). Les auteurs ont fait preuve d’évolutivité sur les systèmes dotés de processeur, mais nous sommes intéressés par l’exploitation du parallélisme des processeurs graphiques pour accélérer le processus de formation. Le système Dell EMC PowerEdge C4140 offre à la fois densité et performances avec quatre processeurs graphiques Nvidia V100 dans une configuration SXM2.
 


Spécifications matérielles

 

Système sur matériel vierge

Système Kubernetes

Plateforme

PowerEdge C4140

PowerEdge C4140

Processeur

2 processeurs Intel® Xeon® Gold 6148 à 2,4 GHz

2 processeurs Intel® Xeon® Gold 6148 à 2,4 GHz

Mémoire

384 Go DDR4 @ 2 666 MHz

384 Go DDR4 @ 2 666 MHz

Stockage

Lustre

NFS

PROCESSEUR GRAPHIQUE

V100-SXM2 32 Go

V100-SXM2 32 Go

Système d’exploitation

RHEL 7.4 x86_64

CentOS 7,6

Noyau Linux

3.10.0-693.x86_64

3.10.0-957.21.3.el7.x86_64

Réseau

Mellanox EDR InfiniBand

Mellanox EDR InfiniBand

(IP over IB)

Tableau 2
 

Performances

Le débit d’image, mesuré en images par seconde, lors de la formation de CheXNet a été mesuré à l’aide de 1, 2, 3, 4 et 8 processeurs graphiques sur 2 nœuds C4140 sur les deux systèmes décrits dans le Tableau 2. Les caractéristiques techniques de l’exécution, notamment l’architecture du modèle et les données d’entrée, sont détaillées dans cet article. La Figure 1 compare les performances mesurées sur le système Kubernetes et le système sur matériel vierge.

 SLN318899_en_US__1image(12054)
Figure 1 : Comparaison de l’exécution d’une formation de CheXNet sur K8s et sur matériel vierge
 


Résumé

Le système sur matériel vierge présente une augmentation des performances de 8 % à mesure que nous évoluons jusqu’à 8 processeurs graphiques. Toutefois, les différences de conception de l’architecture du système peuvent entraîner ce léger écart dans les performances, au-delà de l’argument de comparaison conteneur/sur matériel vierge. Le système sur matériel vierge peut tirer parti de la bande passante et de la latence totales de la connexion InfiniBand brute et n’a pas à gérer la surcharge créée avec Software Defined Networks tels que Flannel. Il se peut également que le système K8s utilise IP sur InfiniBand, ce qui peut réduire la bande passante disponible. 
Ces chiffres peuvent varier en fonction de la charge applicative et des modèles de communication définis par le type d’applications exécutées. Dans le cas d’un problème de classification d’image, le taux de communication entre les processeurs graphiques est élevé, augmentant par conséquent le taux d’échange. Toutefois, l’utilisation d’une approche plutôt que d’une autre dépend des besoins de la charge applicative. Bien que notre système basé sur Kubernetes présente un léger impact sur les performances, environ 8 % dans ce cas, il relève les utilisateurs et les administrateurs des tâches de définition et de configuration des bibliothèques, des environnements et d’autres dépendances. Cette approche permet aux spécialistes des données d’être plus productifs et de se concentrer sur la résolution de problèmes métiers essentiels, tels que le data wrangling et la création de modèles.


 


 

 

Article Properties


Affected Product

High Performance Computing Solution Resources, Poweredge C4140

Last Published Date

23 Sep 2021

Version

5

Article Type

Solution