通过 CXL 分解内存的编程模型

Gal Assa, Michal Friedman, Ori Lahav
{"title":"通过 CXL 分解内存的编程模型","authors":"Gal Assa, Michal Friedman, Ori Lahav","doi":"arxiv-2407.16300","DOIUrl":null,"url":null,"abstract":"CXL (Compute Express Link) is an emerging open industry-standard interconnect\nbetween processing and memory devices that is expected to revolutionize the way\nsystems are designed in the near future. It enables cache-coherent shared\nmemory pools in a disaggregated fashion at unprecedented scales, allowing\nalgorithms to interact with a variety of storage devices using simple loads and\nstores in a cacheline granularity. Alongside with unleashing unique\nopportunities for a wide range of applications, CXL introduces new challenges\nof data management and crash consistency. Alas, CXL lacks an adequate\nprogramming model, which makes reasoning about the correctness and expected\nbehaviors of algorithms and systems on top of it nearly impossible. In this work, we present CXL0, the first programming model for concurrent\nprograms running on top of CXL. We propose a high-level abstraction for CXL\nmemory accesses and formally define operational semantics on top of that\nabstraction. We provide a set of general transformations that adapt concurrent\nalgorithms to the new disruptive technology. Using these transformations, every\nlinearizable algorithm can be easily transformed into its provably correct\nversion in the face of a full-system or sub-system crash. We believe that this\nwork will serve as the stepping stone for systems design and modelling on top\nof CXL, and support the development of future models as software and hardware\nevolve.","PeriodicalId":501168,"journal":{"name":"arXiv - CS - Emerging Technologies","volume":"29 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"A Programming Model for Disaggregated Memory over CXL\",\"authors\":\"Gal Assa, Michal Friedman, Ori Lahav\",\"doi\":\"arxiv-2407.16300\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"CXL (Compute Express Link) is an emerging open industry-standard interconnect\\nbetween processing and memory devices that is expected to revolutionize the way\\nsystems are designed in the near future. It enables cache-coherent shared\\nmemory pools in a disaggregated fashion at unprecedented scales, allowing\\nalgorithms to interact with a variety of storage devices using simple loads and\\nstores in a cacheline granularity. Alongside with unleashing unique\\nopportunities for a wide range of applications, CXL introduces new challenges\\nof data management and crash consistency. Alas, CXL lacks an adequate\\nprogramming model, which makes reasoning about the correctness and expected\\nbehaviors of algorithms and systems on top of it nearly impossible. In this work, we present CXL0, the first programming model for concurrent\\nprograms running on top of CXL. We propose a high-level abstraction for CXL\\nmemory accesses and formally define operational semantics on top of that\\nabstraction. We provide a set of general transformations that adapt concurrent\\nalgorithms to the new disruptive technology. Using these transformations, every\\nlinearizable algorithm can be easily transformed into its provably correct\\nversion in the face of a full-system or sub-system crash. We believe that this\\nwork will serve as the stepping stone for systems design and modelling on top\\nof CXL, and support the development of future models as software and hardware\\nevolve.\",\"PeriodicalId\":501168,\"journal\":{\"name\":\"arXiv - CS - Emerging Technologies\",\"volume\":\"29 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-07-23\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Emerging Technologies\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2407.16300\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Emerging Technologies","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2407.16300","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

CXL(Compute Express Link,计算高速链路)是一种新兴的处理和存储设备之间的开放式行业标准互连,有望在不久的将来彻底改变系统的设计方式。它能以前所未有的规模,以分解的方式实现高速缓存相干的共享存储器池,允许算法在高速缓存线粒度内使用简单的加载和存储与各种存储设备进行交互。CXL 在为各种应用提供独特机会的同时,也带来了数据管理和崩溃一致性的新挑战。遗憾的是,CXL 缺乏适当的编程模型,这使得在其基础上推理算法和系统的正确性和预期行为几乎不可能。在这项工作中,我们提出了 CXL0,这是第一个在 CXL 上运行的并发程序的编程模型。我们提出了 CXL 内存访问的高级抽象,并在该抽象之上正式定义了操作语义。我们提供了一系列通用转换,使并发算法适应新的颠覆性技术。利用这些转换,面对全系统或子系统崩溃,每个可线性化的算法都能轻松转换成其可证明的正确版本。我们相信,这项工作将成为在 CXL 基础上进行系统设计和建模的垫脚石,并随着软件和硬件的发展支持未来模型的开发。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
A Programming Model for Disaggregated Memory over CXL
CXL (Compute Express Link) is an emerging open industry-standard interconnect between processing and memory devices that is expected to revolutionize the way systems are designed in the near future. It enables cache-coherent shared memory pools in a disaggregated fashion at unprecedented scales, allowing algorithms to interact with a variety of storage devices using simple loads and stores in a cacheline granularity. Alongside with unleashing unique opportunities for a wide range of applications, CXL introduces new challenges of data management and crash consistency. Alas, CXL lacks an adequate programming model, which makes reasoning about the correctness and expected behaviors of algorithms and systems on top of it nearly impossible. In this work, we present CXL0, the first programming model for concurrent programs running on top of CXL. We propose a high-level abstraction for CXL memory accesses and formally define operational semantics on top of that abstraction. We provide a set of general transformations that adapt concurrent algorithms to the new disruptive technology. Using these transformations, every linearizable algorithm can be easily transformed into its provably correct version in the face of a full-system or sub-system crash. We believe that this work will serve as the stepping stone for systems design and modelling on top of CXL, and support the development of future models as software and hardware evolve.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Pennsieve - A Collaborative Platform for Translational Neuroscience and Beyond Analysing Attacks on Blockchain Systems in a Layer-based Approach Exploring Utility in a Real-World Warehouse Optimization Problem: Formulation Based on Quantun Annealers and Preliminary Results High Definition Map Mapping and Update: A General Overview and Future Directions Detection Made Easy: Potentials of Large Language Models for Solidity Vulnerabilities
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1