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

文档序号:9865415阅读:来源:国知局
需要说明的是,执行完此步骤后,执行步骤214。
[0081]212, Host向异构硬件返回其请求的数据,并释放该数据占用的内存。
[0082]213、异构硬件存储接收Host返回的数据,并修改本地页表。
[0083]其中,异构硬件接收Host返回的数据后,将数据存储在本地的内存中,并将本地页表中数据的存储地址修改为本地内存中的地址,取消标识。
[0084]214、异构硬件使用调用的数据继续执行程序。
[0085]现有技术中,异构硬件处理这种大数据应用时,将数据分批载入到异构硬件内存,会使载入的数据与程序运行所需的数据不一致,如此,不仅占用异构硬件的内存,还会影响到程序的正常运行。与现有技术相比,本发明中当异构硬件处理大数据应用时,不需要将数据载入异构硬件的内存,只需要载入数据在Host中存储的地址信息,同时建立数据在本地虚拟地址与地址信息的映射,当异构硬件在运行程序的过程中需要调用数据时,可以通过本地虚拟地址和映射确定数据在Host中存储的地址信息,然后向Host发送携带地址信息的请求,在Host返回数据后,使用数据继续运行程序,既可以避免多余数据载入异构硬件,浪费异构硬件的内存,又不影响程序的正常运行。
[0086]本发明又一实施例提供一种异构硬件中大数据处理的方法,用于异构硬件处理大数据的场景,异构硬件与Host通过PC1-E互联,大数据由映射虚拟内存页_ap映射的磁盘文件,大数据即为源数据,即该数据在Host中只有虚拟地址,不存储在Host内存里,而是存储在磁盘文件中,如图3所示,所述方法包括:
[0087]301、Host调用mmap映射文件,通过页表建立Host中存储数据的虚拟地址到磁盘文件中存储数据的物理地址的映射关系。
[0088]其中,页表中记录Host中存储数据的虚拟地址到磁盘文件中存储数据的物理地址的映射关系。
[0089]302、Host将程序和页表发送到异构硬件。
[0090]其中,Host将需要在异构硬件上运行的程序和页表送到异构硬件,异构硬件接收程序后确定其要执行的任务,接收页表后,可以通过页表获取数据。
[0091]303、异构硬件接收到程序后创建任务。
[0092]304、异构硬件接收到页表后将页表中的虚拟地址添加到异构硬件的本地页表。
[0093]其中,异构硬件接收到Host的页表后,根据Host的页表修改本地页表,在本地页表中建立本地存储数据的虚拟地址与Host中存储数据的虚拟地址的映射关系。
[0094]305、异构硬件为页表中的Host中存储数据的虚拟地址添加标识。
[0095]其中,标识表示此虚拟地址为Host上的某进程的虚拟地址,与虚拟地址对应的物理地址为Host的磁盘上。
[0096]306、当异构硬件运行程序过程中需要调用数据时,判断该数据是否存储于异构硬件的内存,若该数据存储于异构硬件的内存,则从内存中获取数据,执行步骤313 ;当该数据不存储于异构硬件的内存,则执行步骤307。
[0097]其中,异构硬件通过判断本地页表中的地址标识,可以得知该数据是否存在于异构硬件的物理内存中。
[0098]307、异构硬件产生中断,向Host发送数据请求。
[0099]其中,异构硬件可以根据从本地页表记录的映射关系,获得该数据在Host中存储数据的虚拟地址,在向Host发送数据请求时,携带获得的该数据在Host中存储数据的虚拟地址。
[0100]308、Host根据存储数据的虚拟地址和mmap映射文件,将异构硬件请求的数据从磁盘调入并存储到内存中。
[0101]309、Host在维护锁状态的状态表中添加该数据的状态。
[0102]其中,数据存储到内存后,将其锁状态添加在维护锁状态的状态表中。若不存在维护锁状态的状态表则新建状态表来维护该数据的锁状态。
[0103]310、Host向异构硬件返回数据在Host内存中存储的物理地址。
[0104]311、异构硬件根据数据在Host内存中存储的物理地址修改本地页表。
[0105]其中,异构硬件接收到数据在Host内存中存储的物理地址后,将本地页表中数据的虚拟地址对应的地址修改为Host内存中存储的物理地址。
[0106]312、异构硬件根据数据在Host内存中存储的物理地址调取数据。
[0107]其中,异构硬件根据数据在Host内存中存储的物理地址调取数据的过程与图2所示实施例的步骤207至步骤212过程相同,在此不再赘述。
[0108]需要说明的是,此步骤中异构硬件调取的数据可以是步骤307中异构硬件请求数据的全部,也可以是步骤307中异构硬件请求数据的一部分。
[0109]313、异构硬件使用调用的数据继续执行程序。
[0110]需要说明的是,异构硬件处理大数据的场景,大数据还可以部分存储于Host的内存中,部分存储于Host的磁盘中,此种情况下,异构硬件将图2所示数据处理流程与图3所示的数据处理流程结合。还可以在Host向异构硬件发送程序之前将磁盘中的数据调入内存中存储,然后直接执行图2所示的数据处理流程,从而节省异构硬件从Host的磁盘调用数据的时间。
[0111]现有技术中,异构硬件处理这种大数据应用时,将数据分批载入到异构硬件内存,会使载入的数据与程序运行所需的数据不一致,如此,不仅占用异构硬件的内存,还会影响到程序的正常运行。与现有技术相比,本发明中当异构硬件处理大数据应用时,不需要将数据载入异构硬件的内存,只需要载入数据在Host中存储的地址信息,同时建立数据在本地虚拟地址与地址信息的映射,当异构硬件在运行程序的过程中需要调用数据时,可以通过本地虚拟地址和映射确定数据在Host中存储的地址信息,然后向Host发送携带地址信息的请求,在Host返回数据后,使用数据继续运行程序,既可以避免多余数据载入异构硬件,浪费异构硬件的内存,又不影响程序的正常运行。
[0112]本发明又一实施例提供一种异构硬件中大数据处理的装置40,如图4所示,所述装置40包括:
[0113]接收单元41,用于接收所述Host发送的程序和地址信息,所述程序为在异构硬件上运行的程序,所述地址信息为源数据在所述Host中存储的地址信息,所述源数据为所述异构硬件上运行所述程序所需的数据;
[0114]建立单元42,用于建立本地存储所述源数据的虚拟地址与所述地址信息的映射关系;
[0115]请求单元43,用于当所述异构硬件运行所述程序过程中调用目标数据时,向所述Host发送目标数据请求,所述目标数据请求携带所述目标数据的地址信息,以便于所述Host根据所述目标数据的地址信息查找所述目标数据,所述目标数据的地址信息为所述异构硬件根据所述映射关系和所述目标数据的虚拟地址确定,所述目标数据属于所述源数据;
[0116]使用单元44,用于在接收所述Host回复的目标数据后,使用所述目标数据运行所述程序。
[0117]其中,当所述源数据存储于所述Host的内存时,所述地址信息为所述Host存储所述源数据的物理地址;当所述源数据存储于所述Host的磁盘时,所述地址信息为所述Host存储所述源数据的虚拟地址。
[0118]进一步的,如图5所示,所述装置40还可以包括:
[0119]存储单元45,用于将所述目标数据存储在所述异构硬件的内存中;
[0120]修改单元46,用于将本地存储所述目标数据的虚拟地址与所述目标数据的地址信息之间的映射关系修改为本地存储所述目标数据的虚拟地址与所述目标数据在所述异构硬件内存中物理地址之间的映射关系。
[0121]进一步的,如图5所示,所述接收单元41还用于接收所述Host回复的所述目标数据在所述Host的内存中存储的物理地址,所述物理地址为所述Host从磁盘中调取所述目标数据后存储在所述Host的内存中的物理地址;
[0122]所述修改单元46还用于将本地存储所述目标数据的虚拟地址与所述目标数据的地址信息之间的映射关系修改为本地存储所述目标数据的虚拟地址与在所述Host的内存中存储的物理地址之间的映射关系;
[0123]所述请求单元43还用于向所述Host发送部分目标数据请求,所述部分目标数据请求携带部分目标数据在所述Host的内存中存储的物理地址,以便于所述Host根据所述部分目标数据在所述Host的内存中存储的物理地址查找所述部分目标数据;
[0124]所述使用单元44还用于在接收所述Host回复的部分目标数据后,使用所述部分目标数据运行所述程序。
[0125]进一步的,如图5所示,所述装置40还可以包括:
[0126]添加单元47,用于为所述地址信息添加标识,所述标识表示所述地址信息为所述数据在所述Host中存储的地址信息。
[
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1