CXL Shared Memory Programming: Barely Distributed and Almost Persistent

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Xu, Yi, Mahar, Suyash, Liu, Ziheng, Shen, Mingyao, Swanson, Steven
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866911957721808896
author Xu, Yi
Mahar, Suyash
Liu, Ziheng
Shen, Mingyao
Swanson, Steven
author_facet Xu, Yi
Mahar, Suyash
Liu, Ziheng
Shen, Mingyao
Swanson, Steven
contents While Compute Express Link (CXL) enables support for cache-coherent shared memory among multiple nodes, it also introduces new types of failures--processes can fail before data does, or data might fail before a process does. The lack of a failure model for CXL-based shared memory makes it challenging to understand and mitigate these failures. To solve these challenges, in this paper, we describe a model categorizing and handling the CXL-based shared memory's failures: data and process failures. Data failures in CXL-based shared memory render data inaccessible or inconsistent for a currently running application. We argue that such failures are unlike data failures in distributed storage systems and require CXL-specific handling. To address this, we look into traditional data failure mitigation techniques like erasure coding and replication and propose new solutions to better handle data failures in CXL-based shared memory systems. Next, we look into process failures and compare the failures and potential solutions with PMEM's failure model and programming solutions. We argue that although PMEM shares some of CXL's characteristics, it does not fully address CXL's volatile nature and low access latencies. Finally, taking inspiration from PMEM programming solutions, we propose techniques to handle these new failures. Thus, this paper is the first work to define the CXL-based shared memory failure model and propose tailored solutions that address challenges specific to CXL-based systems.
format Preprint
id arxiv_https___arxiv_org_abs_2405_19626
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle CXL Shared Memory Programming: Barely Distributed and Almost Persistent
Xu, Yi
Mahar, Suyash
Liu, Ziheng
Shen, Mingyao
Swanson, Steven
Distributed, Parallel, and Cluster Computing
While Compute Express Link (CXL) enables support for cache-coherent shared memory among multiple nodes, it also introduces new types of failures--processes can fail before data does, or data might fail before a process does. The lack of a failure model for CXL-based shared memory makes it challenging to understand and mitigate these failures. To solve these challenges, in this paper, we describe a model categorizing and handling the CXL-based shared memory's failures: data and process failures. Data failures in CXL-based shared memory render data inaccessible or inconsistent for a currently running application. We argue that such failures are unlike data failures in distributed storage systems and require CXL-specific handling. To address this, we look into traditional data failure mitigation techniques like erasure coding and replication and propose new solutions to better handle data failures in CXL-based shared memory systems. Next, we look into process failures and compare the failures and potential solutions with PMEM's failure model and programming solutions. We argue that although PMEM shares some of CXL's characteristics, it does not fully address CXL's volatile nature and low access latencies. Finally, taking inspiration from PMEM programming solutions, we propose techniques to handle these new failures. Thus, this paper is the first work to define the CXL-based shared memory failure model and propose tailored solutions that address challenges specific to CXL-based systems.
title CXL Shared Memory Programming: Barely Distributed and Almost Persistent
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2405.19626