Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
GPU integration for Deep Learning on YARN
KTH, School of Information and Communication Technology (ICT).
2017 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

In recent years, there have been many advancements in the field of machine learning and adoption of its techniques in many industries. Deep learning is a sub-field of machine learning that is largely attributed to many of recent innovative applications such as autonomous driving systems.

Training a deep learning model is a computationally intensive task that in many cases is inefficient on a CPU. Dramatically faster training can be achieved by making use of one or more GPUs, coupled with the need to train more complex models on increasingly larger datasets, training on a CPU is not sufficient.

Hops Hadoop is an Hadoop distribution that aims to make Hadoop more scalable, by migrating the meta-data of YARN and HDFS to MySQL NDB. Hops is currently making efforts to support distributed TensorFlow. However, GPUs are not currently managed natively by YARN, therefore, in Hadoop, GPUs cannot be scheduled to applications. That is, there is no support for isolating GPUs to applications and managing access to applications.

This thesis presents an architecture for scheduling and isolating GPUs-as-aresource for Hops Hadoop. In particular, the work is constrained to supporting YARN’s most popular scheduler, the Capacity Scheduler. The architecture is implemented and verified based on a set of test cases. The architecture is evaluated in a quantitative approach by measuring the performance overhead of supporting GPUs by running a set of experiments.

The solution piggybacks GPUs during capacity calculation in the sense that GPUs are not included as part of the capacity calculation. The Node Manager makes use of Cgroups to provide exclusive isolation of GPUs to a container. A GPUAllocator component is implemented that keeps an in-memory state of currently available GPU devices and those which are currently allocated locally on the Node Manager.

The performance tests concluded that the YARN resource model can be extended with GPUs, and that the overhead is negligible.

With our contribution of extending Hops Hadoop to support GPUs as a resource, we are enabling deep learning on Big Data, and making a first step towards support for distributed deep learning.

Abstract [sv]

De senaste åren har många framsteg gjorts inom maskininlärning och användning av dess tekniker inom många olika industrier. Djupinlärning är ett delområde inom maskininlärning som är hänförlig till många av de senaste innovativa applikationerna såsom system för autonom bilkörning.

Att träna en djupinlärningsmodell är en beräkningsmässigt intensiv uppgift som i många fall är ineffektivt på endast en processor. Dramatiskt snabbare träning är möjlig genom att använda en eller flera grafikkort, kopplat med behov att träna mer komplexa modeller med större datamängder, är det inte hållbart att endast träna på en processor.

Hops Hadoop är en Hadoop distribution med målet att göra Hadoop mer skalbart, genom att migrera metadata från YARN och HDFS till MySQL NDB. Hops utför i nuläget ett arbete med att stödja distribuerad TensorFlow. För närvarande finns inget stöd för grafikkort som en resurs i YARN, därmed, i Hadoop, så kan grafikkort inte schemaläggas för applikationer. Mer specifikt, det finns inget stöd för att isolera grafikkort för applikationer och erbjuda som en resurs.

Den här uppsatsen presenterar en arkitektur för att schemalägga och isolera grafikkort som en resurs i Hops Hadoop. Arbetet innefattar stöd för den mest populära schemaläggaren i YARN, kapacitets schemaläggaren. Arkitekturen implementeras och verifieras utifrån en mängd testfall. Arkitekturen utvärderas sedan i ett kvantitativt tillvägagångssätt genom att mäta tidspåverkan att stödja grafikkort genom att utföra ett antal experiment.

Lösningen tar inte hänsyn till grafikkort som en del av kapacitetsberäkningen. Node Manager komponenten använder Cgroups för att utföra isolering av grafikkort.

En GPUAllocator komponent har implementerats som håller ett tillstånd över vilka grafikkort som allokerats och vilka som är lediga på Node Manager. 

Experimenten konkluderar att YARN kan stödja grafikkort som en resurs och att tidspåverkan för detta är försumbart.

Detta arbete med att stödja grafikkort som en resurs på Hops Hadoop, gör det möjligt att utföra djupinlärnin på stora datamängder, och är ett första steg mot stöd för distribuerad djupinlärning.

Place, publisher, year, edition, pages
2017. , p. 51
Series
TRITA-ICT-EX ; 2017:151
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
URN: urn:nbn:se:kth:diva-222357OAI: oai:DiVA.org:kth-222357DiVA: diva2:1181003
Subject / course
Computer Science
Educational program
Master of Science - Software Engineering of Distributed Systems
Supervisors
Examiners
Available from: 2018-02-07 Created: 2018-02-07 Last updated: 2018-02-07Bibliographically approved

Open Access in DiVA

fulltext(1854 kB)7 downloads
File information
File name FULLTEXT01.pdfFile size 1854 kBChecksum SHA-512
011444d690213b371495d655e3c0dedf4fc614bff00ca602939b4cc5d2f24b78b6311c47a3ec7696e7f0d569fdeb882d542684c612831b2d381b6ce1bc8d984d
Type fulltextMimetype application/pdf

By organisation
School of Information and Communication Technology (ICT)
Electrical Engineering, Electronic Engineering, Information Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 7 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 23 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf