当前位置:
X-MOL 学术
›
arXiv.cs.DC
›
论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
emucxl: an emulation framework for CXL-based disaggregated memory applications
arXiv - CS - Distributed, Parallel, and Cluster Computing Pub Date : 2024-04-12 , DOI: arxiv-2404.08311 Raja Gond, Purushottam Kulkarni
arXiv - CS - Distributed, Parallel, and Cluster Computing Pub Date : 2024-04-12 , DOI: arxiv-2404.08311 Raja Gond, Purushottam Kulkarni
The emergence of CXL (Compute Express Link) promises to transform the status
of interconnects between host and devices and in turn impact the design of all
software layers. With its low overhead, low latency, and memory coherency
capabilities, CXL has the potential to improve the performance of existing
devices while making viable new operational use cases (e.g., disaggregated
memory pools, cache coherent memory across devices etc.). The focus of this
work is design of applications and middleware with use of CXL for supporting
disaggregated memory. A vital building block for solutions in this space is the
availability of a standard CXL hardware and software platform. Currently, CXL
devices are not commercially available, and researchers often rely on
custom-built hardware or emulation techniques and/or use customized software
interfaces and abstractions. These techniques do not provide a standard usage
model and abstraction layer for CXL usage, and developers and researchers have
to reinvent the CXL setup to design and test their solutions, our work aims to
provide a standardized view of the CXL emulation platform and the software
interfaces and abstractions for disaggregated memory. This standardization is
designed and implemented as a user space library, emucxl and is available as a
virtual appliance. The library provides a user space API and is coupled with a
NUMA-based CXL emulation backend. Further, we demonstrate usage of the
standardized API for different use cases relying on disaggregated memory and
show that generalized functionality can be built using the open source emucxl
library.
中文翻译:
emucxl:基于 CXL 的分解内存应用程序的模拟框架
CXL(Compute Express Link)的出现有望改变主机和设备之间的互连状态,进而影响所有软件层的设计。凭借其低开销、低延迟和内存一致性功能,CXL 有潜力提高现有设备的性能,同时实现可行的新操作用例(例如,分解内存池、跨设备的缓存一致性内存等)。这项工作的重点是使用 CXL 设计应用程序和中间件来支持分解内存。该领域解决方案的一个重要组成部分是标准 CXL 硬件和软件平台的可用性。目前,CXL 设备尚未商用,研究人员通常依赖定制硬件或仿真技术和/或使用定制软件接口和抽象。这些技术没有为 CXL 使用提供标准使用模型和抽象层,开发人员和研究人员必须重新设计 CXL 设置来设计和测试他们的解决方案,我们的工作旨在提供 CXL 仿真平台和软件接口的标准化视图以及分类内存的抽象。该标准化被设计和实现为用户空间库 emucxl,并可作为虚拟设备使用。该库提供用户空间 API 并与基于 NUMA 的 CXL 仿真后端相结合。此外,我们还演示了标准化 API 在依赖于分解内存的不同用例中的使用,并表明可以使用开源 emucxl 库构建通用功能。
更新日期:2024-04-15
中文翻译:
emucxl:基于 CXL 的分解内存应用程序的模拟框架
CXL(Compute Express Link)的出现有望改变主机和设备之间的互连状态,进而影响所有软件层的设计。凭借其低开销、低延迟和内存一致性功能,CXL 有潜力提高现有设备的性能,同时实现可行的新操作用例(例如,分解内存池、跨设备的缓存一致性内存等)。这项工作的重点是使用 CXL 设计应用程序和中间件来支持分解内存。该领域解决方案的一个重要组成部分是标准 CXL 硬件和软件平台的可用性。目前,CXL 设备尚未商用,研究人员通常依赖定制硬件或仿真技术和/或使用定制软件接口和抽象。这些技术没有为 CXL 使用提供标准使用模型和抽象层,开发人员和研究人员必须重新设计 CXL 设置来设计和测试他们的解决方案,我们的工作旨在提供 CXL 仿真平台和软件接口的标准化视图以及分类内存的抽象。该标准化被设计和实现为用户空间库 emucxl,并可作为虚拟设备使用。该库提供用户空间 API 并与基于 NUMA 的 CXL 仿真后端相结合。此外,我们还演示了标准化 API 在依赖于分解内存的不同用例中的使用,并表明可以使用开源 emucxl 库构建通用功能。