kth.sePublications
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
StreamBrain: An HPC Framework for Brain-like Neural Networks on CPUs, GPUs and FPGAs
KTH, School of Electrical Engineering and Computer Science (EECS), Computer Science, Computational Science and Technology (CST).ORCID iD: 0000-0001-5452-6794
KTH, School of Electrical Engineering and Computer Science (EECS), Computer Science, Computational Science and Technology (CST).
KTH, School of Electrical Engineering and Computer Science (EECS), Computer Science, Computational Science and Technology (CST).ORCID iD: 0000-0001-6408-3333
Lawrence Livermore National Laboratory, CA, USA.
Show others and affiliations
2021 (English)In: ACM International Conference Proceeding Series, Association for Computing Machinery (ACM) , 2021Conference paper, Published paper (Refereed)
Abstract [en]

The modern deep learning method based on backpropagation has surged in popularity and has been used in multiple domains and application areas. At the same time, there are other - less-known - machine learning algorithms with a mature and solid theoretical foundation whose performance remains unexplored. One such example is the brain-like Bayesian Confidence Propagation Neural Network (BCPNN). In this paper, we introduce StreamBrain - a framework that allows neural networks based on BCPNN to be practically deployed in High-Performance Computing systems. StreamBrain is a domain-specific language (DSL), similar in concept to existing machine learning (ML) frameworks, and supports backends for CPUs, GPUs, and even FPGAs. We empirically demonstrate that StreamBrain can train the well-known ML benchmark dataset MNIST within seconds, and we are the first to demonstrate BCPNN on STL-10 size networks. We also show how StreamBrain can be used to train with custom floating-point formats and illustrate the impact of using different bfloat variations on BCPNN using FPGAs.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM) , 2021.
Keywords [en]
AI, BCPNN, Emerging Machine Learning, FPGA, GPU, HPC, Neural networks, Representation learning, Unsupervised learning, Backpropagation, Deep learning, Digital arithmetic, Field programmable gate arrays (FPGA), Learning systems, Problem oriented languages, Program processors, Application area, Benchmark datasets, Domain specific languages, Floating points, High performance computing systems, Learning methods, Multiple domains, Theoretical foundations
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:kth:diva-310412DOI: 10.1145/3468044.3468052Scopus ID: 2-s2.0-85109368800OAI: oai:DiVA.org:kth-310412DiVA, id: diva2:1648586
Conference
11th International Symposium on Highly Efficient Accelerators and Reconfigurable Technologies, HEART 2021, 21 June 2021- 23 June 2021, Online, Germany.
Note

Part of proceedings ISBN: 978-1-4503-8549-7

QC 20220331

Available from: 2022-03-31 Created: 2022-03-31 Last updated: 2023-01-18Bibliographically approved
In thesis
1. Large-scale I/O Models for Traditional and Emerging HPC Workloads on Next-Generation HPC Storage Systems
Open this publication in new window or tab >>Large-scale I/O Models for Traditional and Emerging HPC Workloads on Next-Generation HPC Storage Systems
2022 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

The ability to create value from large-scale data is now an essential part of research and driving technological development everywhere from everyday technology to life-saving medical applications. In almost all scientific fields that require handling large-scale data, such as weather forecast, physics simulation, and computational biology, supercomputers (HPC systems) have emerged as an essential tool for implementing and solving problems. While the computational speed of supercomputers has grown rapidly, the methods for handling large-scale data I/O (reading and writing data) at a high pace have not evolved as much. POSIX-based Parallel File Systems (PFS) and programming interfaces such as MPI-IO remain the norm of I/O workflow in HPC. At the same time, new applications, such as big data, and Machine Learning (ML) have emerged as a new class of widely deployed HPC applications. While all these applications require the ingestion and output of a large amount of data, they have very different usage patterns, giving a different set of requirements. Apart from that, new I/O technologies on HPC such as fast burst buffers and object stores are increasingly available. It currently lacks a novel method to fully exploit them in HPC applications.

In this thesis, we evaluate modern storage infrastructures, the I/O programming model landscape, and characterize how HPC applications can take advantage of these I/O models to tackle bottlenecks. In particular, we look into object storage, a promising technology that has the potential of replacing existing I/O subsystems for large-scale data storage. Firstly, we mimic the object storage semantic and create an emulator on top of existing parallel file systems to project the performance improvement that can be expected on a real object store for HPC applications. Secondly, we develop a programming model that supports numerical data storage for scientific applications. The set of interfaces captures the need from parallel applications that use domain decomposition. Finally, we evaluate how the interfaces can be used by scientific applications. More specifically, we show for the first time, how our programming interface can be used to leverage Seagate's Motr object-store. Aside from that, we also showcase how this approach can enable the use of modern node-local hierarchical storage architectures.

Aside from advancement on I/O infrastructure, the wide deployment of modern ML workloads introduces unique challenges to HPC and its I/O systems. We first understand the challenges by focusing on a state-of-the-art Deep-Learning (DL) framework called TensorFlow, which is widely used in cloud platforms. We evaluate how data ingestion in TensorFlow differs from traditional HPC applications to understand the challenges. While TensorFlow focuses on DL applications, there are alternative learning methods that pose different sets of challenges. To complement our understanding, we also propose a framework called StreamBrain, which implements a brain-like learning algorithm called the Bayesian Confidence Propagation Neural Network (BCPNN). We find that these alternative methods can potentially impose an even bigger challenge to conventional learning (such as those present in TensorFlow). To explain the I/O behavior of DL training, we perform a series of measurements and profiling on TensorFlow using monitoring tools. However, we find that existing methods are insufficient to derive a fine-grained I/O characteristic on these modern frameworks due to a lack of application-level coupling. To tackle this challenge, we propose a system called tf-Darshan that combines traditional HPC I/O monitoring and an ML workload profiling to enable a fine-grained I/O performance evaluation. Our findings show that the lack of co-design between modern frameworks and the HPC I/O subsystem leads to inefficient I/O (e.g. very small and random reads). They also fail to coordinate I/O requests in an efficient way in a parallel environment. With tf-Darshan, we showcase how knowledge derived from such measurements can be used to explain and improve I/O performance. Some examples include selective data staging to fast storage, and future auto-tuning on I/O parameters.

The methods proposed in this thesis are evaluated on a variety of HPC systems, workstations, and prototype systems with different I/O and compute architectures. Different HPC applications are used to validate the approaches. The experiments show that our approaches can enable a good characterization of I/O performance, and our proposed programming model illustrates how applications can use next-generation storage systems.

Abstract [sv]

Förmågan att skapa värde från stora datamängder är nu en väsentlig del av forskningen och driver teknisk utveckling överallt från vardagsteknik till livräddande medicinska tillämpningar. Inom nästan alla vetenskapliga områden som kräver hantering av stora datamängder, såsom väderprognos, fysiksimulering och beräkningsbiologi, har superdatorer (HPC-system) dykt upp som ett viktigt verktyg för att implementera och lösa problem. Medan superdatorernas beräkningshastighet har vuxit snabbt, har metoderna för att hantera storskalig data-I/O (läsa och skriva data) i hög takt inte utvecklats i samma takt. POSIX-baserade parallella filsystem (PFS) och programmeringsgränssnitt som MPI-IO förblir normen för I/O-arbetsflöden i HPC. Samtidigt har nya applikationer, såsom big data, och Machine Learning (ML) vuxit fram som en ny, vida använd, klass av HPC-program. Även om alla dessa applikationer kräver intag och utmatning av en stor mängd data, har de väldigt olika användningsmönster, vilket ger en annan uppsättning krav. Bortsett från det blir nya I/O-tekniker på HPC som snabba burst-buffertar (burst buffers) och objektlager (object stores) alltmer tillgängliga. Dessa saknar för närvarande en ny metod för att utnyttja deras fulla potential.

I denna avhandling utvärderar vi moderna lagringsinfrastrukturer, I/O-programmeringsmodell och karakteriserar hur HPC-applikationer kan dra nytta av dessa I/O-modeller för att förbättra prestanda. Vi tittar särskilt på objektlagring som är en lovande teknik som har potential att ersätta befintliga I/O-delsystem för storskalig datalagring. Vi utvecklar en method som härmar vi objektlagringssemantiken och skapar en emulator ovanpå befintliga parallella filsystem för att projicera den prestandaförbättring som kan förväntas på en riktig objektlagring för HPC-applikationer. Efter det så utvecklar vi en programmeringsmodell som stöder numerisk datalagring för vetenskapliga tillämpningar. Uppsättningen av gränssnitt fångar behovet från parallella applikationer som använder domändekomposition. Slutligen utvärderar vi hur gränssnitten kan användas av vetenskapliga tillämpningar. Mer specifikt visar vi för första gången hur vårt programmeringsgränssnitt kan användas för att dra nytta av Seagates Motor-objektlager. Dessutom visar vi också hur detta tillvägagångssätt kan möjliggöra användningen av moderna nodlokala hierarkiska lagringsarkitekturer.

Bortsett från framsteg inom I/O-infrastruktur, introducerar den breda distributionen av moderna ML-arbetsbelastningar unika utmaningar för HPC och dess I/O-system. Vi börjar med att först förstå vilka utmaningar som finns genom att fokusera på ett toppmodernt Deep-Learning (DL) ramverk kallat TensorFlow, som används flitigt på molnplattformar. Vi utvärderar hur dataintag i TensorFlow skiljer sig från traditionella HPC-applikationer för att förstå utmaningarna. Medan TensorFlow fokuserar på DL-applikationer, finns det alternativa inlärningsmetoder som bär med sig olika uppsättningar av utmaningar. För att komplettera vår förståelse föreslår vi också ett ramverk som heter StreamBrain. StreamBrain implementerar en hjärnliknande inlärningsalgoritm som kallas Bayesian Confidence Propagation Neural Network (BCPNN). Vi finner att dessa alternativa metoder potentiellt kan innebära en ännu större utmaning för konventionellt lärande (som de som finns i TensorFlow). För att förklara I/O-beteendet för DL-träning utför vi en serie mätningar och profilering på TensorFlow med hjälp av profileringsverktyg. Vi finner dock att befintliga metoder är otillräckliga för att härleda en finkornig I/O-karaktäristik på dessa moderna ramverk på grund av bristen av koppling på applikationsnivå. För att tackla denna utmaning föreslår vi ett system som heter tf-Darshan som kombinerar traditionell HPC I/O-övervakning och en ML-arbetsbelastningsprofilering för att möjliggöra en finkornig utvärdering av I/O-prestanda. Våra resultat visar att bristen på samdesign mellan moderna ramverk och HPC I/O-delsystemet leder till ineffektiv I/O (t.ex. mycket små och slumpmässiga läsningar). De misslyckas också med att koordinera I/O-förfrågningar på ett effektivt sätt i en parallell miljö. Med tf-Darshan visar vi hur kunskap som härrör från sådana mätningar kan användas för att förklara och förbättra I/O-prestanda. Några exempel inkluderar selektiv datainställning till snabb lagring och framtida automatisk justering av I/O-parametrar.

Metoderna som föreslås i denna avhandling utvärderas på en mängd olika HPC-system, arbetsstationer och prototypsystem med olika I/O- och beräkni-ngsarkitekturer. Olika HPC-applikationer används för att validera tillvägagån-gssätten. Experimenten visar att våra tillvägagångssätt kan möjliggöra en bra karakterisering av I/O-prestanda, och vår föreslagna programmeringsmodell illustrerar hur applikationer kan använda nästa generations lagringssystem.

Place, publisher, year, edition, pages
Stockholm: Kungliga Tekniska högskolan, 2022. p. 111
Series
TRITA-EECS-AVL ; 2022:25
Keywords
HPC, I/O, Parallel I/O, MPI, object storage, TensorFlow, Data-Centric, Artificial Intelligence, Machine Learning
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:kth:diva-310828 (URN)978-91-8040-191-3 (ISBN)
Public defence
2022-04-29, F3, 15:00 (English)
Opponent
Supervisors
Funder
EU, Horizon 2020, 800999
Note

QC 20220411

Available from: 2022-04-11 Created: 2022-04-07 Last updated: 2022-06-25Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Podobas, ArturSvedin, MartinChien, Wei DerRavichandran, Naresh BalajiHerman, PawelLansner, AndersMarkidis, Stefano

Search in DiVA

By author/editor
Podobas, ArturSvedin, MartinChien, Wei DerRavichandran, Naresh BalajiHerman, PawelLansner, AndersMarkidis, Stefano
By organisation
Computational Science and Technology (CST)
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 68 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