异构硬件中大数据处理的方法及装置的制造方法

文档序号:9865415阅读:620来源:国知局
异构硬件中大数据处理的方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种异构硬件中大数据处理的方法及装置。
【背景技术】
[0002]异构硬件是作为扩展卡与主机Host通过PC1-E (pci Express,串行总线)互联的硬件,可以为Host提供更强大的矢量处理、浮点运算或多线程并行等能力。异构硬件上的内存较小且很难扩展,异构硬件在处理数据时,一些大数据的应用无法将数据一次性载入到异构硬件执行,针对这种异构硬件上的内存远小于数据处理量的情况,通常采用的方法是,将大数据段后分批载入到异构硬件的内存,即当异构硬件处理完成上一批数据后,再将第二批数据载入到异构硬件上,例如,将16G的数据分成4个4G的数据块,分批次载入到异构硬件的内存上进行处理。
[0003]现有技术中至少存在如下问题:在一些大数据应用的数据处理过程中,程序对数据的需求是动态的,即在程序运行前并不能确定其需要哪部分数据,所以异构硬件处理这种大数据应用时,将数据分批载入到异构硬件内存,会使载入的数据与当前程序运行所需的数据不一致,当前程序运行不需要的数据存储在异构硬件中占用大量的内存,不仅浪费异构硬件的内存空间,还会影响到程序的正常运行。

【发明内容】

[0004]本发明的实施例提供一种异构硬件中大数据处理的方法及装置,能够解决异构硬件处理这种大数据应用时,载入异构硬件内存的数据与当前程序运行所需的数据不一致,不仅浪费异构硬件的内存空间,还会影响到程序的正常运行的问题。
[0005]为达到上述目的,本发明的实施例采用如下技术方案:
[0006]第一方面,本发明的实施例提供一种异构硬件中大数据处理的方法,异构硬件与主机Host连接,包括:
[0007]接收所述Host发送的程序和地址信息,所述程序为在异构硬件上运行的程序,所述地址信息为源数据在所述Host中存储的地址信息,所述源数据为所述异构硬件上运行所述程序所需的数据;
[0008]建立本地存储所述源数据的虚拟地址与所述地址信息的映射关系;
[0009]当所述异构硬件运行所述程序过程中调用目标数据时,向所述Host发送目标数据请求,所述目标数据请求携带所述目标数据的地址信息,以便于所述Host根据所述目标数据的地址信息查找所述目标数据,所述目标数据的地址信息为所述异构硬件根据所述映射关系和所述目标数据的虚拟地址确定,所述目标数据属于所述源数据;
[0010]在接收所述Host回复的目标数据后,使用所述目标数据运行所述程序。
[0011]结合第一方面,在第一方面的第一种可能的实现方式中,当所述源数据存储于所述Host的内存时,所述地址信息为所述Host存储所述源数据的物理地址;
[0012]当所述源数据存储于所述Host的磁盘时,所述地址信息为所述Host存储所述源数据的虚拟地址。
[0013]结合第一方面,在第一方面的第二种可能的实现方式中,在所述使用所述目标数据运行所述程序之前,所述方法还包括:
[0014]将所述目标数据存储在所述异构硬件的内存中;
[0015]将本地存储所述目标数据的虚拟地址与所述目标数据的地址信息之间的映射关系修改为本地存储所述目标数据的虚拟地址与所述目标数据在所述异构硬件内存中物理地址之间的映射关系。
[0016]结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,当所述源数据存储于所述Host的磁盘时,在所述将所述目标数据存储在所述异构硬件的内存中之前,所述方法还包括:
[0017]接收所述Host回复的所述目标数据在所述Host的内存中存储的物理地址,所述物理地址为所述Host从磁盘中调取所述目标数据后存储在所述Host的内存中的物理地址;
[0018]将本地存储所述目标数据的虚拟地址与所述目标数据的地址信息之间的映射关系修改为本地存储所述目标数据的虚拟地址与在所述Host的内存中存储的物理地址之间的映射关系;
[0019]向所述Host发送部分目标数据请求,所述部分目标数据请求携带部分目标数据在所述Host的内存中存储的物理地址,以便于所述Host根据所述部分目标数据在所述Host的内存中存储的物理地址查找所述部分目标数据;
[0020]则所述在接收所述Host回复的目标数据后,使用所述目标数据运行所述程序包括:
[0021]在接收所述Host回复的部分目标数据后,使用所述部分目标数据运行所述程序。
[0022]结合第一方面,在第一方面的第四种可能的实现方式中,在所述当所述异构硬件运行所述程序过程中调用目标数据时,向所述Host发送数据请求之前,所述方法还包括:
[0023]为所述地址信息添加标识,所述标识表示所述地址信息为所述数据在所述Host中存储的地址信息。
[0024]第二方面,本发明的实施例提供一种异构硬件中大数据处理的装置,包括:
[0025]接收单元,用于接收所述Host发送的程序和地址信息,所述程序为在异构硬件上运行的程序,所述地址信息为源数据在所述Host中存储的地址信息,所述源数据为所述异构硬件上运行所述程序所需的数据;
[0026]建立单元,用于建立本地存储所述源数据的虚拟地址与所述地址信息的映射关系;
[0027]请求单元,用于当所述异构硬件运行所述程序过程中调用目标数据时,向所述Host发送目标数据请求,所述目标数据请求携带所述目标数据的地址信息,以便于所述Host根据所述目标数据的地址信息查找所述目标数据,所述目标数据的地址信息为所述异构硬件根据所述映射关系和所述目标数据的虚拟地址确定,所述目标数据属于所述源数据;
[0028]使用单元,用于在接收所述Host回复的目标数据后,使用所述目标数据运行所述程序。
[0029]结合第二方面,在第二方面的第一种可能的实现方式中,当所述源数据存储于所述Host的内存时,所述地址信息为所述Host存储所述源数据的物理地址;
[0030]当所述源数据存储于所述Host的磁盘时,所述地址信息为所述Host存储所述源数据的虚拟地址。
[0031]结合第二方面,在第二方面的第二种可能的实现方式中,所述装置还包括:
[0032]存储单元,用于将所述目标数据存储在所述异构硬件的内存中;
[0033]修改单元,用于将本地存储所述目标数据的虚拟地址与所述目标数据的地址信息之间的映射关系修改为本地存储所述目标数据的虚拟地址与所述目标数据在所述异构硬件内存中物理地址之间的映射关系。
[0034]结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述接收单元还用于接收所述Host回复的所述目标数据在所述Host的内存中存储的物理地址,所述物理地址为所述Host从磁盘中调取所述目标数据后存储在所述Host的内存中的物理地址;
[0035]所述修改单元还用于将本地存储所述目标数据的虚拟地址与所述目标数据的地址信息之间的映射关系修改为本地存储所述目标数据的虚拟地址与在所述Host的内存中存储的物理地址之间的映射关系;
[0036]所述请求单元还用于向所述Host发送部分目标数据请求,所述部分目标数据请求携带部分目标数据在所述Host的内存中存储的物理地址,以便于所述Host根据所述部分目标数据在所述Host的内存中存储的物理地址查找所述部分目标数据;
[0037]所述使用单元还用于在接收所述Host回复的部分目标数据后,使用所述部分目标数据运行所述程序。
[0038]结合第二方面,在第二方面的第四种可能的实现方式中,所述装置还包括:
[0039]添加单元,用于为所述地址信息添加标识,所述标识表示所述地址信息为所述数据在所述Host中存储的地址信息。
[0040]本发明实施例提供的一种异构硬件中大数据处理的方法及装置,本发明中异构硬件接收主机Host发送的要运行的程序和程序运行所需源数据在Host中存储的地址信息,地址信息为源数据存储的地址信息;建立本地存储源数据的虚拟地址与地址信息的映射关系;当异构硬件运行程序过程中调用源数据中的目标数据时,异构硬件根据映射关系和目标数据的虚拟地址确定目标数据的地址信息,并向Host发送携带目标数据地址信息的数据请求,以便于Host根据目标数据的地址信息查找目标数据;在接收Host回复的目标数据后,使用目标数据运行程序。如此,当异构硬件处理大数据应用时,不需要将数据载入异构硬件的内存,只需要载入数据在Host中存储的地址信息,同时建立数据在本地虚拟地址与地址信息的映射,当异构硬件在运行程序的过程中需要调用数据时,可以通过本地虚拟地址和映射确定数据在Host中存储的地址信息,然后向Host发送携带地址信息的请求,在Host返回数据后,使用数据继续运行程序,既可以避
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1