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.

Porównanie urządzeń fizycznych i Kubernetes: Rozproszone szkolenia z TensorFlow

Summary: TensorFlow, Kubernetes, GPU, szkolenie rozproszone

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

Artykuł został napisany przez Rakshitha Vasudeva i Johna Lockmana z HPC AI Innovation Lab w październiku 2019 r.

Cause

-

Resolution

Spis treści

  1. Wprowadzenie
    1. System na urządzeniu fizycznym
    2. Kubernetes
  2. Wersje oprogramowania
  3. Przykład rzeczywistych zastosowań: CheXNet
  4. Dane techniczne sprzętu
  5. Performance (Wydajność).
  6. Streszczenie
     

Wprowadzenie

W tym artykule ocenimy wydajność skalowania podczas szkolenia algorytmu CheXNet na procesorach graficznych V100 SXM2 firmy Nvidia zainstalowanych na serwerach Dell EMC C4140 przy użyciu dwóch metod stosowanych w nowoczesnych centrach przetwarzania danych — metoda oparta na tradycyjnych systemach obliczeniowych o wysokiej wydajności (HPC) działających na urządzeniach fizycznych ze środowiskiem zbudowanym przez Anaconda oraz metoda oparta na skonteneryzowanym rozwiązaniu Nvidia GPU Cloud (NGC) działającym w lokalnym środowisku Kubernetes.

System na urządzeniu fizycznym
System fizyczny to tradycyjny klaster HPC, w którym stosy oprogramowania są instalowane bezpośrednio na lokalnym dysku twardym lub w udostępnionym sieciowym punkcie instalacji. Zarządzanie środowiskami oprogramowania jest wykonywane przez administratora systemu. Użytkownicy są ograniczeni do tworzenia oprogramowania w udostępnionym systemie plików /home. Kod użytkownika jest uwzględniany w harmonogramie wsadowym przez menedżera obciążenia roboczego Slurm.

Kubernetes
Nasz system Kubernetes (K8s) korzysta z kontenerów NGC firmy Nvidia w celu spełniania wszystkich wymagań wstępnych oprogramowania, konfiguracji środowiska itp. Administrator systemu instaluje tylko podstawowy system operacyjny, sterowniki i K8s. Te kontenery oparte na oprogramowaniu Docker można pobrać z NGC podczas pracy lub przechowywać w rejestrze lokalnym. System K8s obsługuje zarządzanie obciążeniami, dostępność zasobów, uruchamianie rozproszonych zadań i skalowanie na żądanie.
 

Wersje oprogramowania

 

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

Wersje Conda env

Zakres

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

Sterownik 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

System operacyjny

Ubuntu 16.04.6

RHEL 7.4

GCC

5.4.0

7.2.0

Tabela 1
 


Przykład rzeczywistych zastosowań: CheXNet

Jak wspomniano wcześniej, CheXNet jest modelem opartego na sztucznej inteligencji asystenta radiologicznego, który z użyciem DenseNet identyfikuje do 14 zmian patologicznych w danym obrazie rentgenowskim klatki piersiowej. Zbadano kilka podejść w celu skalowania szkoleń modelu, który może działać równie dobrze lub lepiej niż oryginalny CheXNet-121 z ResNet-50, spełniając obietnice zarówno skalowalności, jak i większej dokładności szkoleń (pozytywne AUROC). Autorzy wykazali skalowalność w systemach procesorów, jednak chcemy wykorzystać równoległość procesorów graficznych w celu przyspieszenia procesu szkoleniowego. Serwer Dell EMC PowerEdge C4140 zapewnia gęstość i wydajność dzięki czterem kartom graficznym Nvidia V100 w konfiguracji SXM2.
 


Dane techniczne sprzętu

 

System na urządzeniu fizycznym

System Kubernetes

Platforma

PowerEdge C4140

PowerEdge C4140

Procesor

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

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

Pamięć

384 GB pamięci DDR4, 2666 MHz

384 GB pamięci DDR4, 2666 MHz

Pamięć masowa

Lustre

NFS

GPU

V100-SXM2 32 GB

V100-SXM2 32 GB

System operacyjny

RHEL 7.4 x86_64

CentOS 7.6

Jądro systemu Linux

3.10.0-693.x86_64

3.10.0-957.21.3.el7.x86_64

Sieć

Mellanox EDR InfiniBand

Mellanox EDR InfiniBand

(protokół IPoIB)

Tabela 2
 

Performance (Wydajność).

Przepustowość obrazu, mierzona w ilości obrazów przesyłanych na sekundę, podczas szkolenia algorytmu CheXNet została zmierzona przy użyciu 1, 2, 3, 4 i 8 procesorów graficznych w 2 węzłach C4140 w obu systemach opisanych w tabeli 2. Specyfikacja testu, w tym architektura modelu, dane wejściowe itp., zostały opisane w tym artykule. Rysunek 1 przedstawia porównanie zmierzonej wydajności w systemie Kubernetes i systemie na urządzeniach fizycznych.

 SLN318899_en_US__1image(12054)
Rysunek 1: Szkolenie CheXNet na systemach K8s i fizycznych
 


Streszczenie

Wydajność systemu na urządzeniach fizycznych wykazuje wzrost wydajności o 8% wraz z dodawaniem kolejnych procesorów graficznych (maks. 8). Jednak ta niewielka różnica wydajności mogła być spowodowana różnicami w konstrukcji architektury systemu, wychodząc poza argument dotyczący różnic między kontenerem a urządzeniami fizycznymi. System na urządzeniach fizycznych może wykorzystać pełną przepustowość i czas reakcji czystego połączenia InfiniBand i nie musi obsługiwać narzutu utworzonego przez sieci definiowane programowo, takie jak Flannel. Warto również zauważyć, że system K8s używa protokołu IPoIB, co może ograniczyć dostępną przepustowość. 
Wyniki mogą się różnić w zależności od obciążenia i wzorców komunikacji zdefiniowanych przez rodzaj uruchomionych aplikacji. W przypadku problemu z klasyfikacją obrazu szybkość komunikacji między procesorami graficznymi jest wysoka, więc częstotliwość wymiany jest wysoka. Zastosowanie odpowiedniego rozwiązania zależy od wymagań obciążenia. Mimo że system oparty na rozwiązaniu Kubernetes jest nieco mniej wydajny — w tym przypadku różnica wynosi ok. 8% — zwalnia on użytkowników i administratorów z obowiązku konfigurowania bibliotek, plików konfiguracyjnych, środowisk i innych zależności. Takie podejście zwiększa produktywność naukowców zajmujących się danymi i pozwala im skupić się na rozwiązywaniu podstawowych problemów biznesowych, takich jak przygotowywanie danych do przetwarzania i tworzenie modelu.


 


 

 

Article Properties


Affected Product

High Performance Computing Solution Resources, Poweredge C4140

Last Published Date

23 Sep 2021

Version

5

Article Type

Solution