Zero-serialization, Zero-copy memory pooling in compute clusters

Disaggregated memory made accessible

Master Thesis (2023)
Author(s)

P.M.Q. Groet (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Contributor(s)

H.P. Hofstee – Mentor (TU Delft - Computer Engineering)

Z. Al-Ars – Mentor (TU Delft - Computer Engineering)

Faculty
Electrical Engineering, Mathematics and Computer Science
Copyright
© 2023 Philip Groet
More Info
expand_more
Publication Year
2023
Language
English
Copyright
© 2023 Philip Groet
Graduation Date
20-09-2023
Awarding Institution
Delft University of Technology
Programme
['Electrical Engineering | Embedded Systems']
Faculty
Electrical Engineering, Mathematics and Computer Science
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

With the rise of the new interconnect standards CXL and previously OpenCAPI, has come a great deal of possibilities to step away from the classical approach where CPUs are in charge of moving data between external devices and local memory. Specifically, OpenCAPI allows for attached devices to directly interface with the host memory bus in a near cache coherent way. IBM has developed the ThymesisFlow system which allows for other servers to access each others Random Access Memory through this OpenCAPI link. ThymesisFlow however is not fully coherent in some cases.
ThymesisFlow is designed for the situation where a borrower is able access a lender's memory, and the lender not accessing that borrowed memory. Coherency problems arise in the case where both a lender of memory, as well as a borrower of memory write to the lender's memory.
This thesis proposes the use of the Apache Arrow in-memory data format to not only access memory in a near coherent fashion, but in a fully coherent fashion. This will allow compute clusters to more efficiently use memory resources, allow for applications to dynamically hotplug memory, and allow for data sharing without copying over ethernet connection.

The protocols devised in this thesis are able to create disaggregated Arrow objects, which are readable by all nodes in a cluster in a coherent fashion. The creation of these coherent disaggregated objects is the only performance penalty in making them coherent, after initialization all nodes use their local CPU caches to cache remote objects.

A working proof-of-concept has been created which is able to share Apache Arrow objects stored in the memory of a single node. It is also possible to create Arrow objects which span the memory of multiple nodes, allowing for objects bigger than the memory of a single node. The proof-of-concept was able to be run thanks to the setup provided by the Hasso Plattner Institute.

Files

Philip_Groet_Thesis_ThymesisFl... (pdf)
(pdf | 1.07 Mb)
- Embargo expired in 20-09-2023
License info not available