使用远程直接内存访问(RDMA)复制数据的制作方法

文档序号:12287872阅读:472来源:国知局
使用远程直接内存访问(RDMA)复制数据的制作方法与工艺

应用程序可以使用虚拟地址从易失性高速缓存读取数据并且将数据写入易失性高速缓存。写入易失性高速缓存的数据的主副本可以存储在本地非易失性存储器中。由应用程序使用的虚拟地址可以与本地非易失性存储器的相应物理地址对应。

附图说明

以下详细说明参考附图,其中

图1是包括编码有响应于映射命令而注册地址的指令的机器可读存储介质的示例装置的框图;

图2是包括编码有使恢复点目标能够实施的指令的机器可读存储介质的示例装置的框图;

图3是包括编码有使能够跟踪数据远同步的完成的指令的机器可读存储介质的示例装置框图;

图4是响应于映射命令而使地址能够注册的示例系统的框图;

图5是用于实施一顺序的示例系统的框图,其中数据以该顺序在远程存储实体中复制。

图6是用于数据远程同步的示例系统的框图。

图7是用于为远程直接内存访问注册地址的示例方法的流程图。

图8是用于在远程存储实体中复制数据的示例方法的流程图;以及

图9是用于实施恢复点目标的示例方法的流程图。

具体实施方式

在应用程序服务器上运行的应用程序可以将数据写入易失性高速缓存,并且将数据的本地副本存储在应用程序服务器的非易失性存储器中。数据的远程副本可以存储在远程位置(诸如存储服务器)的非易失性存储器中。使用远程直接内存访问(RDMA),数据可以从应用程序服务器传输到远程服务器。RDMA可以减少CPU在数据传输方面的开销,但是与内存访问相比,可能具有长的等待时间。每次启动RDMA,就会产生数据的本地副本,并且在将附加数据写入易失性高速缓存之前等待将要完成的RDMA,与通过使用RDMA进行数据传输节省的时间和资源相比,会消耗更多的时间和资源。鉴于以上所述,本发明的公开提供:响应于映射命令而注册地址,减少RDMA的等待时间。此外,本发明的公开在启动RDMA之前,使应用程序能够累积来自多个本地写入操作的数据,减少用于将数据传输到远程位置的RDMA的数量。

现在参考附图,图1是包括编码有响应于映射命令而注册地址的指令的机器可读存储介质的示例装置100的框图。如本文所使用的,术语“包含”、“具有”、以及“包括”是可互换的并且应该被理解为具有相同的含义。在一些实现方式中,装置100可以操作为应用程序服务器和/或可以是应用程序服务器的一部分。在图1中,装置100包括处理器102和机器可读存储介质104。

处理器102可以包括中央处理单元(CPU)、微处理器(例如,基于半导体的微处理器),和/或其它适于获取和/或执行存储在机器可读存储介质104中的指令的其它硬件器件。处理器102可以提取、解码和/或执行指令106、108和110。作为获取和/或执行指令的可替代方案或者除了获取和/或执行指令之外,处理器102可以包括电子电路,该电子电路包括用于执行指令106、108和/或110的功能的电子部件。

机器可读存储介质104可以是任何合适的电子的、磁性的、光学的、或者其它包含或存储可执行指令的物理存储装置。因此,机器可读存储介质104可以包括,例如,RAM、电可擦除可编程只读存储器(EEPROM)、存储装置、光盘等。在一些实现方式中,机器可存储介质104可以包括非瞬态存储介质,其中术语“非瞬态”不包括瞬态传播的信号。如在下面详细描述的,机器可读存储介质104可以编码有一组可执行指令106、108和110。

指令106可以响应于映射命令而注册由映射命令指定的多个第一虚拟地址。映射命令可以由在应用程序服务器上运行的应用程序发出,并且可以促使多个第一虚拟地址中的每一个第一虚拟地址被分配到应用程序服务器的非易失性存储器(NVM)的相应物理地址。如本文所使用的,术语“非易失性存储器”(缩写为“NVM”),应该被理解为指的是即使没有供电也会保留存储的数据的存储器。应用程序可以使用多个第一虚拟地址来访问在应用程序服务器的易失性存储器上的数据。应用程序写入到多个第一虚拟地址中的一个第一虚拟地址的数据也可以写入到与应用程序服务器的NVM的相应物理地址对应的位置,以使万一应用程序服务器断电,也可以获得数据的本地副本。

数据副本也可以在远程存储实体中产生,以使在数据的本地副本损坏或丢失的情况下可以获得数据副本。如在本文中所使用的,术语“远程存储实体”应该被理解为指的是存储数据且不同于发出映射命令的实体的实体。例如,映射命令可以来自应用程序服务器,其可以包括其中数据副本可以本地存储的NVM。数据副本也可以存储在远程存储实体的NVM中,其可以是存储服务器。在远程存储实体中存储数据副本的动作在本文中指的是“复制数据”。

注册多个第一虚拟地址会导致多个第一地址被传送到远程存储实体,其会生成要被用于远程存储实体的NVM的RDMA的多个第二虚拟地址。RDMA可以用于将数据传输到远程存储实体,使得用于复制数据的CPU开销可以被最小化。在一些实现方式中,多个第二虚拟地址可以由远程存储实体上的网络适配器生成。在一些实现方式中,多个第二虚拟地址可以由本地网络适配器(例如在应用程序服务器上)生成。网络适配器可以针对每个映射命令而生成虚拟地址的单独集合。虽然注册了多个第一虚拟地址,但是多个第一虚拟地址以及远程存储实体的NVM的数据复制在其中的地址可以被固定,以防止操作系统(OS)修改或移动存储在那些地址处的数据。

可以由在应用程序服务器上运行的应用程序发出同步命令。存储在由同步命令指定的虚拟地址处的数据在本文中指的是与同步命令“相关联”。响应于同步命令,与同步命令相关联的数据可以存储在应用程序服务器的NVM中。例如,响应于同步命令,应用程序服务器上的易失性高速缓存或者缓冲器可以被刷新到应用程序服务器的NVM,使得在易失性高速缓存/缓冲器中的数据的本地副本可以在应用程序服务器的NVM中被创建。在一些实现方式中,同步命令可以指定多个虚拟地址、虚拟地址范围或者多个虚拟地址范围。每个同步命令可以包括相应同步命令中的最后地址的端部处的边界指示。

尽管与同步命令相关联的数据在执行同步命令之后可以被立即复制,但是如果在远程存储实体中复制与同步命令相关联的数据之前执行多个同步命令,则资源(例如,用于注册地址和建立RDMA连接的时间和处理能力)可能被更加有效地使用。指令108可以识别与指定多个第一虚拟地址中的任意第一虚拟地址的多个同步命令相关联的数据。在一些实现方式中,指令108可以将与多个同步命令相关联的数据复制到用于累积要被复制的数据的数据结构。在一些实现方式中,指令108可以设定在页面表中的页面的复制位元,其包括与任意多个同步命令相关联的数据。

在与多个同步命令相关联的数据被复制之前,多个同步命令可都被执行(例如,与多个同步命令相关联的数据可以被复制到应用程序服务器上的NVM)。与多个同步命令相关联的数据可以响应于远程同步命令(rsync)而被复制。远程同步命令可以促使复制与在先前远程同步命令之后发出的任意同步命令相关联的所有数据。如果应用程序服务器上没有完成同步命令的执行(例如,如果响应于同步命令而从应用程序服务器的易失性高速缓存刷新的数据还没有到达应用程序服务器的NVM),则应用程序服务器不会将远程同步命令传送到远程存储实体;应用程序服务器可以等待,直到在传送远程同步命令之前已经完成所有未完成的同步命令的执行。执行远程同步命令可以产生应用程序一致性点,在该一致性点处,在易失性存储器中的数据的最新副本存在于本地NVM(例如,应用程序服务器的NVM)中以及存在于远程NVM(例如,存储服务器的NVM)中。响应于远程同步命令,远程存储实体的易失性高速缓存/缓冲器可以被刷新到远程存储实体的NVM。

指令110响应于远程同步命令,可以发起远程直接内存访问(RDMA)以根据多个同步命令中的边界指示而在远程存储实体中复制识别的数据。在数据结构用于累积要被复制的数据的实现方式中,远程同步命令可以促使数据结构中的数据使用RDMA传输到远程存储实体。在使用复制位元的实现方式中,远程同步命令可以促使在其相应的复制位元被设定的页面中的数据使用RDMA传输到远程存储实体。复制位元在这种数据传输之后可以被重新设定。在一些实现方式中,多个RDMA可以用于将所识别的数据传输到远程存储实体。

识别的数据可以利用多个第二虚拟地址中的虚拟地址进行传输,这些虚拟地址用于确定识别的数据复制到远程存储实体中的哪个位置处。多个同步命令中的边界指示可以用于,在RDMA期间以与通过多个同步命令分组的多个第一虚拟地址中的各地址相同的方式分组这些虚拟地址。因此,边界指示用于确保识别的数据在远程存储实体中以与在应用程序服务器的NVM中的相同方式被分组(即,识别的数据的远程副本等同于应用程序服务器上的本地副本)。在一些实现方式中,识别的数据可以在远程存储实体的基于忆阻器的NVM中复制。例如,识别的数据可以在存储服务器上的电阻式随机存取存储器(ReRAM)中复制。

在一些实现方式中,在下一个远程同步命令被传送到远程存储实体之前,RDMA可用于复制数据,其与第一远程同步命令之后发出的同步命令相关联。与第一远程同步命令和第二远程同步命令之间发出的同步命令相关联的且在第二远程同步命令传送到远程存储实体之前复制的数据,可以被跟踪,从而确保响应于第二远程同步命令,这种数据不被再次传输到远程存储实体。例如,这种数据不会被复制到上面关于指令108所论述的数据结构,或者不会设定包括这种数据的页面的复制位元。

图2是包括编码有使恢复点目标能够实施的指令的机器可读存储介质的示例装置200的框图。在一些实现方式中,装置200可以操作为应用程序服务器和/或可以是应用程序服务器的一部分。在图2中,装置200包括处理器202和机器可读存储介质204。

与图1的处理器102一样,处理器202可以包括CPU、微处理器(例如,基于半导体的微处理器),和/或适于获取和/或执行存储在机器可读存储介质204中的指令的其它硬件器件。处理器202可以提取、解码、和/或执行指令206、208、210、212、214和216,从而使恢复点目标能够实施,如下面所述。作为获取和/或执行指令的可替代方案或者除了获取和/或执行指令之外,处理器202可以包括电子电路,该电子电路包括用于执行指令206、208、210、212、214和/或216的功能的多个电子部件。

与图1的机器可读存储介质104一样,机器可读存储介质204可以是存储可执行指令的任何合适的物理存储装置。机器可读存储介质204上的指令206、208和210可以类似于(例如,具有功能和/或组件类似于)机器可读存储介质104上的指令106、108和110。指令206可以响应于映射命令而注册由映射命令指定的多个第一虚拟地址。指令208可以识别与指定多个第一虚拟地址中的任意第一虚拟地址的多个同步命令相关联的数据。指令212可以将多个第二虚拟地址中的每一个第二虚拟地址与多个第一虚拟地址中的相应一个第一虚拟地址关联。多个第二虚拟地址可以由网络适配器本地生成或由远程存储实体上的网络适配器生成,如上面关于图1论述的。所识别的数据可以在远程存储实体的存储器位置中复制,存储器位置对应于多个第二虚拟地址中的、与多个第一虚拟地址中由多个同步命令指定的相应第一虚拟地址相关联的相应第二虚拟地址。

应用程序服务器可以从远程存储实体(例如,从远程存储实体上的网络适配器)接收多个第二虚拟地址并且存储虚拟地址对。基于存储的虚拟地址对,可以确定多个第二虚拟地址中的、与多个第一虚拟地址中由多个同步命令指定的第一虚拟地址对应的第二虚拟地址。所确定的多个第二虚拟地址中的第二虚拟地址可以用于指定响应于远程同步命令而使用RDMA传输的数据(例如,与多个同步命令相关联的数据)复制在远程存储实体的何处。

指令214响应于映射命令可以启动计时器。计时器可以正数计时到等于应用程序服务器的恢复点目标(RPO)的值或者从该值倒数计时,或者正数计时到等于远程同步命令之间的最大数量时间的值或从该值倒数计时,这些值由应用程序指定。在一些实现方式中,应用程序可以指定RPO。在一些实现方式中,RPO可以是存储在由同步命令指定的地址处的文件的属性。

当计时器达到预定值时,指令216可以生成同步命令。在计时器倒数计时的实现方式中,预定值可以是零。在计时器正数计时的实现方式中,预定值可以等于RPO或者远程同步命令之间最大数量时间的值。

在一些实现方式中,生成的远程同步命令可以使用RDMA传送到远程存储实体,如下面关于图3进一步论述的。使用RDMA传送远程同步命令在本文可以指“带内”传送远程同步命令。在一些实现方式中,生成的远程同步命令可以“带外”(即,在没有使用RDMA的情况下)传送到远程存储实体。例如,经由两侧的CPU控制的正常通信通道,应用程序可以将远程同步命令传送到远程存储实体上的数据服务。响应于接收到远程同步命令,数据服务可以将远程存储实体的易失性高速缓存/缓冲器刷新到远程存储实体的NVM。

图3是包括编码有使能够跟踪数据远程同步的完成的指令的机器可读存储介质的示例装置300的框图。在一些实现方式中,装置300可以操作为应用程序服务器和/或可以是应用程序服务器的一部分。在图3中,装置300包括处理器302和机器可读存储介质304。

与图1的处理器102一样,处理器302可以包括CPU、微处理器(例如,基于半导体的微处理器),和/或适于获取和/或执行存储在机器可读存储介质304中的指令的其它硬件器件。处理器302可以提取、解码、和/或执行指令306、308、310、312和314,从而使能够跟踪数据远程同步的完成,如下面所述。作为获取和/或执行指令的可替代方案或除了获取和/或执行指令之外,处理器302可包括电子电路,该电子电路包括用于执行指令306、308、310、312、和/或314的功能的多个电子部件。

与图1中的机器可读存储介质104一样,机器可读存储介质304可以是存储可执行指令的任何合适的物理存储装置。机器可读存储介质304上的指令306、308和310可以类似于(例如,具有功能和/或组件类似于)机器可读存储介质104上的指令106、108和110。指令312可以在已经执行多个同步命令之后,使用RDMA传送远程同步命令。在一些实现方式中,远程同步命令可以在RDMA期间连同要被复制的数据(即,与多个同步命令相关联的数据)一起传送。在一些实现方式中,可以特定地发起单独的RDMA以用于传送远程同步命令。

在一些实现方式中,应用程序可以周期性地生成远程同步命令从而确保有规律地达到应用程序一致性点。如果自从完成上一个同步命令,没有发出远程同步命令,则响应于由应用程序发出的取消映射命令而生成远程同步命令。取消映射命令可以促使应用程序服务器和远程存储实体上的固定地址变为非固定的(例如,OS可以修改/移动存储在这种地址处的数据)。

指令314可以保持确认计数器以跟踪与多个同步命令相关联的数据的复制的完成。每次发出同步命令,确认计数器可以增加,并且当与同步命令相关联的数据在远程存储实体中复制时,确认计数器可以减少(例如,如由RDMA完成确认所指示的)。零的确认计数器值可以指示已经完成远程同步命令(例如,与多个同步命令相关联的数据响应于其而复制的远程同步命令)的执行。

图4是响应于映射命令而使地址能够注册的示例系统400的框图。在一些实现方式中,系统400可以操作为远程存储实体和/或可以是远程存储实体的一部分。例如,系统400可以在通信地联接到应用程序服务器的存储服务器中实现。网络适配器可以用于通信地联接服务器。

在图4中,系统400包括地址识别模块402、地址生成模块404、以及复制模块406。模块可以包括编码在机器可读存储介质上的并且由处理器可执行的一组指令。此外或作为可替代方案,模块可以包括硬件装置,该硬件装置包括用于实现下面的功能的电子电路。

地址识别模块402可以响应于映射命令而识别NVM中的多个存储器地址。映射命令可以包括多个第一虚拟地址。可以由应用程序服务器上运行的应用程序发出映射命令,并且在其中多个存储器地址被识别的NVM可以在存储服务器上。与指定多个第一虚拟地址中的任意第一虚拟地址的多个同步命令相关联的数据可以在与所识别的多个存储器地址对应的NVM的区域中复制。在一些实现方式中,NVM可以是基于忆阻器的NVM。例如,NVM可以是ReRAM。

地址生成模块404可以响应于映射命令而生成多个第二虚拟地址。多个第二虚拟地址中的每一个虚拟地址可以针对NVM的RDMA进行注册,并且可以与多个第一虚拟地址中的相应一个虚拟地址相关联。多个第二虚拟地址可以传送到从其发出映射命令的应用程序服务器,并且可以用于确定在存储服务器的NVM中的何处复制使用RDMA传输的数据。多个第二虚拟地址中的每一个虚拟地址可以与所识别的NVM中的多个存储器地址中的相应一个存储器地址对应。所识别的NVM中的多个存储器地址可以被固定,防止当多个第二虚拟地址注册时,OS移动或修改存储在这些地址处的数据。

复制模块406可以使用RDMA并响应于远程同步命令而复制与指定多个第一虚拟地址中的任意第一虚拟地址的多个同步命令相关联的数据。与多个同步命令相关联的数据可以根据多个同步命令中的边界指示而在NVM中复制。边界指示可以用于确保与多个同步命令相关联的数据的远程副本等同于应用程序服务器上的本地副本,如上面关于图1所论述的。在一些实现方式中,与多个同步命令相关联的数据可以在所识别的NVM中的多个存储器地址中的存储器地址处复制,该存储器地址对应于多个第二虚拟地址的、与多个第一虚拟地址中由多个同步命令指定的相应第一虚拟地址相关联的相应第二虚拟地址。在一些实现方式中,在与多个同步命令相关联的数据已经被复制之后,复制模块406可以传送完成通知。完成通知可以指示已经达到应用程序一致性点。

图5是用于实施一顺序的示例系统500的框图,数据以该顺序在远程存储实体中复制。在一些实现方式中,系统500可以操作为远程存储实体和/或可以是远程存储实体的一部分。例如,系统500可以在通信地联接到应用程序服务器的存储服务器中实现。

在图5中,系统500包括地址识别模块502、地址生成模块504、复制模块506、访问模块508、以及顺序模块510。模块可以包括编码在机器可读存储介质上并由处理器可执行的一组指令。除此之外或者作为可替代的方案,模块可以包括硬件装置,该硬件装置包括用于实现下述功能的电子电路。

系统500的模块502、504和506可以分别类似于系统400的模块402、404和406。访问模块508可以传送用于RDMA的认证令牌。认证令牌可以由网络适配器在远程存储实体上生成并且被传送到应用程序服务器。在一些实现方式中,认证令牌可以与由地址生成模块504生成的多个第二虚拟地址一起传送。应用程序服务器可以使用认证令牌来获得使用RDMA传输数据的授权。

顺序模块510可以实施一顺序,多个RDMA以该顺序执行。在一些实现方式中,可能期望以特定顺序执行RDMA,例如当多个RDMA在远程存储实体的NVM中写明相同存储位置时(如果多个同步命令指定相同的虚拟地址时这就会发生)。顺序号可以被分配到并嵌入在每个RDMA中。程序模块510可以在远程存储实体的NVM中保持顺序队列。顺序队列可以缓冲具有较后顺序号的RDMA直到具有较前顺序号的RDMA已经完成。

图6是用于数据远程同步的示例系统600的框图。在图6中,系统600包括应用程序服务器602和存储服务器608。应用程序服务器602可以分别包括图1、图2和图3的装置100、200、或者300。存储服务器608可以分别包括图4或图5的系统400或500。应用程序604可以在应用程序服务器602上运行,并且可以发出映射命令、取消映射命令、同步命令和远程同步命令。与由应用程序604发出的同步命令相关联的数据可以本地存储在应用程序服务器602的NVM606中。

存储服务器608可以包括数据服务610和NVM’612。数据服务610可以接收由应用程序604发出的映射命令和取消映射命令。在一些实现方式中,远程同步命令可以从应用程序604“带外”传送到数据服务610。在一些实现方式中,远程同步命令可以使用RDMA从NVM 606带内传送到NVM’612,如上面关于图3所论述的。存储在NMV 606中的数据可以使用RDMA传输到NVM’612并复制在NVM’612中。由应用程序604发出的同步命令中的边界指示可以用于确保存储服务器608中的、与这些同步命令相关联的数据的远程副本等同于应用程序服务器602上的本地副本,如上面关于图1所论述的。

关于图7-图9论述了在远程位置同步数据的、与使用RDMA有关的方法。图7是用于为RDMA注册地址的示例方法700的流程图。尽管参考图3的处理器302在下面描述了方法700的执行,但是应该理解的是,可以由其它合适的器件实施方法700的执行,诸如分别由图1和图2的处理器102和202。方法700可以以存储在机器可读存储介质上的可执行指令的形式和/或以电子电路的形式来执行。

方法700可以在框702开始,在该处,处理器302可以响应于映射命令而注册由映射命令指定的多个虚拟地址。多个虚拟地址的注册会导致多个虚拟地址被传送到远程存储实体,这会生成用于远程存储实体的NVM的RDMA的另外的多个虚拟地址,如上面关于图1所论述的。注册的地址可以被固定以防止OS修改或移动存储在那些地址处的数据。

接下来,在框704,处理器302可以识别与指定多个虚拟地址中的任意虚拟地址的多个同步命令相关联的数据。在一些实现方式中,处理器302可以将与多个同步命令相关联的数据复制到用于累积要被复制的数据的数据结构。在一些实现方式中,处理器302可以在页面表中设定页面的复制位元,该页面的复制位元包括与任意多个同步命令相关联的数据。

最终,在框706,处理器302可以传送远程同步命令以使用RDMA在远程存储实体中复制所识别的数据。所识别的数据可以根据多个同步命令中的边界指示复制。边界指示可以用于确保所识别的数据以与在应用程序服务器的NVM中的相同方式在远程存储实体中被分组,如上面关于图1所论述的。在一些实现方式中,所识别的数据可以在远程存储实体的基于忆阻器的NVM中复制。

图8是用于在远程存储实体中复制数据的示例方法800的流程图。尽管下面关于图3的处理器302描述了方法800的执行,但是应该理解的是,可以由其它合适的器件实施方法800的执行,诸如分别由图1和图2的处理器102和202实施。方法800的一些框可以与方法700一起执行和/或在方法700之后执行。方法800可以以存储在机器可读存储介质上的可执行指令的形式实现和/或以电子电路的形式实现。

方法800可以在框802开始,在该处,处理器302可以传送多个第一同步命令。响应于多个第一同步命令,与多个第一同步命令相关联的数据可以存储在应用程序服务器的NVM中。与多个第一同步命令相关联的数据还可以复制到数据结构或者通过复制位元识别,例如上面关于图1所论述的。

接下来,在框804,处理器302可以传送第一远程同步命令。在一些实现方式中,第一远程同步命令可以在多个第一同步命令已经执行之后,使用RDMA传送。在一些实现方式中,第一远程同步命令可以带外传送。响应于第一远程同步命令,与多个第一同步命令相关联的数据可以使用RDMA传输到远程存储实体中并在该远程存储实体中复制。

在框806,在传送第一远程同步命令之后且在传送第二远程同步命令之前,处理器302可以传送多个第二同步命令和多个第三同步命令。与多个第二同步命令相关联的数据可以在远程存储实体中使用在传送第一远程同步命令之后且在传送第二远程同步命令之前发生的各RDMA进行复制。与多个第三同步命令相关联的数据可以复制到数据结构或者利用复制位元识别,同时与多个第二同步命令相关联的数据不会复制到数据结构或利用复制位元识别。

在框808,处理器302可以传送第二远程同步命令。与多个第三同步命令相关联的数据可以在远程存储实体中使用在传送第二远程同步命令之后发生的各RDMA进行复制。与多个第三同步命令相关联的数据可以在传送第二远程同步命令之后传输到远程存储实体。在传送第二远程同步命令之后,与多个第二同步命令相关联的数据不会被传输到远程存储实体,因为在传送第二远程同步命令之前其已经被传输了。

图9是用于实施恢复点目标的示例方法900的流程图。尽管下面参考图2的处理器202描述了方法900的执行,但是应该理解的是,方法900的执行可以由其它合适的器件实施,诸如分别由图1和图3的处理器102和302实施。方法900的一些框可以与方法700和/或800一起执行和/或在方法700和/或800之后执行。方法900可以以存储在机器可读存储介质上的可执行指令的形式实现和/或以电子电路的形式实现。

方法900可以在框902开始,其中处理器202可以响应于映射命令而启动计时器。计时器可以从等于应用程序服务器的RPO的值正数计时或者从该值倒数计时,或者从等于远程同步命令之间的最大数量时间的值正数计时或从该值倒数计时,如由应用程序所指定。在一些实现方式中,应用程序可以指定RPO。在一些实现方式中,RPO可以是存储在由同步命令指定的地址处的文件的属性。

在框904,处理器202可以确定计时器是否达到预定值。在计时器倒数计时的实现方式中,预定值可以是零。在计时器正数计时的实现方式中,预定值可以等于RPO的值或者是远程同步命令之间的最大数量时间。在框904,如果处理器202确定计时器没有达到预定值,那么方法900可循环返回到框904。在框904,如果处理器202确定计时器已经达到预定值,那么方法900可以行进到框906,其中处理器202可以传送远程同步命令。远程同步命令可以带内或带外传送到远程存储实体。

前述公开描述了使用映射命令和同步命令中的信息以用于RDMA注册和数据传输。本文描述的示例实现方式能够降低RDMA等待时间和用于将数据传输到远程存储实体的RDMA的数量。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1