掌桥专利:专业的专利平台
掌桥专利
首页

一种资源分配方法、系统及设备

文献发布时间:2023-06-19 10:38:35


一种资源分配方法、系统及设备

技术领域

本申请涉及计算机技术领域,特别涉及一种资源分配方法、系统及设备。

背景技术

随着高性能计算、智能设备的发展,越来越多的计算机组件开始附加智能化的策略;同时,伴随着网络与物联网技术在智能领域的发展与延伸,外设与终端的智能化已经变得越来越普及。但是,智能化或智能计算往往要求更高的算力、存储、数据带宽等资源、以及更复杂算法与深结构模型的支持,当各个硬件组件都从自身需求的最大化出发来设计、装配这些硬软件资源时,由于整机并非时刻都会高负载运行,因此造成了整个系统中这些资源的冗余浪费,甚至会带来不同步、不协调的冲突与风险。

在传统的计算机体系结构中(如冯·诺伊曼体系结构),各个部件之间的角色划分是相对清晰的、任务分配也相对独立。比如,CPU主要用于计算,硬盘与内存担当存储载体。但是,随着计算机技术的发展,尤其是近年来人工智能技术与机器学习算法的跳跃式的进步,传统的系统结构与分配正发生着变化。比如,很多视频、音频的输入设备不仅要具备信号的捕捉功能,还要兼备部分的数据计算处理能力;又如,很多智能化任务,不仅需要消耗运算器的算力,同时还要有足够多的高带宽和存储空间的支持。

所以,随着当前技术的发展(包括高性能计算、人工智能、大数据以及网络技术等),计算机组件、外设与终端的智能化对算力、存储和带宽等要素同时提出了要求。但是,在传统的计算机体系结构下,这些需求很难被满足或是被同时满足。比如,当存储设备需要额外算力支撑时,由于各个硬件组件之间不会互借资源,那么可能出现即使CPU当前相对空闲,任务也不能被分配过去。

针对这个问题,现有技术通常采用两种做法:驱动支持,或是增加资源。图1展示了常见的计算机系统架构。

对于第一种方法,在对应的驱动程序运行时,通过向系统层发出请求与获取响应,为所驱动的硬件在主机组件或其它外设上申请所需相应的资源,如图2所示。但是,在多个执行相同或相似任务的硬件同时申请资源的情况下,很容易造成系统中同时存在多个形式相同或相似的资源副本,从而导致资源浪费和占用。并且,硬件组件申请资源后,可能不会及时释放,这也导致了资源的浪费和紧缺。

对于第二种方法,虽然免去了主机系统对于硬件资源的额外分配和管理,但是需要付出高额的资源成本;比如:一个小型数据中心配有较多硬盘,那么各个硬盘的主控算力将会有大量空闲,从而导致资源浪费。

可见,现有方案容易造成资源竞争紧缺和浪费。因此,如何避免资源竞争紧缺和浪费,是本领域技术人员需要解决的问题。

发明内容

有鉴于此,本申请的目的在于提供一种资源分配方法、系统及设备,以避免资源竞争紧缺和浪费。其具体方案如下:

第一方面,本申请提供了一种资源分配方法,包括:

获取待处理任务;

调取与所述待处理任务对应的类组件;所述类组件包括:输入及管理接口、输出及应用接口以及至少一个虚拟机,每个所述虚拟机分配有相应的虚拟资源,所述至少一个虚拟机共享所述输入及管理接口、所述输出及应用接口,以及执行所述待处理任务所需的所有数据信息;

通过所述输入及管理接口将所述待处理任务传输至所述至少一个虚拟机,以使所述至少一个虚拟机执行所述待处理任务;

若所述待处理任务执行完成,则通过所述输出及应用接口输出相应的执行结果。

优选地,还包括:

在执行所述待处理任务的过程中,若任一个目标虚拟机在预设时间段内一直处于空闲状态,则将所述目标虚拟机关机或休眠;

和/或

在执行所述待处理任务的过程中,若任一个目标虚拟机的虚拟资源不足,则为所述目标虚拟机增加所述虚拟资源。

优选地,所述数据信息包括:所述待处理任务包括的各个子任务,执行所述待处理任务所需的计算模型和数据集。

优选地,还包括:

配置每个虚拟机对应的响应等级,以根据所述响应等级暂停或启动各个虚拟机。

优选地,还包括:

配置所述类组件的访问权限,以根据所述访问权限管理所述执行结果,并对所述至少一个虚拟机进行启动或关闭操作。

优选地,所述调取与所述待处理任务对应的类组件,包括:

获取所述待处理任务的任务标签;

查询预设类组件集中的各个类组件的组件标签;

调取与所述任务标签一致的组件标签所对应的类组件。

优选地,所述虚拟资源基于目标策略和当前系统中的各个物理资源的功能进行分配;

所述目标策略包括:首选优先原则、最大满足原则、最小碎片原则和就近原则中的任意一种或组合。

第二方面,本申请提供了一种资源分配系统,包括:硬件设备层、虚拟系统层和虚拟机层,其中:

所述硬件设备层,用于提供物理资源;

所述虚拟系统层,用于将所述物理资源虚拟化为虚拟资源;

所述虚拟机层,用于获取待处理任务;调取与所述待处理任务对应的类组件;所述类组件包括:输入及管理接口、输出及应用接口以及至少一个虚拟机,每个所述虚拟机分配有相应的虚拟资源,所述至少一个虚拟机共享所述输入及管理接口、所述输出及应用接口,以及执行所述待处理任务所需的所有数据信息;通过所述输入及管理接口将所述待处理任务传输至所述至少一个虚拟机,以使所述至少一个虚拟机执行所述待处理任务;若所述待处理任务执行完成,则通过所述输出及应用接口输出相应的执行结果。

优选地,所述虚拟系统层具体用于:

基于目标策略和所述硬件设备层中的各个物理资源的功能将所述物理资源虚拟化为虚拟资源;所述目标策略包括:首选优先原则、最大满足原则、最小碎片原则和就近原则中的任意一种或组合。

第三方面,本申请提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序,以实现前述公开的资源分配方法。

通过以上方案可知,本申请提供了一种资源分配方法,包括:获取待处理任务;调取与所述待处理任务对应的类组件;所述类组件包括:输入及管理接口、输出及应用接口以及至少一个虚拟机,每个所述虚拟机分配有相应的虚拟资源,所述至少一个虚拟机共享所述输入及管理接口、所述输出及应用接口,以及执行所述待处理任务所需的所有数据信息;通过所述输入及管理接口将所述待处理任务传输至所述至少一个虚拟机,以使所述至少一个虚拟机执行所述待处理任务;若所述待处理任务执行完成,则通过所述输出及应用接口输出相应的执行结果。

可见,本申请预先创建了用于执行任务的类组件;类组件包括:输入及管理接口、输出及应用接口以及至少一个虚拟机;每个虚拟机分配有相应的虚拟资源;至少一个虚拟机共享输入及管理接口、输出及应用接口,以及执行任务所需的所有数据信息。若有需要执行的任务,则调取与待处理任务对应的类组件,并通过该类组件的输入及管理接口将待处理任务传输至该类组件中的至少一个虚拟机,使得对应虚拟机执行该任务;若待处理任务执行完成,则通过该类组件的输出及应用接口输出相应的执行结果。本申请基于虚拟机概念的类组件可使整个系统的资源被统一分配和调度,一个组件中的所有虚拟机共享任务的所有数据信息,且由于虚拟机创建时已分配好对应的虚拟资源,因此各个虚拟机不会争抢资源,不同的类组件也不会争抢资源,从而避免了资源的争抢和浪费。同时,对类组件中的各个虚拟机进行调度和管理可实现资源的灵活分配和调整,还不用增加额外的资源成本。

相应地,本申请提供的一种资源分配系统及设备,也同样具有上述技术效果。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请公开的一种现有计算机系统架构示意图;

图2为本申请公开的一种基于现有计算机系统架构申请资源的示意图;

图3为本申请公开的一种增加算力及DDR资源后的硬盘示意图;

图4为本申请公开的一种资源分配方法流程图;

图5为本申请公开的一种电子设备示意图;

图6为本申请公开的一种类组件示意图;

图7为本申请公开的一种资源分配系统示意图;

图8为本申请公开的一种虚拟接口模块的结构示意图;

图9为本申请公开的一种基于类组件和基于功能虚拟的方式申请资源的示意图;

图10为本申请公开的一种利用类组件和硬盘共同构建机器学习模块的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

现有方案容易造成资源竞争紧缺和浪费。如图2所示,系统中有两个硬盘都需要做算力要求比较高的并行计算,可以通过驱动层的支持,经过系统层向显卡发出请求,显卡通过相应驱动的支持,回应硬盘对算力的需求。不难看出,资源的分配由于竞争需要协调与调度;并且,如果两个硬盘的任务有重复部分,显卡的算力和显存都会因为任务冗余而被浪费。如图3所示,如果给硬盘中添加算力及DDR硬件资源,即:采用增加硬件的方式满足这两个硬盘的算力需求,虽然此时不再需要申请资源,但当前任务完成后,新增的硬件可能就会空闲,因此资源冗余较大。可见,现有技术中存在资源竞争、浪费,难以灵活分配与调整,成本较高等诸多问题。

为此,本申请提供了一种资源分配方案,既能满足组件、外设、终端等对算力、存储、数据带宽等资源日益增长的需求,又能避免任务的冗余、资源的竞争、成本的浪费等问题,并能够对其响应等级、权限设置等实现灵活的管理与调度。

参见图4所示,本申请实施例公开了一种资源分配方法,包括:

S401、获取待处理任务。

其中,待处理任务可以是任意任务,如:计算IO速率的任务,评估图像质量的任务,预测天气预报的任务,股票报价信息资源的任务,搜索查询结果资源的任务,其它使用资源的访问的任务等。

S402、调取与待处理任务对应的类组件。

本实施例预先将当前系统中的各个物理资源进行虚拟化,并创建了多个类组件。每个类组件与一类任务相对应。其中,本实施例基于目标策略和当前系统中的各个物理资源的功能对系统物理资源进行虚拟化;目标策略包括:首选优先原则、最大满足原则、最小碎片原则和就近原则中的任意一种或组合。

例如:创建了与计算IO速率的任务对应的第一类组件,与评估图像质量的任务对应的第二类组件,与预测天气预报的任务对应的第三类组件等,同时给各个类组件标注相应的组件标签,以便在获取到任务后,为任务选择对应的类组件。在一种具体实施方式中,调取与待处理任务对应的类组件,包括:获取待处理任务的任务标签;查询预设类组件集中的各个类组件的组件标签;调取与任务标签一致的组件标签所对应的类组件。

每个类组件均包括:输入及管理接口、输出及应用接口以及至少一个虚拟机。一个类组件中的所有虚拟机分配有相应的虚拟资源,且所有虚拟机共享该类组件中的输入及管理接口和输出及应用接口,在执行任务时,一个类组件中的所有虚拟机共享当前任务所需的所有数据信息。数据信息包括:待处理任务包括的各个子任务,执行待处理任务所需的计算模型和数据集。

S403、通过类组件的输入及管理接口将待处理任务传输至类组件中的至少一个虚拟机,以使至少一个虚拟机执行待处理任务。

S404、若待处理任务执行完成,则通过类组件的输出及应用接口输出相应的执行结果。

在一种具体实施方式中,在执行待处理任务的过程中,若任一个目标虚拟机(当前类组件中的任一个虚拟机)在预设时间段内一直处于空闲状态,则将目标虚拟机关机或休眠。也就是:某一个虚拟机长时间空闲时,认为该虚拟机可以暂时释放相应资源,以实现资源的灵活调度。

在一种具体实施方式中,在执行待处理任务的过程中,若任一个目标虚拟机(当前类组件中的任一个虚拟机)的虚拟资源不足,则为目标虚拟机增加虚拟资源。也就是:某一个虚拟机在创建时所分配的虚拟资源不够时,可以再为该虚拟机分配一些虚拟资源,以实现资源的灵活分配。虚拟资源基于目标策略和当前系统中的各个物理资源的功能进行分配;可以理解的,这边的各个物理资源的功能包括物理资源的多个功能,如存储器既具有存储功能,又具有DDR缓存功能,则该存储功能和DDR缓存功能均可以进行分配。目标策略包括:首选优先原则、最大满足原则、最小碎片原则和就近原则中的任意一种或组合。

其中,首选优先原则即:当分配某一资源时,首先从该资源的主要提供者中选择并分配。例如:需要虚拟内存,首先从物理内存(如独立的内存条等)中选择并分配虚拟内存,而不分配存储器中的缓存或显卡中的显存。这样可简化分配,避免资源浪费。

最大满足原则即:当分配某一资源时,首先从能够满足该需求的、且具有最大资源量的资源提供者中选择并分配。例如:一个SSD有200GB空间,另一个100GB空间,如果需要申请一个120GB的虚拟硬盘,优先从第一个SSD分配。这样可将同一文件存储在同一SSD中,并可在同一SSD中对同一文件进行管理,方便文件的存储和后续管理。

最小碎片原则即:当分配某一资源时,避免产生碎片,如无法避免产生碎片,则要避免造成较大碎片。例如:一个SSD有200GB空间,另一个128GB空间,现申请一个120GB的虚拟硬盘。如果从第一个SSD分配,会剩余80GB空闲。如果从第二个SSD分配,会剩余8GB空闲,那么优先从第二个SSD分配。再例如:第一个SSD有50GB空间,第二个SSD有60GB空间,第三个SSD有50GB空间,现申请一个100GB的虚拟硬盘。如果分配第一个和第二个SSD,或分配第二个和第三个SSD,均会剩余10GB空闲,造成碎片,因此,优先分配第一个SSD和第三个SSD,无剩余空闲,不会造成碎片。

就近原则即:当分配某一资源时,从距离已有资源最近的资源提供者中选择并分配,以便满足传输上的就近原则。例如:一台虚拟机申请了显卡的算力做计算,现在又需要申请缓存,那么优先从显卡的显存中分配缓存,使得数据处理直接在显卡内部完成,无需显卡外的其他总线承担数据传输任务,以减轻总线负载,有效减少数据传输延时。

为了合理调度类组件中的虚拟机,可以给虚拟机配置响应等级,以便在配置每个虚拟机对应的响应等级后,根据响应等级暂停或启动各个虚拟机。例如:设置某些类组件中的某些虚拟机保持永久在线状态。而对于某些类组件中的某些虚拟机,可以在系统某种资源发生紧张时使其暂时停止运行。

当然,还可以给各个类组件配置访问权限,以便在配置类组件的访问权限后,根据访问权限管理执行结果,并对至少一个虚拟机进行启动或关闭操作。例如:只拥有系统管理权限时,才能对某些类组件中的虚拟机进行启动或关闭操作,当仅拥有只读权限时,只能单向接收类组件对应的输出信息。访问权限指:系统中的主机对类组件的访问权限。该访问可以由系统中的硬件设备、虚拟机系统、其它类组件或虚拟机发起。

可见,本申请实施例预先创建了用于执行任务的类组件;类组件包括:输入及管理接口、输出及应用接口以及至少一个虚拟机;每个虚拟机分配有相应的虚拟资源;至少一个虚拟机共享输入及管理接口、输出及应用接口,以及执行任务所需的所有数据信息。若有需要执行的任务,则调取与待处理任务对应的类组件,并通过该类组件的输入及管理接口将待处理任务传输至该类组件中的至少一个虚拟机,使得对应虚拟机执行该任务;若待处理任务执行完成,则通过该类组件的输出及应用接口输出相应的执行结果。本申请基于虚拟机概念的类组件可使整个系统的资源被统一分配和调度,一个组件中的所有虚拟机共享任务的所有数据信息,且由于虚拟机创建时已分配好对应的虚拟资源,因此各个虚拟机不会争抢资源,不同的类组件也不会争抢资源,从而避免了资源的争抢和浪费。同时,对类组件中的各个虚拟机进行调度和管理可实现资源的灵活分配和调整,还不用增加额外的资源成本。

下面对本申请实施例提供的一种资源分配系统进行介绍,下文描述的一种资源分配系统与上文描述的一种资源分配方法可以相互参照。

本申请实施例公开了一种资源分配系统,包括:硬件设备层、虚拟系统层和虚拟机层,其中:

硬件设备层,用于提供物理资源;

虚拟系统层,用于将物理资源虚拟化为虚拟资源;

虚拟机层,用于获取待处理任务;调取与待处理任务对应的类组件;类组件包括:输入及管理接口、输出及应用接口以及至少一个虚拟机,每个虚拟机分配有相应的虚拟资源,至少一个虚拟机共享输入及管理接口、输出及应用接口,以及执行待处理任务所需的所有数据信息;通过输入及管理接口将待处理任务传输至至少一个虚拟机,以使至少一个虚拟机执行待处理任务;若待处理任务执行完成,则通过输出及应用接口输出相应的执行结果。

在一种具体实施方式中,虚拟系统层具体用于:基于目标策略和硬件设备层中的各个物理资源的功能将物理资源虚拟化为虚拟资源;目标策略包括:首选优先原则、最大满足原则、最小碎片原则和就近原则中的任意一种或组合。

在一种具体实施方式中,虚拟机层还用于:在执行待处理任务的过程中,若任一个目标虚拟机在预设时间段内一直处于空闲状态,则将目标虚拟机关机或休眠;和/或在执行待处理任务的过程中,若任一个目标虚拟机的虚拟资源不足,则为目标虚拟机增加虚拟资源。

在一种具体实施方式中,数据信息包括:待处理任务包括的各个子任务,执行待处理任务所需的计算模型和数据集。

在一种具体实施方式中,虚拟机层还用于:配置每个虚拟机对应的响应等级,以根据响应等级暂停或启动各个虚拟机。

在一种具体实施方式中,虚拟机层还用于:配置类组件的访问权限,以根据访问权限管理执行结果,并对至少一个虚拟机进行启动或关闭操作。

在一种具体实施方式中,虚拟机层具体用于:获取待处理任务的任务标签;查询预设类组件集中的各个类组件的组件标签;调取与任务标签一致的组件标签所对应的类组件。

在一种具体实施方式中,虚拟资源基于目标策略和当前系统中的各个物理资源的功能进行分配;目标策略包括:首选优先原则、最大满足原则、最小碎片原则和就近原则中的任意一种或组合。

其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

可见,本实施例提供了一种资源分配系统,该系统既能满足组件、外设、终端等对算力、存储、数据带宽等资源日益增长的需求,又能避免任务的冗余、资源的竞争、成本的浪费等问题,并能够对其响应等级、权限设置等实现灵活的管理与调度。

下面对本申请实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种资源分配方法及系统可以相互参照。

参见图5所示,本申请实施例公开了一种电子设备,包括:

存储器501,用于保存计算机程序;

处理器502,用于执行所述计算机程序,以实现上述任意实施例公开的方法。

为了更清楚地介绍本申请,现结合图6对本申请提供的类组件进行进一步介绍。

如图6所示,类组件是一组虚拟机集合,由一个或多个虚拟机组成。

为了响应并完成一类相同或相似的任务,创建一个类组件。相似任务即:任务的待处理数据和执行结果本质相同,只是表现形式不同。例如:针对同一批待处理数据,进行温度预测的两个任务,一个要求以华氏度输出执行结果,另一个要求以摄氏度输出执行结果。

一般地,一类相同或相似的任务常常来源于系统中一类相同或相似的硬件设备(包括组件、外设、终端等),在执行这些相同或相似的任务时,会请求一类相同或相似的系统资源(算力、存储、数据带宽等),调用相同或相似的计算模型,使用相同或相似的数据集,得到相应计算结果。因此相同或相似的任务可以对应同一个类组件。

该类组件中可设置用于存储子任务的任务池,由需要调用的计算模型构成的模型池,由需要使用的数据集构成的数据池等,以及用于传输数据的输入及管理接口和输出及应用接口。并且,该类组件中的所有虚拟机共享任务池、模型池、数据池。该类组件中的虚拟机满足此类任务执行时所需的最低资源需求。

其中:通过输入及管理接口可以实现:数据的增加、删除与修改,模型的增加、删除与优化,任务的增加、删除、启动及停止等操作。通过输出及应用接口可以得到任务的计算结果、虚拟机开关机状态等信息。输入及管理接口和输出及应用接口构成了类组件的接口池。类组件的组件标签可以根据输入及管理接口和输出及应用接口中所要传递的待处理数据和执行结果确定。一个类组件中的虚拟机共享任务池、模型池、数据池及接口池。

同时,类组件可以在响应等级、权限设置、资源分配等方面,通过虚拟机的管理调度机制,对虚拟机实现动态灵活、安全稳定的监管与调度。

(1)资源可控:通过虚拟机管理调度机制,在创建类组件中的虚拟机时,为虚拟机分配相应的虚拟资源。分配后,在没有额外调整的情况下,各个虚拟机会严格遵循。为虚拟机分配的虚拟资源例如:占用CPU的百分比,需要多大的存储空间、内存地址,多少速率的总线带宽等。

(2)灵活配置:通过多台虚拟机的搭配组合和每台虚拟机中的虚拟化配置,满足类组件多样化的定制需求。比如:任务共享池中有A和B两个任务,需要2%和5%的计算资源。其中A需要一直保持运行状态,而B只是会被间断性的调起运行。这时,可以使用两台虚拟机构成该类组件,虚拟机0对应任务A,长期保持启动状态;虚拟机1对应任务B,当任务B需要被唤醒时该虚拟机被启动或是激活,当任务B进入空闲期时,虚拟机1关机或休眠。

(3)动态调度:通过虚拟机的动态调度,实现了类组件的动态调度。比如:上述的任务共享池中除了A和B两个任务还有任务C,C也只是会被间断性的调起运行,与B不同的是,任务C每次可能会占用2~5%不等的算力。这时,可以在该类组件增加一台分配有2%算力的虚拟机2,并使虚拟机2伴随任务C的运行而启动或被激活。虚拟机2算力发生不足风险时,从系统资源中为虚拟机2动态附加算力。

(4)响应等级:通过对虚拟机等级的设置,实现类组件响应级别的管理。比如,设置某些类组件中的某些虚拟机保持永久在线状态。而对于某些类组件中的某些虚拟机,可以在系统某种资源发生紧张时使其暂时停止运行。

(5)权限设置:通过对虚拟机业务的权限管理,实现对类组件不同级别的访问及管理操作。比如,只拥有系统管理权限时,才能对某些类组件中的虚拟机进行启动或关闭操作,当仅拥有只读权限时,只能单向接收类组件对应的输出信息。

在本实施例中,虽然一个类组件中的一组虚拟机共享了任务池、模型池、数据池及接口池等,但他们的运行环境是相互独立的。特别是不同的类组件,或是类组件与主机,其各自的运行环境均是独立的,不会产生竞争与冲突事件,也不会影响到系统中其它组件、外设或终端的正常工作。

如图7所示,在创建类组件之前,需要对系统中的物理资源进行虚拟化。具体的,将整个系统中的全部硬件资源整合并细分为独立的硬件单元,并基于一个或多个硬件单元建立虚拟机,然后将一个或多个虚拟机集合为一个类组件。

如图7所示,虚拟系统是承上启下的一层,其中通过硬件驱动模块实现与底层裸设备进行交互,通过虚拟接口模块为上层提供虚拟硬件服务。请参见图8,虚拟接口模块可以基于硬件设备对物理资源进行虚拟化,也可以基于设备的功能对物理资源进行虚拟化。

在图8中,本实施例在继承基于设备虚拟的基础上,增加了基于功能虚拟的方式,在保证兼容性的同时,可以实现硬件资源更加灵活的配置,甚至响应以前无法完成的资源请求。

基于设备虚拟的方式要求系统中必须存在此类设备,并且虚拟的配置不能高于实际配置。比如,我们要通过虚拟系统在裸机上虚拟一个8GB的内存使用,首先系统中必须存在可分配的内存,且可用空间不小于8GB。但是,当系统中没有可分配的内存,或可用空间小于8GB时,基于设备虚拟的方式就无法提供服务。

基于功能虚拟的方式不是根据设备进行调配,而是根据设备的功能。一个设备通常不止一个功能,比如显卡既有具备计算功能的GPU,又同时存在DDR缓存。如果需要虚拟一个8GB的内存,而系统的物理内存只有6GB空间可以分配,那么可以从显卡中再附加2GB的可分配显存,共通组成8GB的内存,以响应8GB内存的虚拟服务请求。如图9所示,两个硬盘同时请求相同资源时,可同时发送请求给虚拟系统,虚拟系统从类组件中查找对应的类组件I,并提供给硬盘0和1使用。对比图2即可发现:本实施例在请求与分配资源时,更加灵活。

本申请基于类组件设计了一种新的计算机系统架构,使整个系统的硬件资源被统一分配调度。其中的类组件能够将相同硬件设备或相似任务的资源请求使用一组虚拟机进行处理,满足系统传统组件、外设、终端等对算力、存储、数据带宽等资源日益增长的需求,又避免任务的冗余、资源的竞争、成本的浪费等问题。在一个类组件中,设置任务共享池、模型共享池、数据共享池、接口共享池等,避免任务、计算模型、数据、输入输出等数据的冗余与浪费。类组件之间、或是类组件与主机及其它设备、终端之间,可以共享系统文件、分区、内存、端口等,减少带宽需求、传输功耗及响应延时等,提高系统整体性能。还增加了基于功能虚拟的方式,实现硬件资源更加灵活的配置与分配。新架构兼容现有的硬件及系统,易于应用与推广。

下面结合具体应用场景,对本申请进行进一步介绍。

通常,SSD的设计包括主控、闪存、电容等硬件设计,还包括前端、后端、FTL(FlashTranslation Layer,闪存转换层)等软件设计。其中,FTL是SSD的软件核心,其重要程度在于决定了一个SSD的使用寿命、性能和可靠性。为了实现高效的FTL,可以采用机器学习方法预测未来窗口期的读写强度,从而为GC、buffer管理等机制提供“先知先觉”的信息,获得更优的SSD性能。这样一来,就需要构建一个机器学习模型,构建该机器学习模型需要计算机执行训练任务和预测任务。

一般地,注意机器学习模型的在线学习阶段(或称训练阶段)与推理阶段(或称预测阶段)所需要的算力、缓存和带宽的资源是不同的,并且训练阶段所需要的资源要远远大于预测阶段。

所以,可以利用本申请提供的类组件执行复杂的训练任务,利用硬盘(SSD)执行较为简单的预测任务。如图10所示,类组件执行模型训练任务,根据模型同步原则(如规定时间间隔,或等待硬盘发出请求等),发送训练得到的模型给SSD;SSD用新模型实时预测读写强度。图10中以LSTM模型为例,也可选用其它模型进行计算,如GRU、CNN等。图10中的曲线为模型预测结果示意图。

调用如图6所示的类组件,可以统一调用系统的硬件资源完成模型的在线训练计算,可根据设置的时间间隔,实现与各存储器端模型的同步。SSD得到训练后的模型后,可以在存储器端做实时的读写强度的预测。

可见,本申请利用类组件执行训练任务,能够将相同硬件设备或相似任务的资源请求使用一组虚拟机进行处理,满足系统传统组件、外设、终端等对算力、存储、数据带宽等资源日益增长的需求,又避免任务的冗余、资源的竞争、成本的浪费等问题,减少带宽需求、传输功耗及响应延时等,提高系统整体性能。

本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。

需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 资源分配方法、设备和系统,资源获取方法及设备
  • 一种安全资源池资源分配方法、系统、设备及计算机介质
技术分类

06120112624198