【技术实现步骤摘要】
【国外来华专利技术】数据预取方法及装置本申请要求于2019年03月29日提交中国专利局、申请号为201910259338.1、申请名称为“数据预取方法及装置”的中国专利申请以及于2018年8月24日提交专利局、申请号为201810974252.2的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及通信领域,尤其涉及一种数据预取方法及装置。
技术介绍
多核(包括多处理器)系统内一般具有多个层级的缓存,用于存储诸如程序指令、程序执行的过程数据或者下一层级缓存中被频繁引用的数据等。下级缓存中的一个或多个数据在上一层级的各个缓存都有可能存在副本;当某一层的数据副本发生改变时,为了保证多个层级中缓存的同一数据的一致性,可通过缓存一致性机制来完成,即缓存一致性机制可通过在多核系统中传播数据变更消息来维护和保证不同位置、不同缓存中数据的一致性。其中,每个处理器内核都有本地缓存以及维护本地缓存一致性的硬件模块,将该硬件模块和本地缓存统称为缓存节点,将处理器内核称为计算节点。缓存一致性主要用于多核CPU系统中,而数据预取(也即指令的预处理)是针对其中的某个CPU或核而言的。数据预取是指利用程序执行的局部性,对某个CPU核中连续的相邻指令进行分析,预测在接下来的时刻极有可能执行的指令,从而根据预测的结果提前从内存中获取相关的待处理的数据,进而通过数据获取的提前量来消除数据在传输路径上的时延,以达到降低整体系统处理时延的目的。但是该方式具有以下缺点:1、指令预测仅局限于同一个缓存节点内,而且通过对当前缓存节点的连续N个指令的 ...
【技术保护点】
一种数据预取方法,其特征在于,所述方法应用于数据预取系统,该数据预取系统包括主节点和多个缓存节点,所述方法包括:/n所述主节点接收缓存节点1发送的写入请求;其中,所述写入请求中携带待写入数据、数据预取标识、数据预取的节点号;/n所述主节点根据所述数据预取标识向所述数据预取的节点号指示的缓存节点2发送第一侦听消息,所述第一侦听消息携带有预取询问标识,所述预取询问标识用于指示所述缓存节点2执行确定是否需要对所述待写入数据进行数据预取操作的步骤;/n所述主节点接收所述缓存节点2发送的第一侦听响应消息,所述第一侦听响应消息包括用于指示所述缓存节点2是否需要对所述待写入数据进行数据预取操作的指示信息;/n当所述主节点根据所述指示信息确定所述缓存节点2需要对所述待写入数据进行数据预取操作时,所述主节点向所述缓存节点2发送携带所述待写入数据的响应消息;/n其中,所述缓存节点1和所述缓存节点2为所述多个缓存节点中的两个不同的节点。/n
【技术特征摘要】
【国外来华专利技术】20180824 CN 2018109742522;20190329 CN 201910259338一种数据预取方法,其特征在于,所述方法应用于数据预取系统,该数据预取系统包括主节点和多个缓存节点,所述方法包括:
所述主节点接收缓存节点1发送的写入请求;其中,所述写入请求中携带待写入数据、数据预取标识、数据预取的节点号;
所述主节点根据所述数据预取标识向所述数据预取的节点号指示的缓存节点2发送第一侦听消息,所述第一侦听消息携带有预取询问标识,所述预取询问标识用于指示所述缓存节点2执行确定是否需要对所述待写入数据进行数据预取操作的步骤;
所述主节点接收所述缓存节点2发送的第一侦听响应消息,所述第一侦听响应消息包括用于指示所述缓存节点2是否需要对所述待写入数据进行数据预取操作的指示信息;
当所述主节点根据所述指示信息确定所述缓存节点2需要对所述待写入数据进行数据预取操作时,所述主节点向所述缓存节点2发送携带所述待写入数据的响应消息;
其中,所述缓存节点1和所述缓存节点2为所述多个缓存节点中的两个不同的节点。
根据权利要求1所述的方法,其特征在于:
所述指示信息为第一侦听响应消息中包括的第一预取结果标识,所述第一预取结果标识的不同值用于指示所述缓存节点2是否需要对所述待写入数据进行数据预取操作;
或者,
所述指示信息为通过第一侦听响应消息中是否包括第二预取结果标识来表示所述缓存节点2是否需要对所述待写入数据进行数据预取操作的信息。
根据权利要求1或2所述的方法,其特征在于,所述数据预取系统还包括多个计算节点,所述多个计算节点与所述多个缓存节点一一对应;
所述缓存节点1对应的计算节点用于对接收到的数据执行第一操作,所述缓存节点2对应的计算节点用于对所述接收到的数据执行第二操作;所述接收到的数据在被执行完所述第一操作后会大概率地被执行所述第二操作。
根据权利要求1-3任一项所述的方法,其特征在于,所述数据预取系统还包括存储节点,所述写入请求还包括数据写入地址,所述数据写入地址为所述待写入数据写入所述存储节点时在所述存储节点中的存储地址;所述方法还包括:
当所述主节点根据所述指示信息确定所述缓存节点2不需要对所述待写入数据进行数据预取操作时,所述主节点将所述待写入数据和数据写入地址缓存至所述主节点的缓存中。
根据权利要求1-4任一项所述的方法,其特征在于,所述主节点向缓存节点2发送第一侦听消息的同时,所述方法还包括:
所述主节点向其他缓存节点发送第二侦听消息,所述第二侦听消息用于指示所述其他缓存节点删除原数据,所述原数据为在所述主节点接收到所述待写入数据之前所述数据写入地址对应的数据;
其中,所述其他缓存节点为所述多个缓存节点中除了所述缓存节点1和缓存节点2之外的缓存节点。
根据权利要求1-5任一项所述的方法,其特征在于,在所述主节点向所述缓存节点2发送响应消息的同时,所述方法还包括:
向所述缓存节点1发送完成消息,所述完成消息用于告知所述缓存节点1数据写入完成。
根据权利要求1-6任一项所述的方法,其特征在于,所述数据预取系统还包括存储节点,所述方法还包括:
所述主节点向所述存储节点发送数据更新消息,以将所述待写入数据更新至所述存储节点中数据写入地址对应的存储空间中;
其中,所述数据更新消息携带有所述待写入数据。
根据权利要求1-7任一项所述的方法,其特征在于,所述第一侦听响应消息为所述缓存节点2根据所述预取询问标识确定是否需要对所述待写入数据进行数据预取操作后发送的。
根据权利要求1-8任一项所述的方法,其特征在于,所述数据预取系统为处理器,所述缓存节点以及所述主节点包括所述处理器中的高速缓存cache及cache控制电路。
根据权利要求1-8任一项所述的方法,其特征在于,所述数据预取系统为集群计算系统,所述集群计算系统包括多台处理服务器和存储服务器,所述缓存节点包括所述处理服务器中的内存控制器以及内存,所述主节点包括所述存储服务器中的处理器以及内存。
一种数据预取方法,其特征在于,所述方法应用于数据预取系统,所述数据预取系统包括主节点和多个缓存节点,所述方法包括:
缓存节点2接收所述主节点发送的第一侦听消息,所述第一侦听消息携带有预取询问标识,所述预取询问标识用于指示所述缓存节点2执行确定是否需要对待写入数据进行数据预取操作的步骤;所述待写入数据为缓存节点1将接收到的数据处理完后得到的数据,所述缓存节点1和缓存节点2为所述多个缓存节点中的两个不同的节点;
所述缓存节点2根据所述预取询问标识确定其是否需要对所述待写入数据进行数据预取操作;
所述缓存节点2向所述主节点发送第一侦听响应消息;所述第一侦听响应消息包括用于指示所述缓存节点2是否需要对所述待写入数据进行数据预取操作的指示信息;
若所述缓存节点2确定其需要对所述待写入数据进行数据预取操作且在向所述主节点发送所述第一侦听响应消息后,接收所述主节点发送的响应消息,所述响应消息携带有所述待写入数据。
根据权利要求11所述的方法,其特征在于,所述数据预取系统还包括多个计算节点,所述多个计算节点与所述多个缓存节点一一对应;
所述缓存节点1对应的计算节点用于对接收到的数据执行第一操作,所述缓存节点2对应的计算节点用于对所述接收到的数据执行第二操作;所述接收到的数据在被执行完所述第一操作后会大概率地被执行所述第二操作。
根据权利要求11或12所述的方法,其特征在于,所述缓存节点2根据预取询问标识确定其是否需要对所述待写入数据进行数据预取操作,包括:
若所述缓存节点2支持数据预取功能且需要所述待写入数据;则所述缓存节点2确定其需要对所述待写入数据进行数据预取操作;
若所述缓存节点2支持数据预取功能且不需要所述待写入数据,或者所述缓存节点2不支持数据预取功能,则所述缓存节点2确定其不需要对所述待写入数据进行数据预取操作。
根据权利要求11-13任一项所述的方法,其特征在于,
所述指示信息为第一侦听响应消息中包括的第一预取结果标识,所述第一预取结果标识的不同值用于指示所述缓存节点2是否需要对所述待写入数据进行数据预取操作;
或者,
所述指示信息为通过第一侦听响应消息中是否包括第二预取结果标识来表示所述缓存节点2是否需要对所述待写入数据进行数据预取操作的信息。
根据权利要求11-14任一项所述的方法,其特征在于,所述数据预取系统为处理器,所述缓存节点以及所述主节点包括所述处理器中的高速缓存cache及其控制电路。
根据权利要求11-14任一项所述的方法,其特征在于,所述数据预取系统为集群计算系统,且所述集群计算系统包括多台处理服务器和存储服务...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。