Supporting software engineering practices in the development of data-intensive HPC applications with the JuML framework

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

The development of high performance computing applications is considerably different from traditional software development. This distinction is due to the complex hardware systems, inherent parallelism, different software lifecycle and workflow, as well as (especially for scientific computing applications) partially unknown requirements at design time. This makes the use of software engineering practices challenging, so only a small subset of them are actually applied. In this paper, we discuss the potential for applying software engineering techniques to an emerging field in high performance computing, namely large-scale data analysis and machine learning. We argue for the employment of software engineering techniques in the development of such applications from the start, and the design of generic, reusable components. Using the example of the Juelich Machine Learning Library (JuML), we demonstrate how such a framework can not only simplify the design of new parallel algorithms, but also increase the productivity of the actual data analysis workflow. We place particular focus on the abstraction from heterogeneous hardware, the architectural design as well as aspects of parallel and distributed unit testing.

Original languageEnglish
Title of host publicationProceedings of SE-CoDeSE 2017
Subtitle of host publication1st International Workshop on Software Engineering for High Performance Computing in Computational and Data-Enabled Science and Engineering - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis
PublisherAssociation for Computing Machinery, Inc
Pages1-8
Number of pages8
ISBN (Print)9781450351355
DOIs
Publication statusPublished - 12 Nov 2017
Event1st International Workshop on Software Engineering for High Performance Computing in Computational and Data-Enabled Science and Engineering, SE-CoDeSE 2017 - Held in conjunction with the International Conference for High Performance Computing, Networkin... - Denver, United States
Duration: 12 Nov 201717 Nov 2017

Publication series

NameProceedings of SE-CoDeSE 2017: 1st International Workshop on Software Engineering for High Performance Computing in Computational and Data-Enabled Science and Engineering - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis

Conference

Conference1st International Workshop on Software Engineering for High Performance Computing in Computational and Data-Enabled Science and Engineering, SE-CoDeSE 2017 - Held in conjunction with the International Conference for High Performance Computing, Networkin...
Country/TerritoryUnited States
CityDenver
Period12/11/1717/11/17

Bibliographical note

Publisher Copyright: © 2017 Copyright held by the owner/author(s).

Other keywords

  • Architecture design
  • Data analysis
  • High performance computing
  • Software engineering
  • Testing

Fingerprint

Dive into the research topics of 'Supporting software engineering practices in the development of data-intensive HPC applications with the JuML framework'. Together they form a unique fingerprint.

Cite this