计算;推算;计数设备的制造及其应用技术1.本发明涉及计算机的技术领域,具体涉及一种节点内异构设备的管理方法、系统及存储介质。背景技术:2.目前,数据中心为提高其计算密度引入了不同于cpu的异构计算设备如 gpu(graphics processing unit,图形处理器)、fpga(field programmable gatearray,现场可编程逻辑门列)以及专用领域加速器等。因为这些异构计算设备的虚拟化技术还不完善,通常这些设备都是以透传形式给到虚拟机供云用户使用。尽管透传形式保证了异构设备在虚拟机内的可用性和高性能,但其扩展性能差和利用率比较低。因为在虚拟机生命周期内,被透传的异构设备只能由此虚拟机独占,不能被其他虚拟机所使用,即便在此期间异构设备存在空闲的情况。3.现有技术中,提出了一种异构设备不与虚拟机绑定的方案,即基于设备热插拔机制,被透传给虚拟机的异构设备在被主机强制回收,若有其他虚拟机请求异构设备,此时主机可以把回收的异构设备透传给它,实现了异构设备在多虚拟机间复用。此方案仅是描述了单设备可被多虚拟机共享复用的机制而且,通常在一个节点内存在多个异构设备。在多个异构设备情况下,异构设备被使用完后就被立即强制回收就存在不合理的地方,因为可能还存在其他空闲设备,另外只要虚拟机没终止其中的异构设备较大可能还会被再次访问,而回收和透传都需要耗费一定的时间,不利于资源的高效管理。技术实现要素:4.为了解决上述背景技术中提到的至少一个问题,本发明提供了种节点内异构设备的管理方法、系统及存储介质,对在虚拟机中使用完毕的设备,不立即回收,而是根据节点内资源和请求情况,延缓回收时间,避免了不合理的回收操作,存在多个可选的设备进行回收时,选择未使用时间最长的设备进行回收,实现对节点内异构设备的合理利用。5.本发明实施例提供的具体技术方案如下:6.第一方面,提供一种节点内异构设备的管理方法,所述方法包括:7.接收至少一个异构设备的使用完成信息;8.根据所述使用完成信息,确定等待队列是否存在虚拟机异构设备请求;9.根据所述等待队列不存在虚拟机异构设备请求,将使用完成的所述异构设备标记为睡眠状态设备;10.接收新的虚拟机异构设备请求,并根据所述新的虚拟机异构设备请求回收所述睡眠状态设备。11.进一步的,所述方法还包括:12.若不存在所述睡眠状态设备,则添加所述新的虚拟机异构设备请求进入所述等待队列。13.进一步的,还包括:14.若所述等待队列存在虚拟机异构设备请求,则回收使用完成的异构设备;15.分配所述使用完成的异构设备服务于所述虚拟机异构设备请求对应的虚拟机。16.进一步的,所述分配所述使用完成的异构设备服务于所述虚拟机异构设备请求对应的虚拟机,具体包括:17.查询最先进入所述等待队列的虚拟机异构设备请求对应的第一虚拟机;18.分配所述使用完成的异构设备服务于所述第一虚拟机。19.进一步的,根据所述新的虚拟机异构设备请求回收所述睡眠状态设备之前,包括:20.根据所述新的虚拟机异构设备请求查询是否存在空闲异构设备;21.若存在,则分配所述空闲异构设备服务于所述新的虚拟机异构设备请求对应的虚拟机;22.若不存在所述空闲异构设备,则回收所述睡眠状态设备。23.进一步的,当所述将使用完成的所述异构设备标记为睡眠状态设备时,记录睡眠状态时刻。24.进一步的,所述根据所述新的虚拟机异构设备请求回收所述睡眠状态设备,具体包括:25.若存在多个睡眠状态设备,则比较所述多个睡眠状态设备的睡眠状态时刻;26.将睡眠状态时刻最长的异构设备回收。27.第二方面,提供一种节点内异构设备的管理系统,所述系统包括:28.接收模块,所述接收模块用于接收至少一个所述异构设备的使用完成信息;29.判定模块,所述判定模块用于根据所述使用完成信息,确定等待队列是否存在虚拟机异构设备请求;30.设置模块,所述设置模块用于根据所述等待队列不存在虚拟机异构设备请求,将使用完成的所述异构设备标记为睡眠状态设备;31.处理模块,所述处理模块用于接收新的虚拟机异构设备请求,并根据所述新的虚拟机异构设备请求回收所述睡眠状态设备。32.第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:33.接收至少一个异构设备的使用完成信息;34.根据所述使用完成信息,确定等待队列是否存在虚拟机异构设备请求;35.若所述等待队列不存在虚拟机异构设备请求,将使用完成的所述异构设备标记为睡眠状态设备;36.接收新的虚拟机异构设备请求,并根据所述新的虚拟机异构设备请求回收所述睡眠状态设备。37.第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:38.接收至少一个异构设备的使用完成信息;39.根据所述使用完成信息,确定等待队列是否存在虚拟机异构设备请求;40.若所述等待队列不存在虚拟机异构设备请求,将使用完成的所述异构设备标记为睡眠状态设备;41.接收新的虚拟机异构设备请求,并根据所述新的虚拟机异构设备请求回收所述睡眠状态设备。42.本发明实施例具有如下有益效果:43.1.本发明中的异构设备在使用完成之后,通过判定等待队列中是否存在虚拟机异构设备请求,然后将使用完成的异构设备标记为睡眠状态设备;当接收到新的虚拟机异构设备请求时,将处于睡眠状态的设备回收,并分配给新的虚拟机异构设备请求以供新的虚拟机异构设备请求对应的虚拟机进行使用,这种在虚拟机中使用完毕的设备,延缓回收的方式,避免了不合理的回收导致时间的浪费,同时选择睡眠状态设备睡眠时间最长的设备进行回收,实现对节点内异构设备的合理利用;44.2.在判定等待队列中,若等待队列存在虚拟机异构设备请求,则回收使用完成的异构设备,并分配使用完成的异构设备服务于虚拟机异构设备请求对应的设备,确保在有设备请求时,能够及时分配异构设备以供其使用;45.3.在根据新的虚拟机异构设备请求回收睡眠状态设备之前,先查询是否存在空闲异构设备,若存在空闲设备,则分配空闲设备服务于新的虚拟机异构设备请求对应的设备;若不存在空闲设备,则回收睡眠状态设备并分配回收的设备服务于新的虚拟机异构设备请求对应的设备。附图说明46.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。47.图1是用于体现本技术中的管理方法的示意图;48.图2是用于体现本技术中的管理方法的具体流程示意图;49.图3是用于体现本技术中的计算机设备的内部结构的示意图。具体实施方式50.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。51.目前,数据中心为提高其计算密度引入了不同于cpu的异构计算设备如 gpu(graphics processing unit,图形处理器)、fpga(field programmable gatearray,现场可编程逻辑门列)以及专用领域加速器等。因为这些异构计算设备的虚拟化技术还不完善,通常这些设备都是以透传形式给到虚拟机供云用户使用。尽管透传形式保证了异构设备在虚拟机内的可用性和高性能,但其扩展性能差和利用率比较低。因为在虚拟机生命周期内,被透传的异构设备只能由此虚拟机独占,不能被其他虚拟机所使用,即便在此期间异构设备存在空闲的情况。现有技术中,提出了一种异构设备不与虚拟机绑定的方案,即基于设备热插拔机制,被透传给虚拟机的异构设备在被主机强制回收,若有其他虚拟机请求异构设备,此时主机可以把回收的异构设备透传给它,实现了异构设备在多虚拟机间复用。此方案仅是描述了单设备可被多虚拟机共享复用的机制而且,通常在一个节点内存在多个异构设备。在多个异构设备情况下,异构设备被使用完后就被立即强制回收就存在不合理的地方,因为可能还存在其他空闲设备,另外只要虚拟机没终止其中的异构设备较大可能还会被再次访问,而回收和透传都需要耗费一定的时间,不利于资源的高效管理。基于以上问题,本技术提出了一种节点内异构设备的管理方法、系统及存储介质,以实现节点内资源的合理使用。52.实施例一53.一种节点内异构设备的管理方法,如图1所示,包括如下步骤:54.步骤s1:接收至少一个异构设备的使用完成信息,并根据所述使用完成信息,确定等待队列是否存在虚拟机异构设备请求。55.在一个节点内存在多个异构设备,其中异构设备具体为gpu、fpga以及专用领域的加速器等等,异构设备用于与虚拟机配合使用,这些异构设备通过透传的形式给到虚拟机,以供云用户使用。但是在虚拟机的生命周期内,被透传的异构设备由此虚拟机独占,不能被其他虚拟机使用,即使在此期间内异构设备存在空闲的情况。因此,本技术中的当一个异构设备在使用完成后会发出使用完成信息,主机接收来自异构设备的使用完成信息,然后主机查看等待队列中是否存在正在等待的虚拟机异构设备请求,得到确定不存在虚拟机异构设备请求的结果。56.此时,若等待队列中存在虚拟机异构设备请求,则立即回收使用完成的异构设备,并分配使用完成的异构设备服务于虚拟机异构设备请求对应的虚拟机。由于设备请求进入到等待队列后,若此时等待队列中仅有一个虚拟机异构设备请求,则无需进行选择,主机直接将使用完成的异构设备分配给仅有的一个虚拟机异构设备请求。若此时等待队列中存在有至少两个虚拟机异构设备请求,则将虚拟机异构设备请求按照进入等待队列的先后的顺序进行排列,当主机对等待队列进行查询时,查询到最先进入等待队列的虚拟机异构设备请求对应的第一虚拟机,主机分配使用完成的异构设备服务于第一虚拟机,以使得异构设备配合虚拟机使用。57.步骤s2:若等待队列不存在虚拟机异构设备请求,将使用完成的所述异构设备标记为睡眠状态设备。58.根据等待队列不存在虚拟机异构设备请求,此时不立即回收使用完成的异构设备,而是将使用完成的异构设备标记睡眠状态设备,即将此异构设备标记为睡眠(sleep)状态,睡眠状态表示该异构设备没有被使用,需要时可回收,以避免不合理的回收操作。而且,在将使用完成的异构设备标记为睡眠状态设备的同时,记录该睡眠状态设备的睡眠状态时刻,便于后续计算此睡眠状态设备的睡眠时间。59.步骤s3:接收新的虚拟机异构设备请求,并根据新的虚拟机异构设备请求回收睡眠状态设备。60.当虚拟机需要申请一个设备时,首先发送一个新的虚拟机异构设备请求。首先,主机基于新的虚拟机异构设备请求查询是否存在空闲异构设备,其中空闲异构设备为看空闲(idle)状态;若存在空闲异构设备,则分配空闲异构设备服务于新的虚拟机异构设备请求对应的虚拟机,若不存在空闲异构设备,则回收睡眠状态设备并分配于新的虚拟机异构设备请求。61.具体的,若仅存在一个睡眠状态设备,则主机直接回收此睡眠状态设备,并分配此设备给新的虚拟机异构设备请求对应的虚拟机。若存在多个睡眠状态设备,则比较多个睡眠状态设备的睡眠状态时刻,查询睡眠时间最长的睡眠状态设备,然后回收睡眠时间最长的睡眠状态设备,以供新的虚拟机异构设备请求对应的虚拟机使用。62.除此之外,若此时不存在睡眠状态设备,则表明此时所有的异构设备都处于工作(working)状态,无法将异构设备回收,需要将新的虚拟机异构设备请求添加到等待队列中,直到出现空闲设备或者睡眠状态设备时再进行分配。63.通过以上管理方法,使得通过透传形式给到虚拟机使用异构设备,在使用完之后,并不立即回收,而是主机将其标记为睡眠状态,表示该异构设备没有被使用,可以在需要时进行回收,以避免不合理的回收和透传导致时间的浪费本技术中的异构设备在使用完成之后,通过判定等待队列中不存在虚拟机异构设备请求,然后将使用完成的异构设备标记为睡眠状态设备;当接收到新的虚拟机异构设备请求时,将处于睡眠状态的设备回收,并分配给新的虚拟机异构设备请求以供新的虚拟机异构设备请求对应的设备进行使用,这种在虚拟机中使用完毕的设备,延缓回收的方式,避免了不合理的回收导致时间的浪费,同时选择睡眠状态设备睡眠时间最长的设备进行回收,实现对节点内异构设备的合理利用。64.实施例二65.对应上述实施例,本技术提供了一种节点内异构设备的管理系统,所述系统包括:66.接收模块,接收模块用于接收至少一个异构设备的使用完成信息;67.判定模块,判定模块用于根据使用完成信息,确定等待队列是否存在虚拟机异构设备请求;68.设置模块,设置模块用于根据等待队列不存在虚拟机异构设备请求,将使用完成的异构设备标记为睡眠状态设备;69.处理模块,处理模块用于接收新的虚拟机异构设备请求,并根据新的虚拟机异构设备请求回收睡眠状态设备。70.在一个较佳的实施例中,判定模块还用于在等待队列存在虚拟机异构设备请求时候,回收使用完成的异构设备,并分配使用完成的异构设备服务于虚拟机异构设备请求对应的虚拟机。具体的,则立即回收使用完成的异构设备,并分配使用完成的异构设备服务于虚拟机异构设备请求对应的虚拟机。由于设备请求进入到等待队列后,若此时等待队列中仅有一个虚拟机异构设备请求,则无需进行选择,主机直接将使用完成的异构设备分配给仅有的一个虚拟机异构设备请求。若此时等待队列中存在有至少两个虚拟机异构设备请求,则将虚拟机异构设备请求按照进入等待队列的先后的顺序进行排列,当主机对等待队列进行查询时,查询到最先进入等待队列的虚拟机异构设备请求对应的第一虚拟机,主机分配使用完成的异构设备服务于第一虚拟机,以使得异构设备配合虚拟机使用。71.在一个较佳的实施例中,处理模块还用于接收新的虚拟机异构设备请求,并查询是否存在空闲异构设备,其中空闲异构设备为看空闲(idle)状态;若存在空闲异构设备,则分配空闲异构设备服务于新的虚拟机异构设备请求对应的设备,若不存在空闲异构设备,则回收睡眠状态设备并分配于新的虚拟机异构设备请求对应的虚拟机。72.具体的,若仅存在一个睡眠状态设备,则主机直接回收此睡眠状态设备,并分配此设备给新的虚拟机异构设备请求对应的虚拟机。若存在多个睡眠状态设备,则比较多个睡眠状态设备的睡眠状态时刻,查询睡眠时间最长的睡眠状态设备,然后回收睡眠时间最长的睡眠状态设备,以供新的虚拟机异构设备请求对应的虚拟机使用。73.在一个较佳的实施例中,处理模块还用于在不存在睡眠状态设备时,则添加新的虚拟机异构设备请求进入等待队列。则表明此时所有的异构设备都处于工作(working)状态,无法将异构设备回收,需要将新的虚拟机异构设备请求添加到等待队列中,直到出现空闲设备或者睡眠状态设备时再进行分配。74.通过本实施例中的管理系统,使得通过透传形式给到虚拟机使用异构设备,在使用完之后,并不立即回收,而是主机将其标记为睡眠状态,表示该异构设备没有被使用,可以在需要时进行回收,以避免不合理的回收和透传导致时间的浪费。75.实施例三76.提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:77.步骤101:接收至少一个异构设备的使用完成信息;78.步骤102:根据使用完成信息,确定等待队列是否存在虚拟机异构设备请求;79.步骤103:若等待队列不存在虚拟机异构设备请求,将使用完成的异构设备标记为睡眠状态设备;80.步骤104:接收新的虚拟机异构设备请求,并根据新的虚拟机异构设备请求回收睡眠状态设备。81.在一个较佳的实施例中,步骤102中还包括,在等待队列存在虚拟机异构设备请求时候,回收使用完成的异构设备,并分配使用完成的异构设备服务于虚拟机异构设备请求对应的虚拟机。具体的,则立即回收使用完成的异构设备,并分配使用完成的异构设备服务于虚拟机异构设备请求对应的虚拟机。由于设备请求进入到等待队列后,若此时等待队列中仅有一个虚拟机异构设备请求,则无需进行选择,主机直接将使用完成的异构设备分配给仅有的一个虚拟机异构设备请求。若此时等待队列中存在有至少两个虚拟机异构设备请求,则将虚拟机异构设备请求按照进入等待队列的先后的顺序进行排列,当主机对等待队列进行查询时,查询到最先进入等待队列的虚拟机异构设备请求对应的第一虚拟机,主机分配使用完成的异构设备服务于第一虚拟机,以使得异构设备配合虚拟机使用。82.在一个较佳的实施例中,步骤103还包括,等待队列不存在虚拟机异构设备请求,此时不立即回收使用完成的异构设备,而是将使用完成的异构设备标记睡眠状态设备,即将此异构设备标记为睡眠(sleep)状态,睡眠状态表示该异构设备没有被使用,需要时可回收,以避免不合理的回收操作。而且,在将使用完成的异构设备标记为睡眠状态设备的同时,记录该睡眠状态设备的睡眠状态时刻,便于后续计算此睡眠状态设备的睡眠时间。83.在一个较佳的实施例中,步骤104还包括,主机基于新的虚拟机异构设备请求查询是否存在空闲异构设备,其中空闲异构设备为看空闲(idle)状态;若存在空闲异构设备,则分配空闲异构设备服务于新的虚拟机异构设备请求对应的虚拟机,若不存在空闲异构设备,则回收睡眠状态设备并分配于新的虚拟机异构设备请求。84.具体的,若仅存在一个睡眠状态设备,则主机直接回收此睡眠状态设备,并分配此设备给新的虚拟机异构设备请求对应的设备。若存在多个睡眠状态设备,则比较多个睡眠状态设备的睡眠状态时刻,查询睡眠时间最长的睡眠状态设备,然后回收睡眠时间最长的睡眠状态设备,以供新的虚拟机异构设备请求对应的虚拟机使用。85.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储标记为睡眠状态设备的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种节点内异构设备的管理方法。86.本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。87.实施例四88.在一个本实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:89.步骤201:接收至少一个异构设备的使用完成信息,并根据所述使用完成信息,确定等待队列是否存在虚拟机异构设备请求;90.步骤202:若等待队列不存在虚拟机异构设备请求,将使用完成的所述异构设备标记为睡眠状态设备;91.步骤203:接收新的虚拟机异构设备请求,并根据新的虚拟机异构设备请求回收睡眠状态设备。92.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram (esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus) 直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。93.尽管已描述了本发明实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例中范围的所有变更和修改。94.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
一种节点内异构设备的管理方法、系统及存储介质与流程
作者:admin
2022-08-31 16:22:58
579
关键词:
计算;推算;计数设备的制造及其应用技术
专利技术