CN119003410B - 一种存储控制器间通信优化方法、装置、设备及存储介质 - Google Patents
一种存储控制器间通信优化方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN119003410B CN119003410B CN202411481627.3A CN202411481627A CN119003410B CN 119003410 B CN119003410 B CN 119003410B CN 202411481627 A CN202411481627 A CN 202411481627A CN 119003410 B CN119003410 B CN 119003410B
- Authority
- CN
- China
- Prior art keywords
- node
- source data
- data
- moving
- central processing
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种存储控制器间通信优化方法、装置、设备及存储介质,涉及存储技术领域。该方法包括:确定源数据对应的非一致性内存访问节点作为第一节点,确定非透明桥设备对应的非一致性内存访问节点作为第二节点;根据所述第一节点和所述第二节点之间的物理距离,按照数据搬移规则判断所述源数据是否符合搬移条件;若符合搬移条件,则将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中;通过所述非透明桥设备,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器。能够减少非透明桥设备读取源数据的时延,提高存储控制器间数据同步的效率。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种存储控制器间通信优化方法、装置、设备及存储介质。
背景技术
在存储领域,存储整机的可靠性离不开所挂设备,数据的传输依赖于各存储部件的支持,其中,非透明桥(NTB,non-transport bridge)设备在存储控制器间起同步数据的作用。但是,随着芯片的不断发展,中央处理器(CPU,Central Processing Unit)架构出现变更,处理器架构变更导致非透明桥设备的性能大幅度下降,进而导致存储控制器建传输性能的下降。
发明内容
有鉴于此,本发明的目的在于提供一种存储控制器间通信优化方法、装置、设备及存储介质,能够减少非透明桥设备读取源数据的时延,提高存储控制器间数据同步的效率。其具体方案如下:
第一方面,本申请公开了一种存储控制器间通信优化方法,应用于存储控制器,包括:
确定源数据对应的非一致性内存访问节点作为第一节点,确定非透明桥设备对应的非一致性内存访问节点作为第二节点;
根据所述第一节点和所述第二节点之间的物理距离,按照数据搬移规则判断所述源数据是否符合搬移条件;
若符合搬移条件,则将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中;
通过所述非透明桥设备,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器。
可选的,根据所述第一节点和所述第二节点之间的物理距离,按照数据搬移规则判断所述源数据是否符合搬移条件,包括:
判断所述第一节点与所述第二节点是否处于相同的中央处理器;
若处于不同的中央处理器,则判定所述源数据符合搬移条件;
若处于相同的中央处理器,则判定所述源数据不符合搬移条件。
可选的,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中,包括:
利用所述源数据所在缓存对应的直接内存访问线程,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中。
可选的,在将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器之前,还包括:
为各个缓存分配两个或多个直接内存访问线程;
将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中,包括:
利用所述源数据所在缓存对应的所有直接内存访问线程,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中。
可选的,所述直接内存访问线程为异步线程。
可选的,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中,包括:
通过调用内存拷贝函数,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中。
可选的,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器,包括:
通过所述非透明桥设备对所述目标中央处理器中的源数据进行镜像缓存,得到镜像源数据;
将所述镜像源数据传输至对端存储控制器。
可选的,所述非透明桥设备内置或外插在中央处理器。
可选的,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中,包括:
从所述第二节点所在的目标中央处理器中选择任意一个非一致性内存访问节点作为目标节点;
将所述源数据从所述第一节点搬移至所述目标节点。
可选的,所述中央处理器的架构默认开启非一致性内存访问节点。
可选的,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中,包括:
确定所述源数据在所述第一节点的存储地址得到第一存储地址,将所述源数据和所述第一存储地址进行关联;
通过所述非透明桥设备,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器,包括:
通过所述非透明桥设备从所述目标中央处理器中读取所述源数据,将所述源数据和所述第一存储地址一同传输至对端存储控制器,以便所述对端存储控制器根据所述第一存储地址,确定出所述第一存储地址在所述对端存储控制器中对应的第二存储地址,并将所述源数据存储至所述第二存储地址。
可选的,将所述源数据存储至所述第二存储地址,包括:
通过多个直接内存访问线程并行将所述源数据存储至所述第二存储地址。
第二方面,本申请公开了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述的存储控制器间通信优化方法。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的存储控制器间通信优化方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的存储控制器间通信优化方法。
本申请中,确定源数据对应的非一致性内存访问节点作为第一节点,确定非透明桥设备对应的非一致性内存访问节点作为第二节点;根据所述第一节点和所述第二节点之间的物理距离,按照数据搬移规则判断所述源数据是否符合搬移条件;若符合搬移条件,则将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中;通过所述非透明桥设备,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器。
由于非透明桥设备用于存储控制器间的数据传输,存储源数据的节点与非透明桥设备所在节点距离越远,非透明桥读取数据所需的时间越长,因此,通过分析源数据所在的第一节点与非透明桥设备所在的第二节点之间的距离,当符合数据搬移条件时,在非透明桥设备进行数据读取前,先将源数据从第一节点搬移到非透明桥设备所在的中央处理器,以便减少非透明桥设备读取源数据的时延,进而提高存储控制器间数据同步的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种存储控制器间通信优化方法流程图;
图2为本申请提供的一种具体的存储控制器内结构示意图;
图3为本申请提供的一种具体的中央处理器内核与内存关系示意图;
图4为本申请提供的一种存储控制器间通信优化装置结构示意图;
图5为本申请提供的一种电子设备结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,从个人用户的社交媒体内容到企业的运营数据,再到科学研究和医疗保健领域的数据积累,数据的产生速度和数量都在指数级增长。随着云计算和大数据的应用与发展, 各领域的信息量产生了爆炸式增长,数据量巨大,对于存储领域设备对数据的处理的要求十分苛刻。随着数字化转型的不断加速,面对海量数据指数级增长,数据的爆炸性增长,如何更安全、更可靠、更高效地存储数据对存储带来了更大的挑战。数据量的增加,为能够快速处理大量的读写操作,特别是在实时数据分析和处理的场景中,需要存储系统具备高速的数据传输能力和低延迟的响应速度,避免性能下降,以满足大规模数据的存储和访问需求。在存储领域,如何稳定、安全且不丢数据,数据的可靠性和高效性尤为重要。存储整机的可靠性离不开所挂设备,数据的传输依赖于各存储部件的支持;其中,非透明桥设备在存储控制器间起同步数据的作用,以保证对控数据可得到有效保存,以此来实现存储设备控制器间的冗余。随着存储及可用芯片的发展,芯片的架构及种类有了更多的选择。而随着芯片的不断发展,中央处理器架构出现变更,处理器架构变更导致非透明桥设备的性能大幅度下降,进而导致存储控制器建传输性能的下降。为克服上述技术问题,本申请提出一种存储控制器间通信优化方法,能够减少非透明桥设备读取源数据的时延,提高存储控制器间数据同步的效率。
本申请实施例公开了一种存储控制器间通信优化方法,应用于存储控制器,参见图1所示,该方法可以包括以下步骤:
步骤S11:确定源数据对应的非一致性内存访问节点作为第一节点,确定非透明桥设备对应的非一致性内存访问节点作为第二节点。
本实施例中,首先,确定源数据在存储控制器的中央处理器中的那个非一致性内存访问节点(即NUMA node,Non Uniform Memory Access node),将该节点作为第一节点,同样确定非透明桥设备在存储控制器的中央处理器中的那个非一致性内存访问节点,将该节点作为第二节点。
上述中央处理器的架构默认为开启非一致性内存访问节点。可以理解的是,中央处理器架构发生变化,有些架构默认开启非一致性内存访问节点,中央处理器与硬件内存条及外设的分布导致与非一致性内存访问节点有远有近,离非透明桥设备所在的非一致性内存访问节点近的内存传输效率高,远的内存传输效率低,传输性能产生波动。例如图2所示为一种具体的存储控制器内结构示意图,芯片有两个中央处理器,每个中央处理器有4个内核(die),即die0、die1、die2、die3,每个内核对应一个非一致性内存访问节点,共八个非一致性内存访问节点;访问内存的传输时延随着跨内核,跨中央处理器的距离而越来越大,跨内核是指非透明桥设备与源数据对应不同的内核,跨中央处理器是指非透明桥设备与源数据对应不同的中央处理器。也就是说,非透明桥设备跨中央处理器的内存访问时延大于不跨中央处理器的内存访问时延;单个处理器内,非透明桥设备跨内核的内存访问时延大于不跨内核的内存访问时延。
一种具体的中央处理器内核与内存关系如图3所示,0、1、2、3分别为四个内核,CH-A、CH-B、CH-C、CH-D、CH-E、CH-F、CH-G、CH-H等插口用于插内存条,G0-Tx、G1-Tx、G2-Tx、G3-Tx、G0-Rx、G1-Rx、G2-Rx、G3-Rx、P0-Tx、P1-Tx、P2-Tx、P3-Tx、P0-Rx、P1-Rx、P2-Rx、P3-Rx等插口可以连接非透明桥设备。IO处理流程为:前端驱动→scsi target->io转发→本地复制→缓存→存储池→raid-→colv->io接口框架→后端卡及驱动,非透明桥设备传输的源数据通常源于缓存(CA,cache)。
其中,上述非透明桥设备可以是内置在中央处理器,也可以是外插在中央处理器;例如内置在中央处理器的非透明桥卡,属于PCIe(PCI-Express(peripheral componentinterconnect express),一种高速串行计算机扩展总线标准)卡,是可以用于实现非透明桥通信模式的硬件设备,可以应用于连接PCIe设备和NPU(Neural Processing Unit,神经网络处理器),以实现两者之间的直接通信,无需经过中央处理器的介入;或者外插的非透明桥加速(accelerate,ACC)卡,是非透明桥外插卡的一种,能够实现非透明桥功能。基于非透明桥设备的IO(输入/输出(Input/Output))环境硬件结构如图2所示,服务器直连到存储设备,存储设备上插入ACC卡或存储控制器自带板载非透明桥卡。
步骤S12:根据所述第一节点和所述第二节点之间的物理距离,按照数据搬移规则判断所述源数据是否符合搬移条件。
本实施例中,考虑到非透明桥设备读取源数据的时延受物理距离影响,因此分析第一节点和第二节点之间的物理距离,并按照数据搬移规则判断源数据是否符合搬移条件。其中,上述数据搬移规则可以为若第一节点和第二节点处于不同的中央处理器,则符合搬移条件;若第一节点和第二节点不处于不同的中央处理器,则不符合搬移条件。也可以为若第一节点和第二节点处于不同的内核,则符合搬移条件;也可以为若第一节点和第二节点处于不同的内核,则不符合搬移条件。
在一些实施例中,根据所述第一节点和所述第二节点之间的物理距离,按照数据搬移规则判断所述源数据是否符合搬移条件,可以包括:判断所述第一节点与所述第二节点是否处于相同的中央处理器;若处于不同的中央处理器,则判定所述源数据符合搬移条件;若处于相同的中央处理器,则判定所述源数据不符合搬移条件。
步骤S13:若符合搬移条件,则将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中。
本实施例中,根据数据搬移规则定义距离远近,若认为节点距离相距较远则进行数据搬移,将源数据搬移至离非透明桥设备较近的位置,即非透明桥设备所在的中央处理器中;上述搬移可以理解为复制粘贴,即搬移后第一节点中还保留源数据,只是后续可以从第二节点所在的目标中央处理器中读取源数据。若不符合搬移规则,保持原有处理策略保持不变;由此,通过不同情况不同处理策略,实现对存储两控制器间数据的同步,极大优化了传输效率。
在一些实施例中,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中,可以包括:利用所述源数据所在缓存对应的直接内存访问线程,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中;即利用直接内存访问(DMA,Direct Memory Access)线程执行数据搬移。除此之外,还可以通过调用内存拷贝函数(cpu memcpy),将源数据从第一节点搬移至第二节点所在的目标中央处理器中;本申请中对源数据搬移方式不做具体限定,能够实现的方式均可。
在利用直接内存访问线程执行数据搬移时,需要预先为各个缓存分配直接内存访问线程,即按照缓存为单位进行内存访问线程的分配,可以分配一个或多个内存访问线程。但是,为提高搬移效率,具体可以分配两个或多个直接内存访问线程;进而,数据搬移时,可以利用源数据所在缓存对应的所有直接内存访问线程,将源数据从第一节点搬移至第二节点所在的目标中央处理器中。其中,上述直接内存访问线程可以为异步线程,通过异步执行数据搬移,针对多个搬移任务时能够提高搬移效率。
在一些实施例中,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中,可以包括:从所述第二节点所在的目标中央处理器中选择任意一个非一致性内存访问节点作为目标节点;将所述源数据从所述第一节点搬移至所述目标节点。即从第二节点所在的目标中央处理器中选择任意一个节点作为源数据待搬移到的节点,搬移后非透明桥设备不用跨中央处理器就可以读取源数据。其中,优选方案中可以将源数据搬移至第二节点,搬移后非透明桥设备不用跨内核就可以读取源数据,此时不跨内核的数据访问效率是最高的。
在一些实施例中,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中,具体可以包括:根据所述非透明桥设备的物理位置,确定与所述非透明桥设备的物理位置最近的目标存储地址,将所目标述存储地址对应的非一致性内存访问节点作为目标节点;将所述源数据从所述第一节点搬移至所述目标节点的所述目标存储地址。需要说明的是,目标存储地址是空闲的,通过根据非透明桥设备的物理位置查找出距离最近的且空闲的存储地址用来存储搬移的源数据。可以理解是,相同中央处理器中,非透明桥设备和源数据在相同内核时数据读取所需时间,与非透明桥设备和源数据在不同内核时数据读取所需时间也是不同的,用时最少的是对应相同内核的情况,相同处理器内不同内核的用时与处理器内部结构相关,因此,本申请通过根据非透明桥设备的物理位置查找出距离最近的且空闲的存储地址用来存储搬移的源数据,能够确定出最优的存储地址,尽可能提高数据访问的效率。
步骤S14:通过所述非透明桥设备,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器。
数据搬移后,利用非透明桥设备从目标中央处理器中读取源数据,并将源数据传输至对端存储控制器,实现源数据在两个存储设备之间的同步;其中数据搬移采用异步处理,不影响非透明桥设备,实现数据的高效同步。
可见,本申请提出一种针对非透明桥的性能优化方法,根据处理器架构特性,非透明桥数据同步最好是不跨内存的访问,根据传输时延最低的结论,通过开发及优化,通过增加在离非透明桥设备远的内存添加多个异步直接内存访问数据搬移线程的方式,提前使要被搬移的内存数据搬到近处内存,大大优化了非透明桥数据传输的性能,使存储在更多的平台上,完成存储数据对数据的保障。
在一些实施例中,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器,可以包括:通过所述非透明桥设备对所述目标中央处理器中的源数据进行镜像缓存,得到镜像源数据;将所述镜像源数据传输至对端存储控制器。即具体可以通过镜像缓存方式生成源数据的镜像,然后将镜像源数据发送至对端存储控制器,以实现源数据在两个存储设备之间的同步。
在一些实施例中,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中,可以包括:确定所述源数据在所述第一节点的存储地址得到第一存储地址,将所述源数据和所述第一存储地址进行关联;通过所述非透明桥设备,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器,包括:通过所述非透明桥设备从所述目标中央处理器中读取所述源数据,将所述源数据和所述第一存储地址一同传输至对端存储控制器,以便所述对端存储控制器根据所述第一存储地址,确定出所述第一存储地址在所述对端存储控制器中对应的第二存储地址,并将所述源数据存储至所述第二存储地址。可以理解的是,为避免数据混乱,数据同步时,尽量同步到相同存储地址,因此,同时将源数据在第一节点的存储地址,即第一存储地址,发送给对端的存储控制器,具体可以通过记录源数据的index/flag等信息,确定第一存储地址;对端存储控制器将源数据恢复至于第一存储地址对应的第二存储地址。例如存储控制器A将源数据发送给对端B,以及第一存储地址0x1000,存储控制器B将源数据恢复至存储控制器B的0x1000地址空间内。其中,上述将所述源数据存储至所述第二存储地址,可以包括:通过多个直接内存访问线程并行将所述源数据存储至所述第二存储地址。即通过多个直接内存访问线程并行执行数据恢复,提高数据转存效率。
本申请通过存储系统开发基于非透明桥设备在设计开发代码之初,通过在IO栈代码开发阶段添加方法逻辑脚本,保证了开发过程中数据传输的高效性,可靠性,提高开发效率及灵活性;使存储设备可在更多的平台上,完成存储对数据的保障,提高了可靠性及可用性。
由上可见,本实施例中确定源数据对应的非一致性内存访问节点作为第一节点,确定非透明桥设备对应的非一致性内存访问节点作为第二节点;根据所述第一节点和所述第二节点之间的物理距离,按照数据搬移规则判断所述源数据是否符合搬移条件;若符合搬移条件,则将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中;通过所述非透明桥设备,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器。由于非透明桥设备用于存储控制器间的数据传输,存储源数据的节点与非透明桥设备所在节点距离越远,非透明桥读取数据所需的时间越长,因此,通过分析源数据所在的第一节点与非透明桥设备所在的第二节点之间的距离,当符合数据搬移条件时,在非透明桥设备进行数据读取前,先将源数据从第一节点搬移到非透明桥设备所在的中央处理器,以便减少非透明桥设备读取源数据的时延,进而提高存储控制器间数据同步的效率。
相应的,本申请实施例还公开了一种存储控制器间通信优化装置,参见图4所示,该装置包括:
节点确定模块11,用于确定源数据对应的非一致性内存访问节点作为第一节点,确定非透明桥设备对应的非一致性内存访问节点作为第二节点;
搬移条件判断模块12,用于根据所述第一节点和所述第二节点之间的物理距离,按照数据搬移规则判断所述源数据是否符合搬移条件;
数据搬移模块13,用于若符合搬移条件,则将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中;
数据传输模块14,用于通过所述非透明桥设备,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器。
由上可见,本实施例中确定源数据对应的非一致性内存访问节点作为第一节点,确定非透明桥设备对应的非一致性内存访问节点作为第二节点;根据所述第一节点和所述第二节点之间的物理距离,按照数据搬移规则判断所述源数据是否符合搬移条件;若符合搬移条件,则将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中;通过所述非透明桥设备,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器。由于非透明桥设备用于存储控制器间的数据传输,存储源数据的节点与非透明桥设备所在节点距离越远,非透明桥读取数据所需的时间越长,因此,通过分析源数据所在的第一节点与非透明桥设备所在的第二节点之间的距离,当符合数据搬移条件时,在非透明桥设备进行数据读取前,先将源数据从第一节点搬移到非透明桥设备所在的中央处理器,以便减少非透明桥设备读取源数据的时延,进而提高存储控制器间数据同步的效率。
在一些具体实施例中,所述搬移条件判断模块12具体可以包括:
判断单元,用于判断所述第一节点与所述第二节点是否处于相同的中央处理器;
符合判定单元,用于若处于不同的中央处理器,则判定所述源数据符合搬移条件;
不符合判定单元,用于若处于相同的中央处理器,则判定所述源数据不符合搬移条件。
在一些具体实施例中,所述数据搬移模块13具体可以包括:
数据搬移单元,用于利用所述源数据所在缓存对应的直接内存访问线程,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中。
在一些具体实施例中,所述存储控制器间通信优化装置具体可以包括:
线程分配单元,用于在将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器之前,为各个缓存分配两个或多个直接内存访问线程;
所述数据搬移模块13具体可以包括:
数据搬移单元,用于利用所述源数据所在缓存对应的所有直接内存访问线程,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中。
在一些具体实施例中,所述直接内存访问线程具体可以为异步线程。
在一些具体实施例中,所述数据搬移模块13具体可以包括:
数据搬移单元,用于通过调用内存拷贝函数,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中。
在一些具体实施例中,所述数据传输模块14具体可以包括:
镜像缓存单元,用于通过所述非透明桥设备对所述目标中央处理器中的源数据进行镜像缓存,得到镜像源数据;
数据传输单元,用于将所述镜像源数据传输至对端存储控制器。
在一些具体实施例中,所述非透明桥设备具体可以内置或外插在中央处理器。
在一些具体实施例中,所述数据搬移模块13具体可以包括:
目标节点确定单元,用于从所述第二节点所在的目标中央处理器中选择任意一个非一致性内存访问节点作为目标节点;
数据搬移模单元,用于将所述源数据从所述第一节点搬移至所述目标节点。
在一些具体实施例中,所述中央处理器的架构默认开启非一致性内存访问节点。
在一些具体实施例中,所述数据搬移模块13具体可以包括:
关联单元,用于确定所述源数据在所述第一节点的存储地址得到第一存储地址,将所述源数据和所述第一存储地址进行关联;
所述数据传输模块14,具体可以包括:
数据传输单元,用于通过所述非透明桥设备从所述目标中央处理器中读取所述源数据,将所述源数据和所述第一存储地址一同传输至对端存储控制器,以便所述对端存储控制器根据所述第一存储地址,确定出所述第一存储地址在所述对端存储控制器中对应的第二存储地址,并将所述源数据存储至所述第二存储地址。
在一些具体实施例中,所对端存储控制器用于通过多个直接内存访问线程并行将所述源数据存储至所述第二存储地址。
进一步的,本申请实施例还公开了一种电子设备,参见图5所示,图中的内容不能被认为是对本申请的使用范围的任何限制。
图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现确定源数据对应的非一致性内存访问节点作为第一节点,确定非透明桥设备对应的非一致性内存访问节点作为第二节点;根据所述第一节点和所述第二节点之间的物理距离,按照数据搬移规则判断所述源数据是否符合搬移条件;若符合搬移条件,则将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中;通过所述非透明桥设备,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器;以及前述任一实施例公开的存储控制器间通信优化方法步骤。能够通过分析源数据所在的第一节点与非透明桥设备所在的第二节点之间的距离,当符合数据搬移条件时,在非透明桥设备进行数据读取前,先将源数据从第一节点搬移到非透明桥设备所在的中央处理器,以便减少非透明桥设备读取源数据的时延,进而提高存储控制器间数据同步的效率。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括源数据在内的数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的存储控制器间通信优化方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序产品被处理器加载并执行时,实现确定源数据对应的非一致性内存访问节点作为第一节点,确定非透明桥设备对应的非一致性内存访问节点作为第二节点;根据所述第一节点和所述第二节点之间的物理距离,按照数据搬移规则判断所述源数据是否符合搬移条件;若符合搬移条件,则将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中;通过所述非透明桥设备,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器;以及前述任一实施例公开的存储控制器间通信优化方法步骤。能够通过分析源数据所在的第一节点与非透明桥设备所在的第二节点之间的距离,当符合数据搬移条件时,在非透明桥设备进行数据读取前,先将源数据从第一节点搬移到非透明桥设备所在的中央处理器,以便减少非透明桥设备读取源数据的时延,进而提高存储控制器间数据同步的效率。
进一步的,本申请实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现确定源数据对应的非一致性内存访问节点作为第一节点,确定非透明桥设备对应的非一致性内存访问节点作为第二节点;根据所述第一节点和所述第二节点之间的物理距离,按照数据搬移规则判断所述源数据是否符合搬移条件;若符合搬移条件,则将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中;通过所述非透明桥设备,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器;以及前述任一实施例公开的存储控制器间通信优化方法步骤。能够通过分析源数据所在的第一节点与非透明桥设备所在的第二节点之间的距离,当符合数据搬移条件时,在非透明桥设备进行数据读取前,先将源数据从第一节点搬移到非透明桥设备所在的中央处理器,以便减少非透明桥设备读取源数据的时延,进而提高存储控制器间数据同步的效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种存储控制器间通信优化方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种存储控制器间通信优化方法,其特征在于,应用于存储控制器,包括:
确定源数据对应的非一致性内存访问节点作为第一节点,确定非透明桥设备对应的非一致性内存访问节点作为第二节点;
根据所述第一节点和所述第二节点之间的物理距离,按照数据搬移规则判断所述源数据是否符合搬移条件;
若符合搬移条件,则将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中;
通过所述非透明桥设备,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器;
其中,根据所述第一节点和所述第二节点之间的物理距离,按照数据搬移规则判断所述源数据是否符合搬移条件,包括:
判断所述第一节点与所述第二节点是否处于相同的中央处理器;
若处于不同的中央处理器,则判定所述源数据符合搬移条件;
若处于相同的中央处理器,则判定所述源数据不符合搬移条件。
2.根据权利要求1所述的存储控制器间通信优化方法,其特征在于,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中,包括:
利用所述源数据所在缓存对应的直接内存访问线程,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中。
3.根据权利要求2所述的存储控制器间通信优化方法,其特征在于,在将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器之前,还包括:
为各个缓存分配两个或多个直接内存访问线程;
将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中,包括:
利用所述源数据所在缓存对应的所有直接内存访问线程,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中。
4.根据权利要求2所述的存储控制器间通信优化方法,其特征在于,所述直接内存访问线程为异步线程。
5.根据权利要求1所述的存储控制器间通信优化方法,其特征在于,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中,包括:
通过调用内存拷贝函数,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中。
6.根据权利要求1所述的存储控制器间通信优化方法,其特征在于,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器,包括:
通过所述非透明桥设备对所述目标中央处理器中的源数据进行镜像缓存,得到镜像源数据;
将所述镜像源数据传输至对端存储控制器。
7.根据权利要求1所述的存储控制器间通信优化方法,其特征在于,所述非透明桥设备内置或外插在中央处理器。
8.根据权利要求1所述的存储控制器间通信优化方法,其特征在于,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中,包括:
从所述第二节点所在的目标中央处理器中选择任意一个非一致性内存访问节点作为目标节点;
将所述源数据从所述第一节点搬移至所述目标节点。
9.根据权利要求1所述的存储控制器间通信优化方法,其特征在于,所述中央处理器的架构默认开启非一致性内存访问节点。
10.根据权利要求1至9任一项所述的存储控制器间通信优化方法,其特征在于,将所述源数据从所述第一节点搬移至所述第二节点所在的目标中央处理器中,包括:
确定所述源数据在所述第一节点的存储地址得到第一存储地址,将所述源数据和所述第一存储地址进行关联;
通过所述非透明桥设备,从所述目标中央处理器中读取所述源数据,并将所述源数据传输至对端存储控制器,包括:
通过所述非透明桥设备从所述目标中央处理器中读取所述源数据,将所述源数据和所述第一存储地址一同传输至对端存储控制器,以便所述对端存储控制器根据所述第一存储地址,确定出所述第一存储地址在所述对端存储控制器中对应的第二存储地址,并将所述源数据存储至所述第二存储地址。
11.根据权利要求10所述的存储控制器间通信优化方法,其特征在于,将所述源数据存储至所述第二存储地址,包括:
通过多个直接内存访问线程并行将所述源数据存储至所述第二存储地址。
12.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至11任一项所述的存储控制器间通信优化方法。
13.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至11任一项所述的存储控制器间通信优化方法。
14.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至11任一项所述的存储控制器间通信优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411481627.3A CN119003410B (zh) | 2024-10-23 | 2024-10-23 | 一种存储控制器间通信优化方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411481627.3A CN119003410B (zh) | 2024-10-23 | 2024-10-23 | 一种存储控制器间通信优化方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN119003410A CN119003410A (zh) | 2024-11-22 |
CN119003410B true CN119003410B (zh) | 2025-02-25 |
Family
ID=93485069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202411481627.3A Active CN119003410B (zh) | 2024-10-23 | 2024-10-23 | 一种存储控制器间通信优化方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN119003410B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115098413A (zh) * | 2022-05-25 | 2022-09-23 | 苏州浪潮智能科技有限公司 | 一种存储控制器、方法、装置及存储介质 |
CN118585381A (zh) * | 2024-08-06 | 2024-09-03 | 济南浪潮数据技术有限公司 | 数据恢复方法、装置、设备、介质及计算机程序产品 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110008152A (zh) * | 2019-04-10 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 存储控制器节点间数据传输方法、装置、设备及存储介质 |
CN114756176A (zh) * | 2022-04-22 | 2022-07-15 | 浪潮电子信息产业股份有限公司 | 一种多控存储系统、数据处理方法、装置及介质 |
CN116931830A (zh) * | 2023-07-21 | 2023-10-24 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据搬移方法、装置、设备及存储介质 |
-
2024
- 2024-10-23 CN CN202411481627.3A patent/CN119003410B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115098413A (zh) * | 2022-05-25 | 2022-09-23 | 苏州浪潮智能科技有限公司 | 一种存储控制器、方法、装置及存储介质 |
CN118585381A (zh) * | 2024-08-06 | 2024-09-03 | 济南浪潮数据技术有限公司 | 数据恢复方法、装置、设备、介质及计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN119003410A (zh) | 2024-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111813713B (zh) | 数据加速运算处理方法、装置及计算机可读存储介质 | |
TW202215223A (zh) | 用於加速器的裝置及用於處理資料的方法 | |
KR20200135718A (ko) | 액세스 요청을 관리하기 위한 방법, 장치, 기기 및 저장 매체 | |
CN115687193A (zh) | 存储模块、包括其的系统以及存储模块的操作方法 | |
CN110119304A (zh) | 一种中断处理方法、装置及服务器 | |
CN113312182B (zh) | 一种云计算节点、文件处理方法及装置 | |
CN116414735A (zh) | 数据存储方法、系统、存储访问配置方法及相关设备 | |
CN114816254A (zh) | 一种硬盘数据访问方法、装置、设备及介质 | |
CN111984204B (zh) | 一种数据读写方法、装置及电子设备和存储介质 | |
CN101770504B (zh) | 数据存储、读取方法及设备 | |
US11847049B2 (en) | Processing system that increases the memory capacity of a GPGPU | |
WO2023124304A1 (zh) | 芯片的缓存系统、数据处理方法、设备、存储介质及芯片 | |
CN105740166A (zh) | 缓存的读取、读取处理方法及装置 | |
CN118377741B (zh) | 原子操作的执行系统、方法和装置 | |
CN116483553A (zh) | 计算设备、数据处理方法、系统及相关设备 | |
US20240241826A1 (en) | Computing node cluster, data aggregation method, and related device | |
CN113448897A (zh) | 适用于纯用户态远端直接内存访问的数组结构及优化方法 | |
CN119003410B (zh) | 一种存储控制器间通信优化方法、装置、设备及存储介质 | |
WO2001016743A2 (en) | Shared memory disk | |
CN115543222B (zh) | 一种存储优化方法、系统、设备及可读存储介质 | |
CN115809015A (zh) | 分布式系统中数据处理的方法以及相关系统 | |
CN112433672A (zh) | 一种固态硬盘读方法和装置 | |
CN118277344B (zh) | 分布式键值存储系统的存储节点层间合并方法及装置 | |
US12223196B1 (en) | Processing metadata changes using multiple aggregation policies | |
CN112003860B (zh) | 适用于远程直接内存访问的内存管理方法、系统及介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |