没有合适的资源?快使用搜索试试~ 我知道了~
通用处理器在未来数据中心中异步存储器访问的标准和评估
BenchCouncil交易基准,标准和评估2(2022)100061通用处理器王鹿鸣,张旭,陆天岳,陈明宇中国科学院计算技术研究所,北京,100190中国科学院大学计算机科学与技术学院,北京,100049A R T I C L E I N F O保留字:异步存储器访问微架构A B S T R A C T在未来的数据中心中,应用程序将大量使用远存储器(包括分散的存储池和NVM)。远存储器的访问延迟比本地存储器访问延迟分布更广。这使得大多数通用处理器中传统的无序加载/存储机制在这种情况下的效率降低。因此,本研究提出一种核心异步记忆体存取单元,以充分利用远端记忆体资源。1. 介绍近年来,为了提高云数据中心的资源利用率,越来越多的资源被组织到资源池中。内存资源将成为下一个组织为游泳池然而,现在的远程内存池通常使用软件接口(如键值,RDMA,文件等)。而不是直接加载/存储[1]。最近,新的互连技术和协议(如OpenCAPI [2],Gen-Z [3]和CXL [4])使构建基于加载/存储接口的包含多个节点的分解内存池。研究人员已经构建了此类系统的原型[5]。可以预见,使用直接加载/存储接口的复杂的分解内存池将很快出现另一方面,非易失性主存储器(NVMM)开始出现,提供更高的存储密度和更低的待机功耗。然而,它面临着与远程存储系统类似的挑战。与传统DRAM相比,NVMM具有更高的延迟和更宽的延迟变化范围(6 - 30倍的写入延迟和5 - 10倍的读取延迟)[6]。目前,没有用于访问NVMM的有效和标准的接口。商业产品,如英特尔远程存储器和非易失性主存储器有时被称为访问远存储器有两个主要的区别与访问传统的基于DRAM的本地存储器相比。广泛分布的延迟从分布式内存池分配的内存可以位于一些遥远的远程节点上。此外,存储器设备可以是DRAM、NVM或其他新兴的存储器设备。因此,存储器访问延迟变得不确定。延迟可能分布在很宽的范围内。潜在的大聚合带宽由于存储器资源可能来自多个不同的机器,与受物理信道限制的本地存储器相比,最大聚合访问带宽可能显著增加,使得利用丰富的带宽成为一个挑战由于多级高速缓存层次结构,传统存储器系统中的访问延迟也是不确定的。然而,延迟的分布单次访问存储器请求的延迟约为1 ns(当L1命中时)至100 ns(当访问本地DRAM时)。现代处理器可以通过乱序执行和非阻塞缓存来容忍这种延迟差异。图1显示了当前无序处理器在远内存场景中的局限性。它们可以容忍的延迟范围受到指令队列、ROB、MSHR等。一旦这些资源中的一个耗尽,OO处理器就不能再发出更多的存储器访问请求。资源不足甚至发生在本地内存场景中。例如,由于MSHR数量有限,Intel Skylake处理器的单核只能达到15 GB/S左右的内存带宽,甚至低于单个DDR4-2400 DIMM。现代处理器很难容忍远存储器的访问延迟波动(300 ns-10 μs)虽然提高了超常规通用处理器核的乱序执行能力[9增加MSHR和ROB的条目数量,使用多级MSHR和ROB等)还可以提高这种情况下的加载/存储性能。但是这样的改进,即使是可行的,也需要大量的硬件资源。关键问题是传统的加载/存储指令是同步的,每个未完成的存储器访问需要保持至少一个硬件资源,直到操作完成。并行度越高,需要的硬件资源就越多解决这个问题的一种方法是异步内存访问。类似的困境已经存在于网络编程中,应用程序调用阻塞套接字接口使程序*通讯作者:中国科学院计算技术研究所,北京,100190。电子邮件地址:wangluming@ict.ac.cn(L.Wang),zhangxu19s@ict.ac.cn(X.Zhang),lutianyue@ict.ac.cn(T.Lu),cmy@ict.ac.cn(M. 陈)。https://doi.org/10.1016/j.tbench.2022.100061接收日期:2022年3月21日;接收日期:2022年5月7日;接受日期:2022年5月7日2022年5月24日在线提供2772-4859/©2022作者。Elsevier B. V.代表KeAi Communications Co. Ltd.提供的出版服务。这是CC BY-NC-ND许可证下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect标准和评价期刊主页:https://www.keaipublishing.com/en/journals/benchcouncil-transactions-on-benchmarks-standards-and-evaluations/BenchCouncil交易基准,L. Wang,X.Zhang,T.Lu等人BenchCouncil交易基准,标准和评估2(2022)1000612Fig. 1. 提高内存带宽利用率的方法。性能受到网络延迟的影响。为了解决这个问题,已经构建了异步非阻塞接口,例如select()和epoll()。正如网络编程已经从早期的同步阻塞模型发展到今天的异步非阻塞模型一样,我们建议也需要一个异步非阻塞的内存访问模型。因此,在通用处理器中应该有一些机制来有效地调用异步存储器访问。另一种方法是支持具有可变优先级的内存访问。如图1、为了提高性能,应用程序可以发起大粒度的内存请求,以隐藏延迟并充分利用带宽。此外,应用程序可以根据数据语义调整粒度,灵活高效地访问内存。针对上述方法,我们提出了一种核内异步存储器访问单元(AMU)来支持异步访问 在通用处理器中。AMU使应用程序能够通过简单的指令(如异步加载/存储)异步发起许多可变粒度的内存访问请求。AMU还使应用程序能够通过额外的配置寄存器启动各种复杂的内存访问请求。处理器仍然可以使用trans-asynchronous加载/存储指令的兼容性,而来自两个源的数据可以由计算指令透明消费。我们认为,这是一个更实际和有效的方式比设计一个非核心或片外异步存储器加速器。以下章节概述了异步内存访问单元的主要特性。2. 异步存储器存取单元传统上,大多数使用的加载/存储指令被实现为同步模式。每个挂起的内存操作将举行cert-tain硬件资源,如GPR,ROB和MSHR条目。的直到存储器操作完成,才释放硬件资源。我们提出了一类新的异步存储器访问指令,将不持有硬件资源在操作过程中。调用存储器访问请求的异步指令一旦被功能单元接受并发送出去,将立即被提交。因此,应用程序可以继续执行其他操作,而不是等待存储器访问操作完成。然后,appli-阳离子可以轮询是否有一个完成的请求后。此外,即使未完成的请求长时间没有完成,也不会由于ROB或其他硬件资源的短缺而导致流水线停顿异步存储器访问指令被解码并发出 作为正常的指示。处理异步指令的功能单元称为异步存储器访问单元(AMU)。AMU的灵感来自于许多现代处理器的矢量处理单元(VPU)。VPU是CPU中的一个独立功能单元。应用程序通过独立指令集(即,向量指令集),其包含一组额外的寄存器(即, 向量寄存器)来保存要处理的宽数据。 此外,向量指令与标量指令一起调度。向量寄存器和标量寄存器可以有效地交换数据。正如VPU一样,AMU可以与同步加载/存储单元共存,并且在兼容性优先时可以忽略。AMU负责处理异步指令。然而,它不能依靠内部硬件寄存器或队列来保持未完成的内存操作的状态,这将成为并行性的另一个潜在瓶颈。实际上,挂起请求的状态存储在SPM中。每个处理器核心都配备了一种缓冲垫存储器(SPM),其充当VPU中的向量寄存器,但具有更大的容量和灵活的数据结构。数据通过AMU在SPM和主存之间异步自动地移动。为了发起异步内存访问请求,应用程序可以在SPM中准备数据,然后执行异步内存访问指令。AMU收到请求后,将在后台将数据在内存和SPM从应用的角度来看,SPM是一个独立的存储空间。应用程序可以使用同步加载/存储指令来访问SPM中的数据,并使用其他常规指令来处理它们。此外,应用程序可以将数据从主存复制到SPM,反之亦然。SPM与处理器的原始数据访问和处理机制完全兼容通过异步访问,理论上AMU可以支持SPM所能支持的请求数。然而,AMU并不保证所有传出内存操作之间的一致性。硬件一致性检查的开销是限制传统的加载/存储队列和MSHR容量的原因之一。在AMU设计中,我们将一致性问题留给软件。 我们认为,软件和硬件的合作是正确的方式来利用大延迟的内存并行2.1. 指令AMU有三个核心指令。这些指令支持最基本的异步内存访问。异步加载/存储指令在AMU中,加载/存储指令调用SPM和存储器之间的数据移动请求。SPM地址和存储器地址被传递到AMU通过注册。AMU将在提供的SPM地址和离核存储器地址之间移动数据。然后是一个请求id, 用于跟踪请求,存储在目的寄存器中。获取已完成请求的id的指令我们建议使用getfin指令来获取任何已完成请求的id。如果没有完成的请求,则指令返回失败代码。无论是否有完成的请求,此指令都不会阻止执行。L. Wang,X.Zhang,T.Lu等人BenchCouncil交易基准,标准和评估2(2022)10006132.2. 寄存器由于指令的字段空间有限,一些复杂的存储器访问设置不能被编码在单个指令中。为了解决这个问题,我们设计了几个配置寄存器,其中包含高级参数。内存访问配置寄存器这些寄存器包含高级内存访问配置,包括地址、粒度、优先级等。 与每个访问指令组合以形成丰富的语义存储器请求。应用程序可以为不同的数据区域保留几个不同的配置寄存器由于某些指令的编码空间有限,甚至无法指定所有的配置寄存器。对于这种情况,系统自动选择该寄存器中指定的配置寄存器访问模式寄存器访问模式寄存器用于初始化复杂的异步内存访问。它们包含访问模式(如步幅、邻居、流等)。一类复杂的内存访问请求。2.3. 编程模型清单1显示了异步内存访问的一个基本示例。该代码使用aload指令发起异步内存访问请求。然后,代码不断重试getfin指令以获取已完成请求的id,并在请求仍处于挂起状态时执行其他工作。请求完成后,代码将使用加载指令从SPM读取数据清单1: 异步内存访问基本示例intMemory_need_to_be_access;int空间 =(整数)A_SPM_ADDR;//调用一个异步存储器公司简介//req u e s t s . 的 r e q u e s t'sI d我不知道。aload(spm_space,&存储器需要被访问) ;而 ((rd = g e t f i n()) !=0){1}//做点什么e l s e}//访问数据从SPMv i aload/s to r eint n =“n“,int n=“n”;AMU指令可以支持多种编程范例。• 向量指令和向量处理器是利用数据级并行性的数学技术。作为一种提高数据级并行性的技术,AMU指令与向量指令有许多相似之处。因此,可以有效地组合AMU指令与向量指令。• 事件驱动模型事件驱动模型是单线程非阻塞网络编程中的常见参数。此外,aload/astore指令类似于非阻塞套接字read()/write()。getfin指令类似于网络编程中的select()。因此,事件驱动模型可以自然地应用于异步内存访问,特别是对于乱序场景。• 协同程序模型对于具有复杂访问模式的异步访问请求,协同程序或轻量级软件线程是更合适的编程范例。 Coroutine可以轻松地与高性能并发数据结构一起工作,并使软件和AMU之间的交互更多图二. 建筑设计。3. 建筑设计图2给出了AMU的体系结构设计。有三个关键的设计选择:CPU流水线集成为了支持高效的异步存储器访问指令,许多状态控制寄存器被集成到CPU核心流水线中。其中一些寄存器指示AMU的状态,这允许程序快速获得未完成指令的状态。此外,异步存储器访问指令的推测执行带来了新的挑战,因为一些状态存储在SPM中。这就需要管道处理器核心的设计需要仔细考虑。可重新配置的缓存/SPM空间我们建议动态配置图的CPU缓存SPM的一部分。因此,不需要专有的SPM资源和接口。这种设计还允许软件更灵活地决定如何使用SPM。应用程序可以根据工作负载自行调整Cache和SPM的大小。例如,随机访问基准仅需要大约12 KB来支持多达512个正在进行的8B存储器请求。与L2控制器集成我们建议将AMU逻辑与L2缓存控制器集成。由于L2的大小与寄存器文件相比足够大,因此L2的保留部分不会像L1那样影响太多性能。该逻辑实现了异步访问请求的管理和执行,以及在SPM和存储器控制器之间移动数据的引擎由于AMU维护的内存请求的主要元数据存储在SPM中,因此额外的存储开销只有几个KB,并且当所需的MLP增加时不会变化AMU可以与标准内存控制器一起工作,用于本地内存或远程内存访问。然而,为了更好地支持具有丰富语义的各种异步存储器指令和各种远存储器资源,还应该有新设计的存储器控制器,其可以进行本地总线请求与网络分组之间的转换,诸如打包、解包、过滤、压缩、路由等。我们不指定服务器端的内存资源。对于AMU支持的异步内存访问,内存服务器没有延迟或粒度限制。不同类型的内存资源可以通过统一的接口访问。这就是内存组织和内存访问的分离。4. 早期评价为了证明AMU的概念,已经建立了一个早期的模拟器原型。我们修改GEM 5以实现AMU的周期精确模型,并通过运行Random-Access基准测试对其进行评估L. Wang,X.Zhang,T.Lu等人BenchCouncil交易基准,标准和评估2(2022)1000614图三. 随机访问基准测试的性能。来自HPCC(如图3所示)。远存储器延迟被设置为几个不同的值(从0。1 μs ~ 5 μs)。256 KB缓存容量中的64 KB是为SPM保留的。AMU在不同配置下的性能相似,而基线的性能随着访问延迟的增加而迅速下降。结果表明,AMU能够更好地容忍大范围的访问延迟。5. 讨论5.1. 有效的ID管理当发起异步访问请求时,需要为请求分配一个id,并在完成后释放。由于每次发起异步访问时都需要id,因此id管理的开销必须尽可能低。为了这个目标,我们选择了设计有效的硬件ID管理机制,而不是将ID管理留给软件。同时,该机制还应与无序机制和投机机制相结合。5.2. 一致性如第2节所述,这项工作依赖于软件来处理一致性。对于许多数据并行程序(如键值数据库和图形处理[13]等), 它们容易应用上述的并行模型。由于每个交错的协同程序处理独立的数据,因此自然避免了数据一致性问题。对于其他需要强一致性的程序,可以使用硬件和软件相结合的解决方案来处理异步访问远存储器的一致性问题。例如,一致性检查可以在本地存储器或本地缓存中实现。应用程序可以在调用对远程内存的异步访问之前在本地检查请求的一致性。此外,硬件还可以提供一些显式和有效的锁定机制,以确保一致性。此外,软件可以异步处理锁定以避免阻塞。虽然这些方法引入了额外的复杂性,我们认为,开销是可以接受的利益相比。5.3. 与Prefetching的异步内存访问和预取之间有三个主要区别。首先,预取机制不提供任何方法来查询预取请求是否已经完成。因此,应用程序无法知道数据是否已传输到本地缓存。这可能会影响应用程序的效率,因为访问延迟分布在很宽的范围内。其次,现代处理器的预取机制也受到MSHR条目数量的限制,而所提出的AMU完全绕过MSHR。第三,用于预取结果的存储器空间未被保留,因此预取的数据可能在访问之前丢失6. 今后工作本文只介绍了AMU的基本指令和结构。正在进行进一步的设计和评估。AMU的设计可以很容易地扩展支持更多的内存访问协议。例如,我们可以添加配置寄存器和指令,用于发出与内存处理相关的请求。如果底层存储器系统支持更丰富的语义,例如基于消息接口的存储器系统[14],则AMU将实现更大的编程灵活性。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作致谢本 课 题 得 到 了 中 国 科 学 院 战 略 重 点 研 究 计 划 ( 批 准 号 :XDC05030400)和华为技术有限公司的部分资助。引用[1] M.K. Aguilera , N. 阿 米 特 岛 卡 尔 丘 角 Deguillard , J. Gandhi , P.Subrahmanyam,L.苏雷什,K。塔蒂河Venkatasubramanian,M.魏,遥远的年代记忆快速网络 , 在 : 2017 年 云 计 算 研 讨 会 论 文 集 ,in : SoCC '17 , Association forComputing Machinery , New York , NY , USA , 2017 ,pp.121http://dx.doi.org/10.1145/3127479.3131612[2]openCAPI规范,2017,在线URLhttp://opencapi.org。 (2022年2月[3]Gen-Z规范,2018,在线URLhttps://genzconsortium.org/specifications。(2022年2月)。[4]Compute Express链接,2022,在线URLhttps://www.computeexpresslink.org/。(2022年2月)。[5]C. Pinto,D. Syrivelis,M. Gazzetti,P. Koutsovasilis,A. Reale,K. Katrinis,H. P.Hofstee,ThymesisFlow:一种用于机架级存储器分解的软件定义的硬件/软件协同 设 计 的 互 连 堆 栈 , 载 于 : 2020年 第 53届 IEEE/ACM国 际 微 架 构 研 讨 会 ,MICRO,2020年,第10页。868-880,http://dx.doi.org/10.1109/MICRO50266.2020.00075网站。[6] H.- K. Liu,L. Chen,H.金,X。- F.廖湾,澳-地他,K。Hu,Y.非易失性主存技术 综 述 : 最 新 技 术 、 实 践 和 未 来 方 向 , J。 Comput. Sci. Tech. 36 ( 1 )(2021)4http://dx.doi.org/10.1007/s11390-020-0780-z。[7]英 特 尔 optane 持 久 内 存 , 2022 , 在 线 URLhttps://www.intel 。com/content/www/us/en/architecture-and-technology/optane-dc-persistent-memory.html。 (2022年2月)。[8] A. Lagar-Cavilla,J. Ahn,S. Souhlal,N.阿加瓦尔河Burny,S.Butt,J.张,A. Chaugule,N.作者:J.Thelen,K.A. Yurtsever,Y. Zhao,P. Ranganathan,仓库规模计算机中的软件定义远存储器,在:第二十四届编程语言和操作系统架构支持国际会议论文集,在:ASPLOS '19,计算机械协会,纽约,纽约,美国,2019年,第100页。317http://dx.doi.org/10.1145/3297858.3304053[9] 塔 克 湖 Ceze , J. Torrellas , Scalable cache miss handling for highmemory-level parallelism,in: 2006 39th Annual IEEE/ACM InternationalSymposium onMicroarchitecture,MICRO '0 6 , IE E E , 20 0 6 , pp . 409-422[10] M. P. Ienne,AsiaDevil,停止为缓存未命中率哭泣:有效处理FPGA中的数千个未命中,载于:2019年ACM/SIGDA现场可编程门阵列国际研讨会论文集,2019年,pp. 310-319[11] S.T. 斯 里 尼 瓦 桑 河 Rajwar , H. Akkary , A. 甘 地 , M. Upton , Continualflowpipelines : achieving resource-efficient latency tolerance , IEEE Micro 24(6)(2004)62-73。[12] A. Hilton,S. Nagarakatte,A. 罗斯iCFP:容忍各级别缓存2009年IEEE第15届高性能计算机体系结构国际研讨会,IEEE,2009年,pp. 431-442.[13] 汉 湖 Wu , N. Sundaram , N. Satish , M. Martonosi , Graphicionado : A high-performanceand energy-efficient accelerator for graph analytics , in : 201649thAnnual IEEE/ACM International Symposium on Microarchitecture,MICRO,IEEE,2016,pp. 1比13[14] L- C.陈文Y. Chen,Y.阮,Y.- B.黄志- H.崔,T.- Y.卢,Y.- G. Bao,MIMS:Towards a Message Interface Based Memory System,J. Comput. Sci. Tech. 29(2)(2014)255http://dx.doi.org/10.1007/s11390-014-1428-7
下载后可阅读完整内容,剩余1页未读,立即下载
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)