Bridging the gap between object stores and HPC
Authors:   , Barceló Cuerda Alex 
Published: December 2024

(English) Efficient data management is a fundamental aspect of application workflows, particularly in the context of High-Performance Computing environments. This thesis examines the potential of object stores as a robust candidate for HPC storage systems.

The first contribution of this thesis is the conditioning of a distributed object store combined with the architectural design of its integration with a computational framework. The resulting object store can efficiently use HPC resources. This is achieved by leveraging active capabilities and results in an increase of data locality and execution performance.

After this first contribution --the fruit of which is a software stack architecture, in addition to its evaluation characterization-- we propose two additional distinct contributions (second and third contributions of this thesis) that showcase the potential of such an active object store in the realm of HPC. For the second contribution, we introduce a new software mechanism for iterating datasets and performing distributed execution on this software stack. Our proposal is able to abstract the relationship between data distribution and task distribution while delivering performance benefits in a wide variety of scenarios. This is achieved without sacrificing the programmability of the task based programming model.

The third contribution of this thesis is related to the integration of a hardware technology, the non-volatile memory (NVM). The main idea is to leverage the active aspect of the object store and combine it with the byte-addressable nature of these new kind of memories. The characteristics of NVM allow to perform in-place computation --without needing to stage-in data from this persistent memory layer-- and the active mechanism is able to invoke the execution next to its data. These two aspects intertwine and allow the object store to manage NVM space while boosting data locality and reducing overall memory footprint.

All contributions are implemented as part of dataClay (the storage system, an object store). This thesis includes the implementation and evaluation of these proposals with commonly used scientific applications. In addition to completing and evaluating the integration of dataClay and COMPSs (the execution framework), the software mechanisms for iterating datasets are also implemented and evaluated with Dask (another task-based execution framework). The different scenarios explored showcase the benefits that our contributions bring to the proposed software stacks within the HPC ecosystem.

(Català) La gestió eficient de les dades és un aspecte fonamental dels fluxos de treball de les aplicacions, especialment en el context dels entorns informàtics d'alt rendiment. Aquesta tesi examina el potencial dels emmagatzematges d'objectes com a candidats robustos per als sistemes de emmagatzematge d'alt rendiment (HPC).

La primera contribució d'aquesta tesi és la adaptació d'un emmagatzematge d'objectes distribuït combinat amb el disseny arquitectònic de la seva integració amb un marc computacional. L'emmagatzematge d'objectes resultant pot utilitzar eficientment els recursos HPC. Això s'aconsegueix aprofundint en les capacitats actives i dona lloc a un augment de la localitat de dades i el rendiment de l'execució.

Després d'aquesta primera contribució en proposem dues addicionals que mostren el potencial d'aquest emmagatzematge actiu d'objectes en el context HPC. Per a la segona contribució, introduïm un nou mecanisme de programari per iterar conjunts de dades i realitzar execució distribuïda en aquest entorn. La nostra proposta pot abstreure la relació entre la distribució de dades i la distribució de tasques, alhora que ofereix avantatges de rendiment en una àmplia varietat d'escenaris, sense sacrificar la programabilitat del model de programació basat en tasques.

La tercera contribució d'aquesta tesi està relacionada amb la integració d'una tecnologia de maquinari, la memòria no volàtil (NVM). La idea principal és aprofitar l'aspecte actiu de l'emmagatzematge d'objectes i combinar-lo amb la natura d'adressament per bytes (no per blocs) d'aquest nou tipus de memòries. Les característiques de la NVM permeten realitzar càlculs in situ, sense necessitat de transferir dades des d'aquesta capa de memòria persistent, i el mecanisme actiu pot invocar l'execució al costat de les seves dades. Aquests dos aspectes es relacionen i permeten al programari d'emmagatzematge gestionar l'espai NVM mentre millora la localitat de les dades i redueix els requeriments de memòria globalment.

Totes les contribucions s'implementen com a part de dataClay (el sistema d'emmagatzematge, un programari d'emmagatzematge d'objectes). Aquesta tesi inclou la implementació i avaluació d'aquestes propostes amb aplicacions científiques d'ús comú. A més de completar i avaluar la integració de dataClay i COMPSs (el marc d'execució), els mecanismes de programari per iterar conjunts de dades també s'implementen i avaluen amb Dask (un altre marc d'execució basat en tasques). Els diferents escenaris explorats mostren els beneficis que aporten les nostres contribucions a les pila de programari proposades dins l'ecosistema HPC.