Please use this identifier to cite or link to this item: http://doi.org/10.25358/openscience-2173
Authors: Congiu, Giuseppe
Title: Improving I/O performance in HPC through guided prefetching and non-volatile memory devices
Online publication date: 30-Jul-2018
Year of first publication: 2018
Language: english
Abstract: High performance computing has become one of the fundamental contributors to the progress of science and technology. However, one challenge of high performance computing remains the gap between compute components and hard disk drives performance, used to persistently store data, that has made I/O the main limitation to the scalability of applications. Over the years many research efforts have been dedicated to the alleviation of the I/O gap; a consistent portion of these has focused on caching techniques to hide disk accesses and reduce the time applications spend stalled on I/O transfers. Two popular caching techniques used to improve read and write performance are, respectively, prefetching and write-behind. Prefetching can mask disk accesses by preemptively loading data into main memory and serving it to applications from there, while write-behind buffers data updates into main memory and allows applications to return to compute faster, taking care of moving data to the disk at a later time. More recently the emergence of larger dynamic random access memories and new storage technologies has opened up a new range of possibilities to implement caching. In this thesis we focus on guided prefetching in Linux and collective write optimizations based on write-behind that exploit solid state drives on compute nodes of high performance computing clusters. Our prefetching strategy is directed to improve the I/O throughput of the parallel file system and hide its access time to scientific analysis codes; while our collective I/O solution is directed to improve the I/O throughput of applications writing their datasets to the parallel file system for defensive checkpoint restart. We have implemented our prefetching strategy into a new middleware prototype called Mercury and extended the ROMIO MPI-IO implementation with additional support for solid state drives; these can be exploited during collective write operations to locally buffer bursts of I/O activity in compute nodes, postponing the transfer of the data to the global file system at a later time. Experimental results in real environments demonstrate the effectiveness of our ideas and provide a base for the development of future production ready solutions based on these.
DDC: 004 Informatik
004 Data processing
Institution: Johannes Gutenberg-Universität Mainz
Department: FB 08 Physik, Mathematik u. Informatik
Place: Mainz
ROR: https://ror.org/023b0x485
DOI: http://doi.org/10.25358/openscience-2173
URN: urn:nbn:de:hebis:77-diss-1000021674
Version: Original work
Publication type: Dissertation
License: In Copyright
Information on rights of use: https://rightsstatements.org/vocab/InC/1.0/
Extent: xi, 133 Seiten
Appears in collections:JGU-Publikationen

Files in This Item:
  File Description SizeFormat
Thumbnail
100002167.pdf13.42 MBAdobe PDFView/Open