CN117806553A - 一种多源异构分布式系统、内存访问方法和存储介质 - Google Patents
一种多源异构分布式系统、内存访问方法和存储介质 Download PDFInfo
- Publication number
- CN117806553A CN117806553A CN202311843443.2A CN202311843443A CN117806553A CN 117806553 A CN117806553 A CN 117806553A CN 202311843443 A CN202311843443 A CN 202311843443A CN 117806553 A CN117806553 A CN 117806553A
- Authority
- CN
- China
- Prior art keywords
- message
- request
- state
- identifier
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 296
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000004044 response Effects 0.000 claims abstract description 114
- 230000006978 adaptation Effects 0.000 claims abstract description 109
- 238000004806 packaging method and process Methods 0.000 claims abstract description 53
- 238000006243 chemical reaction Methods 0.000 claims description 82
- 238000012544 monitoring process Methods 0.000 claims description 48
- 238000005538 encapsulation Methods 0.000 claims description 42
- 238000004458 analytical method Methods 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 abstract description 6
- 238000013500 data storage Methods 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 56
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 230000001427 coherent effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及数据存储技术领域,公开了一种多源异构分布式系统、内存访问方法和存储介质,第一统一互连总线单元通过协议适配接口模块接收第一设备发送的读请求,将第一内存单元的缓存状态设置为无效状态;将读请求封装得到的请求报文发送至第二设备的第二统一互连总线单元。第二统一互连总线单元从第二内存单元中读取数据;将第二内存单元的缓存状态设置为共享状态,将响应报文发送至第一统一互连总线单元。第一统一互连总线单元将响应报文携带的数据存储至第一内存单元;将第一内存单元的缓存状态设置为共享状态。通过在每个设备上部署统一互连总线单元,实现各设备间的一致性内存通信,实现内存共享,提升了多源异构分布式系统的性能。
Description
技术领域
本发明涉及数据存储技术领域,特别是涉及一种多源异构分布式系统、内存访问方法和存储介质。
背景技术
随着摩尔定律的放缓,针对于大数据量需要大规模的并行处理,已经不能依赖一个设备快速的完成,需要将许多类型的设备组合在一起进行处理,即异构处理。为了保证这些设备可以进行有效的通信,目前提出了多种高速缓存一致性互连协议标准。
不同类型的处理器与输入/输出(Input/Output,IO)外设互连所使用的片外缓存一致性总线有所不同。并且处理器之间的互连总线也只是针对同类型的处理器,不能用于其他处理器间的互连。由于不同类型处理器使用不同的互连总线,导致不同类型处理器之间无法互通。处理器与IO外设间也使用不同的总线协议,需要进行不同的处理。目前这种互连拓扑需要实现多种类型的互连总线,实现结构复杂。并且不同类型设备间的内存不能共享,内存扩展访问受限,并不能发挥多源异构分布式系统的最佳性能。
可见,如何提升多源异构分布式系统的性能,是本领域技术人员需要解决的问题。
发明内容
本发明实施例的目的是提供一种多源异构分布式系统、内存访问方法和存储介质,可以解决多源异构分布式系统的性能低下的问题。
为解决上述技术问题,本发明实施例提供一种多源异构分布式系统,包括至少两个处理器、至少一个加速器;其中,各所述处理器以及所述加速器有其各自对应的内存单元;各所述处理器以及所述加速器上均部署有统一互连总线单元;所述统一互连总线单元上部署协议适配接口模块;所述协议适配接口模块用于实现不同类型设备的一致性协议接口与统一互连总线协议接口的转换;
第一统一互连总线单元,用于通过所述协议适配接口模块接收第一设备发送的读请求,将所述第一设备的第一内存单元的缓存状态设置为无效状态;将所述读请求封装为符合设定报文格式的请求报文并发送至第二设备的第二统一互连总线单元;其中,所述第一设备和所述第二设备为各所述处理器以及所述加速器中的任意两个设备;
所述第二统一互连总线单元,用于在接收到所述请求报文后,从所述第二设备的第二内存单元中读取数据;将所述第二内存单元的缓存状态设置为共享状态,并将所述数据封装为符合所述报文格式的响应报文;将所述响应报文通过发送至所述第一统一互连总线单元;
所述第一统一互连总线单元,用于将接收的所述响应报文携带的所述数据存储至所述第一内存单元;根据所述响应报文中携带的缓存状态,将所述第一内存单元的缓存状态设置为共享状态。
一方面,所述统一互连总线单元包括协议层、适配层和物理层;其中,所述协议层包括协议适配接口模块、请求队列管理模块、响应队列管理模块、报文解析封装模块和时钟域转换模块;其中,所述协议适配接口模块分别与所述请求队列管理模块以及所述响应队列管理模块连接,用于根据请求类型将接收到的请求传输至所述请求队列管理模块或所述响应队列管理模块;所述报文解析封装模块分别与所述请求队列管理模块、所述响应队列管理模块以及所述时钟域转换模块连接,用于实现报文的封装和解封。
一方面,所述第一统一互连总线单元的第一协议适配接口模块,用于接收所述第一设备发送的读请求,通过内部总线将所述读请求传输至第一请求队列管理模块;
所述第一请求队列管理模块,用于接收所述读请求;将所述第一设备的第一内存单元的缓存状态设置为无效状态;根据所述读请求携带的所述第二设备的第二标识,从节点转发表中查询所述第二标识所匹配的第二设备地址;将所述读请求以及所述第二设备地址传输至第一报文解析封装模块;
所述第一报文解析封装模块,用于按照所述报文格式,对接收的所述读请求进行封装,以得到所述请求报文;将所述请求报文以及所述第二设备地址传输至第一时钟域转换模块;
所述第一时钟域转换模块,用于将所述请求报文以及所述第二设备地址通过第一适配层和第一物理层传输至集线器;
所述集线器,用于将所述请求报文转发至所述第二设备地址对应的所述第二设备。
一方面,所述第一统一互连总线单元的第一协议适配接口模块,用于接收所述第一设备发送的读请求,通过内部总线将所述读请求传输至第一请求队列管理模块;
所述第一请求队列管理模块,用于接收所述读请求;将所述第一设备的第一内存单元的缓存状态设置为无效状态;将所述读请求传输至第一报文解析封装模块;
所述第一报文解析封装模块,用于按照所述报文格式,对接收的所述读请求进行封装,以得到所述请求报文;将所述请求报文传输至第一时钟域转换模块;
所述第一时钟域转换模块,用于将所述请求报文通过第一适配层和第一物理层传输至集线器;
所述集线器,用于根据所述请求报文中携带的所述第二设备的第二标识,从节点转发表中查询所述第二标识所匹配的第二设备地址;将所述请求报文转发至所述第二设备地址对应的所述第二设备。
一方面,所述第一报文解析封装模块,用于按照源设备的标识、目的设备的标识、报文长度、报文类型、报文序列号、内存地址、内存数据和写使能信号的报文格式,对所述第一设备的第一标识、所述读请求指向的第二设备的第二标识、所述读请求所属的报文类型和报文序列号、以及第二内存地址进行封装,以得到所述请求报文;其中,所述第二内存地址中携带有所述第一内存单元为无效状态的状态标识。
一方面,所述第二统一互连总线单元的第二时钟域转换模块,用于通过第二物理层和第二适配层接收所述集线器传输的所述请求报文,并将所述请求报文转发至第二报文解析封装模块;
所述第二报文解析封装模块,用于对所述请求报文进行解析,以获取所述第一设备的第一标识、所述报文序列号和所述第二内存地址;将所述第二内存地址发送至第二响应队列管理模块;
所述第二响应队列管理模块,用于根据所述第二内存地址,从所述第二内存单元读取数据,并将所述数据传输至所述第二报文解析封装模块;将所述第二内存单元的缓存状态设置为共享状态;
所述第二报文解析封装模块,用于接收所述数据;根据所述第一标识,从节点转发表中查询所述第一标识所匹配的所述第一设备地址;按照所述报文格式对所述第二标识、所述第一标识、所述数据的长度、响应请求所属的报文类型、所述报文序列号、第一内存地址、所述数据和写使能信号进行封装,以得到所述响应报文;将所述响应报文以及所述第一设备地址传输至第二时钟域转换模块;其中,所述第一内存地址中携带有所述第二内存单元为共享状态的状态标识;
所述第二时钟域转换模块,用于将所述响应报文以及所述第一设备地址通过所述第二适配层和所述第二物理层传输至所述集线器;
所述集线器,用于将所述响应报文转发至所述第一设备地址对应的所述第一设备。
一方面,所述第二统一互连总线单元的第二时钟域转换模块,用于通过第二物理层和第二适配层接收所述集线器传输的所述请求报文,并将所述请求报文转发至第二报文解析封装模块;
所述第二报文解析封装模块,用于对所述请求报文进行解析,以获取所述第一设备的第一标识、所述报文序列号和所述第二内存地址;将所述第二内存地址发送至第二响应队列管理模块;
所述第二响应队列管理模块,用于根据所述第二内存地址,从所述第二内存单元读取数据,并将所述数据传输至所述第二报文解析封装模块;所述第二内存单元的缓存状态设置为共享状态;
所述第二报文解析封装模块,用于接收所述数据;根据所述第一标识,从节点转发表中查询所述第一标识所匹配的所述第一内存地址;按照所述报文格式对所述第二标识、所述第一标识、所述数据的长度、响应请求所属的报文类型、所述报文序列号、第一内存地址、所述数据和写使能信号进行封装,以得到所述响应报文;将所述响应报文传输至第二时钟域转换模块;其中,所述第一内存地址中携带有所述第二内存单元为共享状态的状态标识;
所述第二时钟域转换模块,用于将所述响应报文通过所述第二适配层和所述第二物理层传输至所述集线器;
所述集线器,用于根据所述响应报文中携带的所述第一标识,从节点转发表中查询所述第一标识所匹配的第一设备地址;将所述响应报文转发至所述第一设备地址对应的所述第一设备。
一方面,所述第一统一互连总线单元,用于按照所述报文格式对所述第一标识、所述第二标识、监听所属的报文类型、所述报文序列号进行封装,以得到监听报文;将所述监听报文以及所述第二内存地址传输至所述第一时钟域转换模块;
所述第一时钟域转换模块,用于将所述监听报文以及所述第二设备地址通过所述第一适配层和所述第一物理层传输至所述集线器;
所述集线器,用于将所述监听报文转发至所述第二设备地址对应的所述第二设备。
一方面,所述第一统一互连总线单元,用于按照所述报文格式对所述第一标识、所述第二标识、监听所属的报文类型、所述报文序列号进行封装,以得到监听报文;将所述监听报文传输至所述第一时钟域转换模块;
所述第一时钟域转换模块,用于将所述监听报文通过所述第一适配层和所述第一物理层传输至所述集线器;
所述集线器,用于根据所述监听报文中携带的所述第二设备的第二标识,从节点转发表中查询所述第二标识所匹配的第二设备地址;将所述监听报文转发至所述第二设备地址对应的所述第二设备。
一方面,第三统一互连总线单元,用于接收第三设备发送的写请求,将所述第三设备的第三内存单元的缓存状态设置为无效状态;将待写入数据封装为符合所述报文格式的写报文;将所述写报文通过集线器发送至所述第一统一互连总线单元;
所述第一统一互连总线单元,用于接收所述集线器反馈的所述写报文,将所述写报文携带的所述待写入数据存储至所述第一内存单元;根据所述写报文中携带的缓存状态,将所述第一内存单元的缓存状态设置为唯一干净状态;通过所述集线器向所述第二统一互连总线单元发送监控报文;
所述第二统一互连总线单元,用于接收所述集线器发送的所述监控报文;根据所述监控报文中携带的无效状态,将所述第二内存单元的缓存状态设置为无效状态。
一方面,所述第三统一互连总线单元的第三协议适配接口模块,用于接收所述第三设备发送的写请求,通过内部总线将所述写请求传输至第三请求队列管理模块;
所述第三请求队列管理模块,用于接收所述写请求;将所述第三设备的第三内存单元的缓存状态设置为无效状态;根据所述写请求携带的所述第一设备的第一标识,从节点转发表中查询所述第一标识所匹配的第一设备地址;将所述写请求以及所述第一设备地址传输至第三报文解析封装模块;
所述第三报文解析封装模块,用于按照所述报文格式,对接收的所述写请求进行封装,以得到所述写报文;将所述写报文以及所述第一设备地址传输至第三时钟域转换模块;
所述第三时钟域转换模块,用于将所述写报文以及所述第一设备地址通过第三适配层和第三物理层传输至所述集线器;
所述集线器,用于将所述写报文转发至所述第一设备地址对应的所述第一设备。
一方面,所述第三统一互连总线单元的第三协议适配接口模块,用于接收所述第三设备发送的写请求,通过内部总线将所述写请求传输至第三请求队列管理模块;
所述第三请求队列管理模块,用于接收所述写请求;将所述第三设备的第三内存单元的缓存状态设置为无效状态;根据所述写请求携带的所述第一设备的第一标识,从节点转发表中查询所述第一标识所匹配的第一设备地址;将所述写请求以及所述第一设备地址传输至第三报文解析封装模块;
所述第三报文解析封装模块,用于按照所述报文格式,对接收的所述写请求进行封装,以得到所述写报文;将所述写报文传输至第三时钟域转换模块;
所述第三时钟域转换模块,用于将所述写报文通过第三适配层和第三物理层传输至所述集线器;
所述集线器,用于根据所述写报文中携带的所述第一设备的第一标识,从节点转发表中查询所述第一标识所匹配的第一设备地址;将所述写报文转发至所述第一设备地址对应的所述第一设备。
一方面,所述第三报文解析封装模块,用于按照源设备的标识、目的设备的标识、报文长度、报文类型、报文序列号、内存地址、内存数据和写使能信号的报文格式,对所述第三设备的第三标识、所述写请求指向的第一设备的第一标识、所述写请求所属的报文类型和报文序列号、第一内存地址以及所述待写入数据进行封装,以得到所述写报文;其中,所述第一内存地址中携带有所述第三内存单元为无效状态的状态标识。
一方面,所述适配层和所述物理层均设置有旁通单元;其中,所述旁通单元用于实现所述适配层和所述物理层的直连;
在所述第一设备和所述第二设备位于相同印刷电路板的情况下,所述第一设备的第一适配层和第一物理层以及所述第二设备的第二适配层和第二物理层的旁通单元处于开启状态,以实现所述第一设备和所述第二设备的直连。
一方面,还包括独立于各所述处理器以及所述加速器所设置的存储介质;所述存储介质上部署有所述统一互连总线单元。
一方面,各所述统一互连总线单元,用于根据其对应的内存单元上数据的状态,确定出匹配的缓存状态;其中,所述缓存状态包括无效状态、唯一状态和共享状态;所述唯一状态包括唯一干净状态、唯一脏状态、唯一干净空闲状态、唯一部分脏状态;所述共享状态包括共享干净状态和共享脏状态。
本发明实施例还提供了一种内存访问方法,包括:
基于协议适配接口模块接收第一设备发送的读请求,将所述第一设备的第一内存单元的缓存状态设置为无效状态;其中,所述协议适配接口模块用于实现不同类型设备的一致性协议接口与第一统一互连总线协议接口的转换;
根据所述第一设备的第一标识、所述读请求指向的第二设备的第二标识,将所述读请求封装为符合设定报文格式的第一请求报文;
将所述第一请求报文发送至所述第二设备的第二统一互连总线单元;
接收所述第二统一互连总线单元反馈的响应报文,将所述响应报文携带的数据存储至所述第一内存单元;
根据所述响应报文中携带的缓存状态,将所述第一内存单元的缓存状态设置为共享状态。
一方面,还包括:
接收集线器发送的第二请求报文;其中,所述第二请求报文由第二设备的第二统一互连总线单元传输至所述集线器;
根据所述第二请求报文中携带的第一内存地址,从所述第一内存单元中读取数据;
将所述第一内存单元的缓存状态设置为共享状态,并将所述数据封装为符合所述报文格式的响应报文;
将所述响应报文通过所述集线器发送至所述第二设备。
一方面,还包括:
接收集线器反馈的写报文,将所述写报文携带的待写入数据存储至所述第一内存单元;其中,所述写报文由第三设备的第三统一互连总线单元传输至所述集线器;
根据所述写报文中携带的缓存状态,将所述第一内存单元的缓存状态设置为唯一干净状态;
通过所述集线器向所述第二统一互连总线单元发送监控报文,以便于所述第二统一互连总线单元接收所述集线器发送的所述监控报文;根据所述监控报文中携带的无效状态,将第二内存单元的缓存状态设置为无效状态。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内存访问方法的步骤。
由上述技术方案可以看出,多源异构分布式系统包括至少两个处理器、至少一个加速器;各处理器以及加速器有其各自对应的内存单元;各处理器以及加速器上均部署有统一互连总线单元;统一互连总线单元上部署协议适配接口模块;协议适配接口模块用于实现不同类型设备的一致性协议接口与统一互连总线协议接口的转换。第一设备和第二设备为各处理器以及加速器中的任意两个设备。第一设备上部署的第一统一互连总线单元,用于通过协议适配接口模块接收第一设备发送的读请求,因为目前第一内存单元不存在数据,因此可以先将第一设备的第一内存单元的缓存状态设置为无效状态;将读请求封装为符合设定报文格式的请求报文并发送至第二设备的第二统一互连总线单元。第二统一互连总线单元,用于在接收到请求报文后,从第二设备的第二内存单元中读取数据;因为要实现数据的共享,因此可以将第二内存单元的缓存状态设置为共享状态,并将数据封装为符合报文格式的响应报文;将响应报文发送至第一统一互连总线单元。第一统一互连总线单元,用于将接收的响应报文携带的数据存储至第一内存单元;根据响应报文中携带的缓存状态,将第一内存单元的缓存状态设置为共享状态。本发明的有益效果在于,通过在每个设备上部署统一互连总线单元,在统一互连总线单元上部署协议适配接口模块,可以实现对多种不同类型设备的兼容,从而可以把多种不同类型指令集的处理器,不同类型的加速器,不同的内存单元都统一在一个系统,形成超级计算机系统,可实现不同处理器之间以及不同处理器和加速器之间内存的共享,形成大内存池,缓解了内存墙和IO墙问题。统一互连总线单元可用于将不同类型的设备通过不同拓扑形态互连起来,支持灵活的互连拓扑,可灵活扩展规模而不影响已有部署。通过记录内存单元的缓存状态,实现系统内各设备间的一致性内存通信。按照本发明的部署方式,极大的提升了多源异构分布式系统的性能。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种多源异构分布式系统的结构示意图;
图2为本发明实施例提供的一种协议适配接口模块的结构示意图;
图3为本发明实施例提供的一种多类型处理器和多类型加速器之间实现缓存一致性互连的架构示意图;
图4为本发明实施例提供的一种统一互连总线单元内部功能模块框图;
图5为本发明实施例提供的一种内存访问方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的说明书及上述附图中的术语“包括”和“具有”,以及与“包括”和“具有”相关的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
随着人工智能时代到来,内存墙问题和输入/输出(Input/Output,IO)墙问题日趋严重,内存墙问题主要是内存带宽的增长速度无法满足快速增长的中央处理器(CentralProcessing Unit,CPU)内核,导致内存带宽成为瓶颈。IO墙问题主要是内存容量不足造成访问外部存储的速度下滑。如何有效的扩展内存解决内存墙和IO墙问题,成为业界亟待解决的问题。
内存扩展最常见的是在处理器增加内存通道,目前已经支持8通道,甚至12通道,但不可能无限的增加下去,处理器每增加一个内存通道,都要增加很多信号,这对处理器的功耗、散热、封装以及印制电路板(Printed circuit boards,PCB)设计来说都是很大的挑战。当然,市场上涌现了一些新的存储介质,但目前的双倍速率(Double Data Rate,DDR)接口无法兼容多种存储介质。
高速串行计算机扩展总线标准(PCI-Express,PCIE)接口是目前高性能I/O设备普遍采用的总线类型,目前PCIE6.0的标准已正式发布,速度最高达128GBps(交换带宽),但PCIE接口不支持缓存一致性事务,也存在存储器地址空间隔离的问题,无法进行主机内存的扩展。
另外,随着摩尔定律的放缓,处理大数据量需要大规模的并行处理,已经不能依赖一个快速的芯片来完成,需要将许多类型的处理器,组合在一起,即异构处理。如何在这些设备间进行有效地通信,也需要一种新的总线协议。
目前常用的处理器与IO外设互连的片外缓存一致性总线主要包括多协议的互联技术总线(Compute Express Link,CXL),微处理器(Advanced RISC Machines,ARM)的用于加速器的缓存一致互联协议(CCIX),以及总线及其通信协议(NVlink)。
处理器间的互连总线主要包括超级通道互联(Ultra Path Interconnect,UPI)总线,超微半导体(AMD)间的互连总线(Infinity Fabric,IF),ARM的片上总线(Corelink)系列,还有国产中央处理器厂商自定义的一致性总线。通过处理器间互连总线可以实现读取不同处理器间的内存,也实现了内存扩展。
目前处理器间的总线互连协议和处理器与IO外设的互连协议通常使用不同的协议,以三种类型的处理器和三种类型的加速器为例,为了便于描述,三种类型的处理器可以分别为第一类处理器、第二类处理器、第三类处理器;三种类型的加速器分别为现场可编程门阵列(Field Programmable Gate Array,FPGA)、图形处理器(Graphics ProcessingUnit,GPU)和数字式海岸线分析系统(Digital Shoreline Analysis System,DSAS)。第一类处理器之间可以使用处理器间互连总线(Ultra Path Interconnect,UPI),第二类处理器之间可以使用片上总线(Corelink),第三类处理器之间可以使用一致性总线(HCCS)。第一类处理器和现场可编程门阵列之间使用多协议的互联技术总线(CXL);第二类处理器和图形处理器之间使用缓存一致互联协议总线(CCIX);第三类处理器和数字式海岸线分析系统之间使用高速串行计算机扩展总线(PCIE)。
对于片外缓存一致性互连协议,CXL总线是非对称的一致性总线,使用主从(Mater,Slave)模式,不能直接进行Master间以及Slave间的互连,使用场景受限。并且其他处理器使用CXL总线控制器需要购买license,价格昂贵。而CCIX互连总线延时高,实现复杂,内存读取性能低;而NVLink是专用的协议,别的处理器无法使用。对于处理器间的互连总线只是针对特定处理器。
服务器系统由多源异构处理器和加速器组成,不同处理器间使用不同的互连总线,导致无法互通。处理器间,处理器与IO外设间也使用不同的总线协议,需要进行不同的处理。目前这种互连拓扑需要实现多种互连总线,实现复杂;并且不同类型服务器间的内存不能共享,内存扩展访问受限,并不能发挥多源异构分布式系统的最佳性能。
故此,本发明实施例提供了一种多源异构分布式系统、内存访问方法和存储介质,各处理器以及加速器有其各自对应的内存单元;在各处理器以及加速器上均部署统一互连总线单元;在统一互连总线单元上部署协议适配接口模块,可以实现对多种不同类型设备的兼容。通过在每个设备上部署统一互连总线单元,可以把多种不同类型指令集的处理器,不同类型的加速器,不同的内存单元都统一在一个系统,从而形成超级计算机系统,可实现不同处理器之间以及不同处理器和加速器之间内存的共享,形成大内存池,缓解了内存墙和IO墙问题,极大的提升了多源异构分布式系统的性能。统一互连总线单元可用于将不同类型的设备通过不同拓扑形态互连起来,实现系统内各设备间的一致性内存通信,支持灵活的互连拓扑,可灵活扩展规模而不影响已有部署。
接下来,详细介绍本发明实施例所提供的一种多源异构分布式系统。图1为本发明实施例提供的一种多源异构分布式系统的结构示意图,该系统包括至少两个处理器11、至少一个加速器12;其中,各处理器11以及加速器12有其各自对应的内存单元;各处理器11以及加速器12上均部署有统一互连总线单元13;统一互连总线单元13上部署协议适配接口模块;协议适配接口模块用于实现不同类型设备的一致性协议接口与统一互连总线协议接口的转换集线器。
图1中是以两个处理器11和一个加速器12为例的示意图。处理器11和加速器12的实际个数,可以根据多源异构分布式系统的实际业务需求确定出,在此不做限定。两个处理器11的类型可以相同,也可以不同,在此不做限定。
在本发明实施例中,为了便于描述,可以将处理器11和加速器12统称为设备,不同设备之间的数据处理方式类似,以各处理器11以及加速器12中的任意两个设备即第一设备和第二设备为例,展开介绍。
为了便于区分,可以将第一设备上部署的统一互连总线单元(Unified CacheConsistency Bus,UCCB)13称作第一统一互连总线单元13,将第二设备上部署的统一互连总线单元13称作第二统一互连总线单元13。由于第一统一互连总线单元13和第二统一互连总线单元13只是部署在不同的设备上,但是其架构相同,因此在本发明实施例中采用相同的编号表示。
第一统一互连总线单元13,用于通过协议适配接口模块接收第一设备发送的读请求,将第一设备的第一内存单元的缓存状态设置为无效状态;将读请求封装为符合设定报文格式的请求报文;将请求报文发送至第二设备的第二统一互连总线单元13。
在实际应用中,第一统一互连总线单元13可以根据第一设备的第一标识、读请求指向的第二设备的第二标识,将读请求封装为符合设定报文格式的请求报文。
第二统一互连总线单元13,用于在接收到请求报文后,从第二设备的第二内存单元中读取数据;将第二内存单元的缓存状态设置为共享状态,并将数据封装为符合报文格式的响应报文;将响应报文发送至第一统一互连总线单元13。
在实际应用中,第二统一互连总线单元13可以根据请求报文中携带的第二内存地址,从第二设备的第二内存单元中读取数据。
第一统一互连总线单元13,用于将接收到的响应报文携带的数据存储至第一内存单元;根据响应报文中携带的缓存状态,将第一内存单元的缓存状态设置为共享状态。
在实际应用中,各处理器11以及加速器12上部署的统一互连总线单元13均可以与集线器连接,从而支持不同类型的拓扑形态。
第一统一互连总线单元13可以将请求报文通过集线器发送至第二设备的第二统一互连总线单元13;第二统一互连总线单元13可以通过集线器接收该请求报文,将响应报文通过该集线器发送至第一统一互连总线单元13。
在本发明实施例中,协议适配接口模块可以适配不同类型设备的一致性协议接口,不同处理器的对外一致性协议接口不同。通过在统一互连总线单元13上部署协议适配接口模块,可以实现不同类型设备的一致性协议接口与统一互连总线协议接口即UCCB接口的转换。
图2为本发明实施例提供的一种协议适配接口模块的结构示意图,图2中以是适配三种类型的处理器为例,在协议适配接口模块中可以部署三个处理器协议转换子模块,为了便于描述,可以称作第一处理器协议转换子模块、第二处理器协议转换子模块和第三处理器协议转换子模块。每个处理器协议转换子模块用于适配一种类型的处理器的一致性协议接口。三个处理器协议转换子模块分别与多路输出选择器(MUX/DEMUX)连接。
在实际应用中,通过修改协议适配接口模块,如在协议适配接口模块中增加设备协议转换子模块,无需修改其它模块,可以适配更多类型的设备。
图3为本发明实施例提供的一种多类型处理器和多类型加速器之间实现缓存一致性互连的架构示意图,为了便于区分,可以将多类型处理器分别称作第一类处理器、第二类处理器、第三类处理器和第四类处理器。将多类型加速器分别称作第一类加速器、第二类加速器和第三类加速器。图3中每个处理器和每个加速器上均有其对应的内存单元,为了实现各设备之间的互连,在每个处理器和每个加速器上均设置了统一互连总线单元。图3中还设置了独立的存储介质,可以用于扩充多源异构分布式系统的内存。在该独立的存储介质上也设置了统一互连总线单元,从而可以实现与其它设备上内存单元的互连。
在本发明实施例中,可以在每个设备上部署统一互连总线单元13。统一互连总线单元13可以包括协议层、适配层和物理层。
图4为本发明实施例提供的一种统一互连总线单元内部功能模块框图,统一互连总线单元可以包括协议层、适配层和物理层。协议层可以包括协议适配接口模块、请求队列管理模块、响应队列管理模块、报文解析封装模块和时钟域转换模块。协议适配接口模块分别与请求队列管理模块以及响应队列管理模块连接,用于根据请求类型将接收到的请求传输至请求队列管理模块或响应队列管理模块;报文解析封装模块分别与请求队列管理模块、响应队列管理模块以及时钟域转换模块连接,用于实现报文的封装和解封。适配层可以包括协议仲裁模块、连接状态管理模块、循环冗余校验码(Cyclic Redundancy Check,CRC)控制和重传模块、旁通模块。物理层可以包括链路控制模块、局域网仿真(Lane)通路的映射与重映射模块、加扰解扰模块和旁通模块。
物理层和适配层可以基于开放的UCIe互连标准,UCIe互连标准设计的物理层和适配层比基于PCIE的CXL、CCIX等互连总线延时更低,并且兼容多种协议,即便以后优化协议内容也不影响物理层和适配层。物理层可以用于实现链路初始化、训练等功能。适配层可以用来在多个协议之间选择和仲裁,同时负责link状态管理。物理层和适配层的旁通模块指两层的这些功能模块都可选。
在本发明实施例中,旁通单元可以用于实现适配层和物理层的直连;在第一设备和第二设备位于相同印刷电路板的情况下,第一设备的第一适配层和第一物理层以及第二设备的第二适配层和第二物理层的旁通单元处于开启状态,以实现第一设备和第二设备的直连。
在实际应用中,当进行同质设备间的互连时,即相同PCB主板上的多路设备互连,因为链路是已知的,可以静态配置链路参数,简化物理层和适配层的功能,基本实现透明传输,使延时降到最低。
在初始化阶段,对于物理层及适配层的初始化可以包括链路训练、与远端节点进行协议和参数协商、各节点设备的发现与枚举、协议寄存器的配置与查询。协议层的初始化可以包括配置节点唯一ID号,以及配置节点转发表,保证节点间可以任意转发。
在本发明实施例中,为了便于区分,可以将第一统一互连总线单元13上协议层包含的协议适配接口模块称作第一协议适配接口模块、请求队列管理模块称作第一请求队列管理模块、响应队列管理模块称作第一响应队列管理模块、报文解析封装模块称作第一报文解析封装模块,时钟域转换模块称作第一时钟域转换模块。同理,可以将第二统一互连总线单元13上协议层包含的协议适配接口模块称作第二协议适配接口模块、请求队列管理模块称作第二请求队列管理模块、响应队列管理模块称作第二响应队列管理模块、报文解析封装模块称作第二报文解析封装模块,时钟域转换模块称作第二时钟域转换模块。
以第一设备从第二设备上读取数据为例,第一统一互连总线单元13的第一协议适配接口模块,可以用于接收第一设备发送的读请求,通过内部总线将读请求传输至第一请求队列管理模块。
第一请求队列管理模块,用于接收读请求;将第一设备的第一内存单元的缓存状态设置为无效状态;根据读请求携带的第二设备的第二标识,从节点转发表中查询第二标识所匹配的第二设备地址;将读请求以及第二设备地址传输至第一报文解析封装模块。
在本发明实施例中,一个设备可以看作一个节点,节点转发表中可以记录多源异构分布式系统中各设备各自的标识和设备地址之间的对应关系。其中,设备的标识(ID)具有唯一性,可以用于区分不同的设备。
第一报文解析封装模块,用于按照报文格式,对接收的读请求进行封装,以得到请求报文;将请求报文以及第二设备地址传输至第一时钟域转换模块。
第一时钟域转换模块,用于将请求报文以及第二设备地址通过第一适配层和第一物理层传输至集线器。集线器,用于将请求报文转发至第二设备地址对应的第二设备。
除了上述介绍中集线器充当中转作用外,集线器也可以承担设备识别功能。以第一设备从第二设备上读取数据为例,第一统一互连总线单元13的第一协议适配接口模块,用于接收第一设备发送的读请求,通过内部总线将读请求传输至第一请求队列管理模块。第一请求队列管理模块,用于接收读请求;将第一设备的第一内存单元的缓存状态设置为无效状态;将读请求传输至第一报文解析封装模块。第一报文解析封装模块,用于按照报文格式,对接收的读请求进行封装,以得到请求报文;将请求报文传输至第一时钟域转换模块。第一时钟域转换模块,用于将请求报文通过第一适配层和第一物理层传输至集线器。集线器,用于根据请求报文中携带的第二设备的第二标识,从节点转发表中查询第二标识所匹配的第二设备地址;将请求报文转发至第二设备地址对应的第二设备。
报文解析封装模块中可以包含设定好的报文格式,表1为在本发明实施例提供的一种报文格式的示意表。表1中报文包含8部分内容,分别为源设备的标识(源ID)、目的设备的标识(目的ID)、报文长度(LEN)、报文类型(Type)、报文序列号(Tagid)、内存地址(Addr)、内存数据(Data)和写使能信号(be)。
表1
多源异构分布式系统中每一个互连节点都有唯一的一个ID号,通过ID进行路由,共支持256个节点。结合实际应用需求,报文类型可以包括读写请求报文,响应报文以及监听报文等类型。报文序列号(Tagid)用于重传等丢包处理。内存地址,共48bit。内存数据为实际传输的数,其写内存数据位宽可以为256bit或512bit。写使能信号,按字节可写,位宽为数据位宽/8。
以第一设备从第二设备上读取数据为例,第一报文解析封装模块可以按照源设备的标识、目的设备的标识、报文长度、报文类型、报文序列号、内存地址、内存数据和写使能信号的报文格式,对第一设备的第一标识、读请求指向的第二设备的第二标识、读请求所属的报文类型和报文序列号、以及第二内存地址进行封装,以得到请求报文;其中,第二内存地址中可以携带第一内存单元为无效状态的状态标识。
上述介绍中是以第一设备从第二设备上读取数据时,第一设备上第一统一互连总线单元13各模块的操作流程展开的介绍,接下来,将对第二统一互连总线单元13上各模块的操作流程展开的介绍。
第二统一互连总线单元13的第二时钟域转换模块,用于通过第二物理层和第二适配层接收集线器传输的请求报文,并将请求报文转发至第二报文解析封装模块。
第二报文解析封装模块,用于对请求报文进行解析,以获取第一设备的第一标识、报文序列号和第二内存地址;将第二内存地址发送至第二响应队列管理模块。
第二响应队列管理模块,用于根据第二内存地址,从第二内存单元读取数据,并将数据传输至第二报文解析封装模块;将第二内存单元的缓存状态设置为共享状态。
第二报文解析封装模块,用于接收数据;根据第一标识,从节点转发表中查询第一标识所匹配的第一设备地址;按照报文格式对第二标识、第一标识、数据的长度、响应请求所属的报文类型、报文序列号、第一内存地址、数据和写使能信号进行封装,以得到响应报文;将响应报文以及第一设备地址传输至第二时钟域转换模块;其中,第一内存地址中携带有第二内存单元为共享状态的状态标识。
第二时钟域转换模块,用于将响应报文以及第一设备地址通过第二适配层和第二物理层传输至集线器。集线器,用于将响应报文转发至第一设备地址对应的第一设备。
除了上述介绍中集线器充当中转作用外,集线器也可以承担设备识别功能。以第一设备从第二设备上读取数据为例,第二统一互连总线单元13的第二时钟域转换模块,用于通过第二物理层和第二适配层接收集线器传输的请求报文,并将请求报文转发至第二报文解析封装模块。第二报文解析封装模块,用于对请求报文进行解析,以获取第一设备的第一标识、报文序列号和第二内存地址;将第二内存地址发送至第二响应队列管理模块。第二响应队列管理模块,用于根据第二内存地址,从第二内存单元读取数据,并将数据传输至第二报文解析封装模块;第二内存单元的缓存状态设置为共享状态。第二报文解析封装模块,用于接收数据;根据第一标识,从节点转发表中查询第一标识所匹配的第一内存地址;按照报文格式对第二标识、第一标识、数据的长度、响应请求所属的报文类型、报文序列号、第一内存地址、数据和写使能信号进行封装,以得到响应报文;将响应报文传输至第二时钟域转换模块;其中,第一内存地址中携带有第二内存单元为共享状态的状态标识。第二时钟域转换模块,用于将响应报文通过第二适配层和第二物理层传输至集线器;集线器,用于根据响应报文中携带的第一标识,从节点转发表中查询第一标识所匹配的第一设备地址;将响应报文转发至第一设备地址对应的第一设备。
以第一设备从第二设备上读取数据为例,在第一设备获取到从第二设备传输的数据后,第一统一互连总线单元13可以按照报文格式对第一标识、第二标识、监听所属的报文类型、报文序列号进行封装,以得到监听报文;将监听报文以及第二内存地址传输至第一时钟域转换模块。第一时钟域转换模块,用于将监听报文以及第二设备地址通过第一适配层和第一物理层传输至集线器;集线器,用于将监听报文转发至第二设备地址对应的第二设备,至此完成一次完整的读事务请求。
在发送监听报文时,集线器除了充当中转作用外,也可以承担设备识别功能。在实际应用中,第一统一互连总线单元13可以按照报文格式对第一标识、第二标识、监听所属的报文类型、报文序列号进行封装,以得到监听报文;将监听报文传输至第一时钟域转换模块。第一时钟域转换模块,用于将监听报文通过第一适配层和第一物理层传输至集线器。集线器,用于根据监听报文中携带的第二设备的第二标识,从节点转发表中查询第二标识所匹配的第二设备地址;将监听报文转发至第二设备地址对应的第二设备。
除了读内存数据外,常见的内存操作还包括写内存数据。接下来,将以第三设备向第一设备写数据为例展开介绍。
为了便于区分,可以将第三设备上部署的统一互连总线单元13称作第三统一互连总线单元13。
第三统一互连总线单元13可以接收第三设备发送的写请求,将第三设备的第三内存单元的缓存状态设置为无效状态;将待写入数据封装为符合报文格式的写报文;将写报文通过集线器发送至第一统一互连总线单元13。
第一统一互连总线单元13,用于接收集线器反馈的写报文,将写报文携带的待写入数据存储至第一内存单元;根据写报文中携带的缓存状态,将第一内存单元的缓存状态设置为唯一干净状态;通过集线器向第二统一互连总线单元13发送监控报文。第二统一互连总线单元13,用于接收集线器发送的监控报文;根据监控报文中携带的无效状态,将第二内存单元的缓存状态设置为无效状态。
在本发明实施例中,缓存状态的类别可以有多种。通过设置缓存状态,可以便于各设备直观的了解不同内存单元的状态,比如设备可以确定内存单元上数据是否唯一且未被修改,或者共享且被修改等。
在实际应用中,可以采用“唯一”表示数据只在当前内存单元中存在,在其它内存单元中不存在。采用“共享”表示数据可以在多个内存单元中存在。采用“干净”表示数据未被修改。采用“脏”表示数据被修改过。
在本发明实施例中,统一互连总线单元13可以根据其对应的内存单元上数据的状态,确定出匹配的缓存状态;其中,缓存状态可以包括无效状态、唯一状态和共享状态;唯一状态包括唯一干净状态、唯一脏状态、唯一干净空闲状态、唯一部分脏状态;共享状态包括共享干净状态和共享脏状态。
统一互连总线单元定义的高速缓存模型支持不同一致性协议。缓存状态包括唯一干净(UC),即缓存行的状态是唯一且“干净”,缓存行只存在当前缓存中,且缓存行没有被修改过。唯一脏(UD),缓存行的状态是唯一但是“脏”,即缓存行只在当前缓存中存在,但是缓存行数据被修改过,且没有更新到内存。共享干净(SC),缓存行的状态是不唯一且“干净”,在其他缓存中可能有该缓存行的副本,且缓存行数据可能被修改过,但在当前缓存中是“干净”的。共享脏(SD),缓存行的状态是不唯一且“脏”,其他缓存中可能有该缓存行的副本,缓存行数据被修改过。无效状态,缓存行无效,不在缓存中。唯一干净空闲(UCE),缓存行只在当前缓存中存在,缓存行处于唯一状态,但所有数据字节均无效。唯一部分脏(UDP),缓存行的状态是唯一的但是部分为“脏”,缓存行只在当前缓存中存在,缓存行是唯一的,但是缓存行的仅有一部分数据有效且“脏”。
在上述7个状态中,其中前5个状态是用于ACE(AXI Coherency Extensions)一致性接口的处理器,而7个完整的状态是用于CHI(Coherent Hub Interface)一致性接口的处理器。队列管理模块内部会判断一致性请求是来自哪个处理器而选择使用哪些一致性状态。
在写入数据之前,第一内存单元并不存在数据,因此缓存状态为无效状态。当数据写入第一内存单元后,由于第一内存单元中记录的数据为将第三内存单元中原本的数据写入到第一内存单元,因此可以将第一内存单元的缓存状态设置为唯一干净状态。
上述介绍中第一设备从第二设备上读取数据和第三设备向第一设备写数据均是以向第一设备同一内存地址写数据为例,因此在从第二设备读取数据写入该内存地址对应的内存位置后,再由第三设备向第一设备同样的内存位置写入数据后,第二设备的内存地址数据已经无效了,因此第二统一互连总线单元13可以在接收到监控报文后,将第二内存单元的缓存状态设置为无效状态。
在本发明实施例中,为了便于区分,可以将第三统一互连总线单元13上协议层包含的协议适配接口模块称作第三协议适配接口模块、请求队列管理模块称作第三请求队列管理模块、响应队列管理模块称作第三响应队列管理模块、报文解析封装模块称作第三报文解析封装模块,时钟域转换模块称作第三时钟域转换模块。
第三统一互连总线单元13的第三协议适配接口模块接收第三设备发送的写请求,通过内部总线将写请求传输至第三请求队列管理模块。
第三请求队列管理模块,用于接收写请求;将第三设备的第三内存单元的缓存状态设置为无效状态;根据写请求携带的第一设备的第一标识,从节点转发表中查询第一标识所匹配的第一设备地址;将写请求以及第一设备地址传输至第三报文解析封装模块;
第三报文解析封装模块,用于按照报文格式,对接收的写请求进行封装,以得到写报文;将写报文以及第一设备地址传输至第三时钟域转换模块;
第三时钟域转换模块,用于将写报文以及第一设备地址通过第三适配层和第三物理层传输至集线器;集线器,用于将写报文转发至第一设备地址对应的第一设备。
除了上述介绍中集线器充当中转作用外,集线器也可以承担设备识别功能。以第三设备向第一设备上写数据为例,第三统一互连总线单元13的第三协议适配接口模块,用于接收第三设备发送的写请求,通过内部总线将写请求传输至第三请求队列管理模块。第三请求队列管理模块,用于接收写请求;将第三设备的第三内存单元的缓存状态设置为无效状态;根据写请求携带的第一设备的第一标识,从节点转发表中查询第一标识所匹配的第一设备地址;将写请求以及第一设备地址传输至第三报文解析封装模块。第三报文解析封装模块,用于按照报文格式,对接收的写请求进行封装,以得到写报文;将写报文传输至第三时钟域转换模块;第三时钟域转换模块,用于将写报文通过第三适配层和第三物理层传输至集线器。集线器,用于根据写报文中携带的第一设备的第一标识,从节点转发表中查询第一标识所匹配的第一设备地址;将写报文转发至第一设备地址对应的第一设备。
在具体实现中,第三报文解析封装模块可以按照源设备的标识、目的设备的标识、报文长度、报文类型、报文序列号、内存地址、内存数据和写使能信号的报文格式,对第三设备的第三标识、写请求指向的第一设备的第一标识、写请求所属的报文类型和报文序列号、第一内存地址以及待写入数据进行封装,以得到写报文;其中,第一内存地址中携带有第三内存单元为无效状态的状态标识。
在本发明实施例中,各处理器11可以包括不同指令集的国产处理器;加速器12包括图形处理器和现场可编程门阵列。
国产处理器主要有两类,一类是使用开源免费的超微半导体和精简指令集处理器(Reduced Instruction Set Computer-FIVE,RISC-V)架构,。另一类是使用开放的但需要授权的ARM架构。加速器可以采用国产加速器,如国产图形处理器和国产现场可编程门阵列。
在第一设备为ARM处理器11的情况下,第一设备可以通过CHI接口发送读请求至第一统一互连总线单元13。在第一设备为RISC-V处理器11的情况下,第一设备可以通过ACE接口发送读请求至第一统一互连总线单元13。
为了扩展内存空间,除了各处理器11和加速器12各自对应的内存单元外,还可以设置独立于各处理器11以及加速器12所设置的存储介质;存储介质上部署有统一互连总线单元13。存储介质可以采用持久内存(Intel Optane Persistent Memory,PMEM),低功耗双倍速率同步动态随机存储器(Low Power Double Data Rate,LPDDR),固态硬盘(SolidState Drive,SSD)等。
以多元处理器和异构加速器的服务器系统实现读内存数据和写内存数据为例进行说明。以第一类处理器读取第二类处理器的数据为例,其操作流程可以包括:
(1)第一类处理器想读取第二类处理器的内存数据,第一类处理器通过CHI接口发送读请求给UCCB,UCCB的协议适配接口模块处理读请求后通过内部总线发送给请求队列管理模块,内部缓存状态机的缓存状态设置为无效状态,报文解析封装模块按照表1对应的报文格式,将读请求封装为请求报文。请求报文的源ID为第一类处理器自己的ID,目的ID指向第二类处理器,Type为读唯一事务请求,Tagid为1,地址为第二类处理器的内存地址,数据为0,经过适配层和物理层发送到集线器(HUB),集线器直接转发给第二类处理器。
(2)第二类处理器的UCCB接收到该读报文,将内部缓存状态变为共享干净(SC),从内存读取数据并组装成相应报文格式的响应报文,响应报文的目的ID为第一类处理器ID,类型为响应应答,tagid与读请求一致仍为1,addr为第一类处理器的内存地址,data为内存数据,发送到集线器,集线器转发给第一类处理器。
(3)第一类处理器上的UCCB接收到响应报文后,更新缓存状态为SC,并发送监听报文给第二类处理器,监听报文的源ID为第一类处理器自己的ID,目的ID指向第二类处理器,类型为监听响应,地址和数据都为0。至此完成了一次读事务请求。
在第一类处理器读取第二类处理器的数据的基础上,以国产图形处理器向第一类处理器同一内存地址写数据为例,其操作流程可以包括:
(4)国产图形处理器准备往第一类处理器同一内存地址写数据,国产图形处理器的UCCB发起写事务请求,封装成写报文,写报文的源ID为国产图形处理器的ID,目的ID为第一类处理器的ID,Type为写事务请求,Tagid为1,Tddr为写请求地址(同读请求地址一致),Data为写内存数据,组包发送到集线器,集线器根据目的ID对应的设备地址发送写报文给第一类处理器。通过GPU的UCCB把缓存状态设置为无效。在本发明实施例中,写和读属于不同的操作,通过Type可以区分写和读操作,因此对于写和读操作Tagid可以采用相同的数字表示。Tagid可以从1开始,对于相同目的ID的请求Tagid递增。
(5)第一类处理器的UCCB接收写报文,报文解析封装模块解析后把数据存储到对应地址的内存,同时把缓存状态置为唯一干净(UC),同时返回写响应报文(格式同读响应)给国产图形处理器。
(6)第二类处理器的内存地址数据已经是无效了,第一类处理器的UCCB发起监控报文告知第二类处理器无效状态。报文格式中Type为监控请求,地址为写请求地址,数据为无效指示状态。
(7)第二类处理器的UCCB接收到监控请求,把内部的缓存状态置为无效状态。至此,完成了一次一致性读请求和一次一致性写请求。
服务器系统可以包含不同指令集的国产处理器,不同类型的国产加速器,国产处理器和国产加速器都包含对应的国产内存单元。在实际应用中,服务器系统还可以设置独立的存储介质,该存储介质可以采用国产PMEM。各设备之间通过UCCB互连总线进行互连,其中互连拓扑可以支持全互连mesh拓扑,crossbar拓扑等,可实现处理器间,加速器间,以及处理器与加速器之间的互连方式,支持内存资源的全系统共享。在该拓扑下,可以任意增加支持UCCB的设备。
通过本发明设置的UCCB,可把多种不同类型指令集的处理器,不同类型的加速器,不同的内存单元都统一在一个系统,形成超级计算机系统,可实现处理器上本地内存和加速器上远端内存的共享,形成大内存池,同时缓解了内存墙和IO墙。
由上述技术方案可以看出,多源异构分布式系统包括至少两个处理器、至少一个加速器;各处理器以及加速器有其各自对应的内存单元;各处理器以及加速器上均部署有统一互连总线单元;统一互连总线单元上部署协议适配接口模块;协议适配接口模块用于实现不同类型设备的一致性协议接口与统一互连总线协议接口的转换。第一设备和第二设备为各处理器以及加速器中的任意两个设备。第一设备上部署的第一统一互连总线单元,用于通过协议适配接口模块接收第一设备发送的读请求,因为目前第一内存单元不存在数据,因此可以先将第一设备的第一内存单元的缓存状态设置为无效状态;将读请求封装为符合设定报文格式的请求报文并发送至第二设备的第二统一互连总线单元。第二统一互连总线单元,用于在接收到请求报文后,从第二设备的第二内存单元中读取数据;因为要实现数据的共享,因此可以将第二内存单元的缓存状态设置为共享状态,并将数据封装为符合报文格式的响应报文;将响应报文发送至第一统一互连总线单元。第一统一互连总线单元,用于将接收的响应报文携带的数据存储至第一内存单元;根据响应报文中携带的缓存状态,将第一内存单元的缓存状态设置为共享状态。本发明的有益效果在于,通过在每个设备上部署统一互连总线单元,在统一互连总线单元上部署协议适配接口模块,可以实现对多种不同类型设备的兼容,从而可以把多种不同类型指令集的处理器,不同类型的加速器,不同的内存单元都统一在一个系统,形成超级计算机系统,可实现不同处理器之间以及不同处理器和加速器之间内存的共享,形成大内存池,缓解了内存墙和IO墙问题。统一互连总线单元可用于将不同类型的设备通过不同拓扑形态互连起来,支持灵活的互连拓扑,可灵活扩展规模而不影响已有部署。通过记录内存单元的缓存状态,实现系统内各设备间的一致性内存通信。按照本发明的部署方式,极大的提升了多源异构分布式系统的性能。
图5为本发明实施例提供的一种内存访问方法的流程图,包括:
S501:基于协议适配接口模块接收第一设备发送的读请求,将第一设备的第一内存单元的缓存状态设置为无效状态。
其中,协议适配接口模块用于实现不同类型设备的一致性协议接口与统一互连总线协议接口的转换。
S502:根据第一设备的第一标识、读请求指向的第二设备的第二标识,将读请求封装为符合设定报文格式的第一请求报文。
S503:将第一请求报文发送至第二设备的第二统一互连总线单元。
S504:接收第二统一互连总线单元反馈的响应报文,将响应报文携带的数据存储至第一内存单元。
S505:根据响应报文中携带的缓存状态,将第一内存单元的缓存状态设置为共享状态。
在一些实施例中,还包括:
接收集线器发送的第二请求报文;其中,第二请求报文由第二设备的第二统一互连总线单元传输至集线器;
根据第二请求报文中携带的第一内存地址,从第一内存单元中读取数据;
将第一内存单元的缓存状态设置为共享状态,并将数据封装为符合报文格式的响应报文;
将响应报文通过集线器发送至第二设备。
在一些实施例中,还包括:
接收集线器反馈的写报文,将写报文携带的待写入数据存储至第一内存单元;其中,写报文由第三设备的第三统一互连总线单元传输至集线器;
根据写报文中携带的缓存状态,将第一内存单元的缓存状态设置为唯一干净状态;
通过集线器向第二统一互连总线单元发送监控报文,以便于第二统一互连总线单元接收集线器发送的监控报文;根据监控报文中携带的无效状态,将第二内存单元的缓存状态设置为无效状态。
图5所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,第一设备上部署的统一互连总线单元可以基于协议适配接口模块接收第一设备发送的读请求,将第一设备的第一内存单元的缓存状态设置为无效状态。根据第一设备的第一标识、读请求指向的第二设备的第二标识,将读请求封装为符合设定报文格式的第一请求报文。将第一请求报文发送至第二设备的第二统一互连总线单元,以便于第二统一互连总线单元根据请求报文中携带的第二内存地址,从第二设备的第二内存单元中读取数据;将第二内存单元的缓存状态设置为共享状态,并将数据封装为符合报文格式的响应报文;将响应报文发送至第一统一互连总线单元。第一统一互连总线单元接收第二统一互连总线单元反馈的响应报文,将响应报文携带的数据存储至第一内存单元。根据响应报文中携带的缓存状态,将第一内存单元的缓存状态设置为共享状态。本发明的有益效果在于,通过在每个设备上部署统一互连总线单元,在统一互连总线单元上部署协议适配接口模块,可以实现对多种不同类型设备的兼容,从而可以把多种不同类型指令集的处理器,不同类型的加速器,不同的内存单元都统一在一个系统,从而形成超级计算机系统,可实现不同处理器之间以及不同处理器和加速器之间内存的共享,形成大内存池,缓解了内存墙和IO墙问题。统一互连总线单元可用于将不同类型的设备通过不同拓扑形态互连起来,支持灵活的互连拓扑,可灵活扩展规模而不影响已有部署。通过记录内存单元的缓存状态,实现系统内各设备间的一致性内存通信。按照本发明的部署方式,极大的提升了多源异构分布式系统的性能。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述内存访问方法的步骤。
以上对本发明实施例所提供的一种多源异构分布式系统、内存访问方法和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的一种多源异构分布式系统、内存访问方法和计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (20)
1.一种多源异构分布式系统,其特征在于,包括至少两个处理器、至少一个加速器;其中,各所述处理器以及所述加速器有其各自对应的内存单元;各所述处理器以及所述加速器上均部署有统一互连总线单元,所述统一互连总线单元上部署协议适配接口模块;所述协议适配接口模块用于实现不同类型设备的一致性协议接口与统一互连总线协议接口的转换;
第一统一互连总线单元,用于通过所述协议适配接口模块接收第一设备发送的读请求,将所述第一设备的第一内存单元的缓存状态设置为无效状态;将所述读请求封装为符合设定报文格式的请求报文并发送至第二设备的第二统一互连总线单元;其中,所述第一设备和所述第二设备为各所述处理器以及所述加速器中的任意两个设备;
所述第二统一互连总线单元,用于在接收到所述请求报文后,从所述第二设备的第二内存单元中读取数据;将所述第二内存单元的缓存状态设置为共享状态,并将所述数据封装为符合所述报文格式的响应报文;将所述响应报文发送至所述第一统一互连总线单元;
所述第一统一互连总线单元,用于将接收的所述响应报文携带的所述数据存储至所述第一内存单元;根据所述响应报文中携带的缓存状态,将所述第一内存单元的缓存状态设置为共享状态。
2.根据权利要求1所述的多源异构分布式系统,其特征在于,所述统一互连总线单元包括协议层、适配层和物理层;其中,所述协议层包括所述协议适配接口模块、请求队列管理模块、响应队列管理模块、报文解析封装模块和时钟域转换模块;其中,所述协议适配接口模块分别与所述请求队列管理模块以及所述响应队列管理模块连接,用于根据请求类型将接收到的请求传输至所述请求队列管理模块或所述响应队列管理模块;所述报文解析封装模块分别与所述请求队列管理模块、所述响应队列管理模块以及所述时钟域转换模块连接,用于实现报文的封装和解封。
3.根据权利要求2所述的多源异构分布式系统,其特征在于,所述第一统一互连总线单元的第一协议适配接口模块,用于接收所述第一设备发送的读请求,通过内部总线将所述读请求传输至第一请求队列管理模块;
所述第一请求队列管理模块,用于接收所述读请求;将所述第一设备的第一内存单元的缓存状态设置为无效状态;根据所述读请求携带的所述第二设备的第二标识,从节点转发表中查询所述第二标识所匹配的第二设备地址;将所述读请求以及所述第二设备地址传输至第一报文解析封装模块;
所述第一报文解析封装模块,用于按照所述报文格式,对接收的所述读请求进行封装,以得到所述请求报文;将所述请求报文以及所述第二设备地址传输至第一时钟域转换模块;
所述第一时钟域转换模块,用于将所述请求报文以及所述第二设备地址通过第一适配层和第一物理层传输至集线器;
所述集线器,用于将所述请求报文转发至所述第二设备地址对应的所述第二设备。
4.根据权利要求2所述的多源异构分布式系统,其特征在于,所述第一统一互连总线单元的第一协议适配接口模块,用于接收所述第一设备发送的读请求,通过内部总线将所述读请求传输至第一请求队列管理模块;
所述第一请求队列管理模块,用于接收所述读请求;将所述第一设备的第一内存单元的缓存状态设置为无效状态;将所述读请求传输至第一报文解析封装模块;
所述第一报文解析封装模块,用于按照所述报文格式,对接收的所述读请求进行封装,以得到所述请求报文;将所述请求报文传输至第一时钟域转换模块;
所述第一时钟域转换模块,用于将所述请求报文通过第一适配层和第一物理层传输至集线器;
所述集线器,用于根据所述请求报文中携带的所述第二设备的第二标识,从节点转发表中查询所述第二标识所匹配的第二设备地址;将所述请求报文转发至所述第二设备地址对应的所述第二设备。
5.根据权利要求3或4所述的多源异构分布式系统,其特征在于,所述第一报文解析封装模块,用于按照源设备的标识、目的设备的标识、报文长度、报文类型、报文序列号、内存地址、内存数据和写使能信号的报文格式,对所述第一设备的第一标识、所述读请求指向的第二设备的第二标识、所述读请求所属的报文类型和报文序列号、以及第二内存地址进行封装,以得到所述请求报文;其中,所述第二内存地址中携带有所述第一内存单元为无效状态的状态标识。
6.根据权利要求5所述的多源异构分布式系统,其特征在于,所述第二统一互连总线单元的第二时钟域转换模块,用于通过第二物理层和第二适配层接收所述集线器传输的所述请求报文,并将所述请求报文转发至第二报文解析封装模块;
所述第二报文解析封装模块,用于对所述请求报文进行解析,以获取所述第一设备的第一标识、所述报文序列号和所述第二内存地址;将所述第二内存地址发送至第二响应队列管理模块;
所述第二响应队列管理模块,用于根据所述第二内存地址,从所述第二内存单元读取数据,并将所述数据传输至所述第二报文解析封装模块;将所述第二内存单元的缓存状态设置为共享状态;
所述第二报文解析封装模块,用于接收所述数据;根据所述第一标识,从节点转发表中查询所述第一标识所匹配的所述第一设备地址;按照所述报文格式对所述第二标识、所述第一标识、所述数据的长度、响应请求所属的报文类型、所述报文序列号、第一内存地址、所述数据和写使能信号进行封装,以得到所述响应报文;将所述响应报文以及所述第一设备地址传输至第二时钟域转换模块;其中,所述第一内存地址中携带有所述第二内存单元为共享状态的状态标识;
所述第二时钟域转换模块,用于将所述响应报文以及所述第一设备地址通过所述第二适配层和所述第二物理层传输至所述集线器;
所述集线器,用于将所述响应报文转发至所述第一设备地址对应的所述第一设备。
7.根据权利要求5所述的多源异构分布式系统,其特征在于,所述第二统一互连总线单元的第二时钟域转换模块,用于通过第二物理层和第二适配层接收所述集线器传输的所述请求报文,并将所述请求报文转发至第二报文解析封装模块;
所述第二报文解析封装模块,用于对所述请求报文进行解析,以获取所述第一设备的第一标识、所述报文序列号和所述第二内存地址;将所述第二内存地址发送至第二响应队列管理模块;
所述第二响应队列管理模块,用于根据所述第二内存地址,从所述第二内存单元读取数据,并将所述数据传输至所述第二报文解析封装模块;所述第二内存单元的缓存状态设置为共享状态;
所述第二报文解析封装模块,用于接收所述数据;根据所述第一标识,从节点转发表中查询所述第一标识所匹配的所述第一内存地址;按照所述报文格式对所述第二标识、所述第一标识、所述数据的长度、响应请求所属的报文类型、所述报文序列号、第一内存地址、所述数据和写使能信号进行封装,以得到所述响应报文;将所述响应报文传输至第二时钟域转换模块;其中,所述第一内存地址中携带有所述第二内存单元为共享状态的状态标识;
所述第二时钟域转换模块,用于将所述响应报文通过所述第二适配层和所述第二物理层传输至所述集线器;
所述集线器,用于根据所述响应报文中携带的所述第一标识,从节点转发表中查询所述第一标识所匹配的第一设备地址;将所述响应报文转发至所述第一设备地址对应的所述第一设备。
8.根据权利要求5所述的多源异构分布式系统,其特征在于,所述第一统一互连总线单元,用于按照所述报文格式对所述第一标识、所述第二标识、监听所属的报文类型、所述报文序列号进行封装,以得到监听报文;将所述监听报文以及所述第二内存地址传输至所述第一时钟域转换模块;
所述第一时钟域转换模块,用于将所述监听报文以及所述第二设备地址通过所述第一适配层和所述第一物理层传输至所述集线器;
所述集线器,用于将所述监听报文转发至所述第二设备地址对应的所述第二设备。
9.根据权利要求5所述的多源异构分布式系统,其特征在于,所述第一统一互连总线单元,用于按照所述报文格式对所述第一标识、所述第二标识、监听所属的报文类型、所述报文序列号进行封装,以得到监听报文;将所述监听报文传输至所述第一时钟域转换模块;
所述第一时钟域转换模块,用于将所述监听报文通过所述第一适配层和所述第一物理层传输至所述集线器;
所述集线器,用于根据所述监听报文中携带的所述第二设备的第二标识,从节点转发表中查询所述第二标识所匹配的第二设备地址;将所述监听报文转发至所述第二设备地址对应的所述第二设备。
10.根据权利要求2所述的多源异构分布式系统,其特征在于,第三统一互连总线单元,用于接收第三设备发送的写请求,将所述第三设备的第三内存单元的缓存状态设置为无效状态;将待写入数据封装为符合所述报文格式的写报文;将所述写报文通过集线器发送至所述第一统一互连总线单元;
所述第一统一互连总线单元,用于接收所述集线器反馈的所述写报文,将所述写报文携带的所述待写入数据存储至所述第一内存单元;根据所述写报文中携带的缓存状态,将所述第一内存单元的缓存状态设置为唯一干净状态;通过所述集线器向所述第二统一互连总线单元发送监控报文;
所述第二统一互连总线单元,用于接收所述集线器发送的所述监控报文;根据所述监控报文中携带的无效状态,将所述第二内存单元的缓存状态设置为无效状态。
11.根据权利要求10所述的多源异构分布式系统,其特征在于,所述第三统一互连总线单元的第三协议适配接口模块,用于接收所述第三设备发送的写请求,通过内部总线将所述写请求传输至第三请求队列管理模块;
所述第三请求队列管理模块,用于接收所述写请求;将所述第三设备的第三内存单元的缓存状态设置为无效状态;根据所述写请求携带的所述第一设备的第一标识,从节点转发表中查询所述第一标识所匹配的第一设备地址;将所述写请求以及所述第一设备地址传输至第三报文解析封装模块;
所述第三报文解析封装模块,用于按照所述报文格式,对接收的所述写请求进行封装,以得到所述写报文;将所述写报文以及所述第一设备地址传输至第三时钟域转换模块;
所述第三时钟域转换模块,用于将所述写报文以及所述第一设备地址通过第三适配层和第三物理层传输至所述集线器;
所述集线器,用于将所述写报文转发至所述第一设备地址对应的所述第一设备。
12.根据权利要求10所述的多源异构分布式系统,其特征在于,所述第三统一互连总线单元的第三协议适配接口模块,用于接收所述第三设备发送的写请求,通过内部总线将所述写请求传输至第三请求队列管理模块;
所述第三请求队列管理模块,用于接收所述写请求;将所述第三设备的第三内存单元的缓存状态设置为无效状态;根据所述写请求携带的所述第一设备的第一标识,从节点转发表中查询所述第一标识所匹配的第一设备地址;将所述写请求以及所述第一设备地址传输至第三报文解析封装模块;
所述第三报文解析封装模块,用于按照所述报文格式,对接收的所述写请求进行封装,以得到所述写报文;将所述写报文传输至第三时钟域转换模块;
所述第三时钟域转换模块,用于将所述写报文通过第三适配层和第三物理层传输至所述集线器;
所述集线器,用于根据所述写报文中携带的所述第一设备的第一标识,从节点转发表中查询所述第一标识所匹配的第一设备地址;将所述写报文转发至所述第一设备地址对应的所述第一设备。
13.根据权利要求11或12所述的多源异构分布式系统,其特征在于,所述第三报文解析封装模块,用于按照源设备的标识、目的设备的标识、报文长度、报文类型、报文序列号、内存地址、内存数据和写使能信号的报文格式,对所述第三设备的第三标识、所述写请求指向的第一设备的第一标识、所述写请求所属的报文类型和报文序列号、第一内存地址以及所述待写入数据进行封装,以得到所述写报文;其中,所述第一内存地址中携带有所述第三内存单元为无效状态的状态标识。
14.根据权利要求2所述的多源异构分布式系统,其特征在于,所述适配层和所述物理层均设置有旁通单元;其中,所述旁通单元用于实现所述适配层和所述物理层的直连;
在所述第一设备和所述第二设备位于相同印刷电路板的情况下,所述第一设备的第一适配层和第一物理层以及所述第二设备的第二适配层和第二物理层的旁通单元处于开启状态,以实现所述第一设备和所述第二设备的直连。
15.根据权利要求1所述的多源异构分布式系统,其特征在于,还包括独立于各所述处理器以及所述加速器所设置的存储介质;所述存储介质上部署有所述统一互连总线单元。
16.根据权利要求1所述的多源异构分布式系统,其特征在于,各所述统一互连总线单元,用于根据其对应的内存单元上数据的状态,确定出匹配的缓存状态;其中,所述缓存状态包括无效状态、唯一状态和共享状态;所述唯一状态包括唯一干净状态、唯一脏状态、唯一干净空闲状态、唯一部分脏状态;所述共享状态包括共享干净状态和共享脏状态。
17.一种内存访问方法,其特征在于,包括:
基于协议适配接口模块接收第一设备发送的读请求,将所述第一设备的第一内存单元的缓存状态设置为无效状态;其中,所述协议适配接口模块用于实现不同类型设备的一致性协议接口与第一统一互连总线协议接口的转换;
根据所述第一设备的第一标识、所述读请求指向的第二设备的第二标识,将所述读请求封装为符合设定报文格式的第一请求报文;
将所述第一请求报文发送至所述第二设备的第二统一互连总线单元;
接收所述第二统一互连总线单元反馈的响应报文,将所述响应报文携带的数据存储至所述第一内存单元;
根据所述响应报文中携带的缓存状态,将所述第一内存单元的缓存状态设置为共享状态。
18.根据权利要求17所述的内存访问方法,其特征在于,还包括:
接收集线器发送的第二请求报文;其中,所述第二请求报文由第二设备的第二统一互连总线单元传输至所述集线器;
根据所述第二请求报文中携带的第一内存地址,从所述第一内存单元中读取数据;
将所述第一内存单元的缓存状态设置为共享状态,并将所述数据封装为符合所述报文格式的响应报文;
将所述响应报文通过所述集线器发送至所述第二设备。
19.根据权利要求17所述的内存访问方法,其特征在于,还包括:
接收集线器反馈的写报文,将所述写报文携带的待写入数据存储至所述第一内存单元;其中,所述写报文由第三设备的第三统一互连总线单元传输至所述集线器;
根据所述写报文中携带的缓存状态,将所述第一内存单元的缓存状态设置为唯一干净状态;
通过所述集线器向所述第二统一互连总线单元发送监控报文,以便于所述第二统一互连总线单元接收所述集线器发送的所述监控报文;根据所述监控报文中携带的无效状态,将第二内存单元的缓存状态设置为无效状态。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求17至19任意一项所述内存访问方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311843443.2A CN117806553A (zh) | 2023-12-28 | 2023-12-28 | 一种多源异构分布式系统、内存访问方法和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311843443.2A CN117806553A (zh) | 2023-12-28 | 2023-12-28 | 一种多源异构分布式系统、内存访问方法和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117806553A true CN117806553A (zh) | 2024-04-02 |
Family
ID=90424981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311843443.2A Pending CN117806553A (zh) | 2023-12-28 | 2023-12-28 | 一种多源异构分布式系统、内存访问方法和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117806553A (zh) |
-
2023
- 2023-12-28 CN CN202311843443.2A patent/CN117806553A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW202145025A (zh) | 用於管理記憶體資源的系統以及實行遠端直接記憶體存取的方法 | |
KR101831550B1 (ko) | 다중슬롯 링크 계층 플릿에서의 제어 메시징 | |
EP3800557B1 (en) | Implied directory state updates | |
USRE44610E1 (en) | Node identification for distributed shared memory system | |
US8699953B2 (en) | Low-latency interface-based networking | |
US11036658B2 (en) | Light-weight memory expansion in a coherent memory system | |
CN105095254B (zh) | 一种实现数据一致性的方法及装置 | |
CN114546913B (zh) | 一种基于pcie接口的多主机之间数据高速交互的方法和装置 | |
CN104021102A (zh) | 基于状态机和片内总线的cpci串口板及其工作方法 | |
KR20110000741A (ko) | 멀티코어 처리 시스템 | |
CN114443170B (zh) | Fpga动态并行加卸载系统 | |
CN105874758A (zh) | 内存访问方法、交换机及多处理器系统 | |
CN117834447B (zh) | 基于PCIe Switch的互联池化系统拓扑管理装置及方法 | |
CN114064552A (zh) | 用于可扩展的硬件一致存储器节点的系统和方法 | |
CN116088927B (zh) | 一种基于zynq处理器配置fpga程序电路及方法 | |
CN109491949B (zh) | 基于Zynq的动态可重构框架及方法 | |
CN117806553A (zh) | 一种多源异构分布式系统、内存访问方法和存储介质 | |
CN116401065A (zh) | 一种服务器、异构设备及其数据处理装置 | |
CN111045974A (zh) | 一种基于交换结构的多处理器数据交互方法 | |
CN205193686U (zh) | 计算设备 | |
CN212572589U (zh) | 一种高实时性EtherCAT硬件主站系统 | |
CN117807005A (zh) | 一种内存扩展系统、服务器、内存请求方法及存储介质 | |
KR20240096382A (ko) | Ccix 트래픽 분석 장치 및 방법 | |
CN118331907A (zh) | 服务器、服务器的数据传输方法以及存储介质 | |
CN117793062A (zh) | 适用于可扩展系统的高可靠Chiplet互连网络架构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |