本发明涉及numa技术领域,特别涉及一种numa架构下的虚拟任务合成方法及系统。
背景技术:
当前,numa架构(numa,即non-uniformmemoryarchitecture)中存在多个内存节点,每个内存节点以及对应的多核系统构成一个内存区域,并且在每个内存区域上设有独立且私有的内存控制器,能够为线程访问本地内存节点时,在访问时间上为用户带来更优的体验。
为了在numa架构下提升系统的性能,有必要预先确定不同任务在运行过程中所对应的经验信息,诸如包含资源优化策略的经验信息等。然而,如果仅凭真实任务在实际运行过程中的运行结果来确定出相应的经验信息,无疑需要消耗大量的人力物力,效率非常低。
技术实现要素:
有鉴于此,本发明的目的在于提供一种numa架构下的虚拟任务合成方法及系统,能够合成虚拟任务,从而可以利用虚拟任务的运行结果来对经验信息进行完善,而无需等待真实任务的到来才能对经验信息进行完善,从而提升了经验信息的收集效率。其具体方案如下:
一种numa架构下的虚拟任务合成方法,包括:
创建任务信息库;
调取位于所述任务信息库中的任务信息,并利用调取出的任务信息合成相应的任务,得到虚拟任务,以利用所述虚拟任务的运行结果对经验库进行信息完善处理;
其中,所述经验库为用于记录与任务运行相关的信息的数据库。
可选的,所述创建任务信息库的过程,包括:
记录在numa架构下运行的每个真实任务的任务信息,得到所述任务信息库。
可选的,所述创建任务信息库的过程,包括:
记录在numa架构下运行的每个真实任务的任务信息,得到初始信息库;
利用机器学习算法,对所述初始信息集中的信息进行分类,得到所述任务信息库。
可选的,所述机器学习算法为数据挖掘算法或神经网络算法。
可选的,所述调取位于所述任务信息库中的任务信息,并利用调取出的任务信息合成相应的任务的过程,包括:
利用穷举法,从所述任务信息库中调取出多组任务信息;
利用每组任务信息合成相应的任务,得到多组虚拟任务。
本发明还相应公开了一种numa架构下的虚拟任务合成系统,包括:
信息库创建模块,用于创建任务信息库;
任务信息调取模块,用于调取位于所述任务信息库中的任务信息;
虚拟任务合成模块,用于利用所述任务信息调取模块调取出的任务信息合成相应的任务,得到虚拟任务,以利用所述虚拟任务的运行结果对经验库进行信息完善处理;
其中,所述经验库为用于记录与任务运行相关的信息的数据库。
可选的,所述信息库创建模块,具体用于记录在numa架构下运行的每个真实任务的任务信息,得到所述任务信息库。
可选的,所述信息库创建模块,包括:
信息记录单元,用于记录在numa架构下运行的每个真实任务的任务信息,得到初始信息库;
信息分类单元,用于利用机器学习算法,对所述初始信息集中的信息进行分类,得到所述任务信息库。
可选的,所述信息分类单元,具体用于利用数据挖掘算法或神经网络算法,对所述初始信息集中的信息进行分类,得到所述任务信息库。
可选的,所述虚拟任务合成模块,包括:
信息调取单元,用于利用穷举法,从所述任务信息库中调取出多组任务信息;
任务合成单元,用于利用每组任务信息合成相应的任务,得到多组虚拟任务。
本发明中,numa架构下的虚拟任务合成方法,包括:创建任务信息库;调取位于任务信息库中的任务信息,并利用调取出的任务信息合成相应的任务,得到虚拟任务,以利用虚拟任务的运行结果对经验库进行信息完善处理;其中,经验库为用于记录与任务运行相关的信息的数据库。
可见,本发明先创建任务信息库,后续通过调取位于上述任务信息库中的任务信息,便可实现合成虚拟任务的目的,紧接着便可利用虚拟任务的运行结果来对经验库中的经验信息进行完善处理,而无需等待真实任务的到来才能对经验信息进行完善,从而可以有效提升经验信息的收集效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的另一种numa架构下的虚拟任务合成方法流程图;
图2为本发明实施例公开的一种numa架构下的虚拟任务合成系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种numa架构下的虚拟任务合成方法,参见图1所示,该方法包括:
步骤s101:创建任务信息库。
可以理解的是,上述任务信息库是存储了任务自身的任务信息的数据库。其中,上述任务信息包括任务类型和/或参数类型和/或具体的参数值,通过任务的参数类型以及具体的参数值可以确定出相应任务的任务类型,本实施例可以将任务的参数类型以及具体的参数值看作是任务自身的“指纹信息”,该“指纹信息”能够准确地反映出任务的类型。
在numa架构的实际应用过程中,不同类型的任务所包含的参数类型会有所不同,例如,对于a类型的进程任务来说,它的参数类型具体可以包括参数a、参数b、参数c以及参数d,而对于b类型的进程任务来说,它的参数类型则可能会是参数a、参数e、参数f以及参数参数g。也即,不同类型的任务所包含的参数的种类会存在差异。另外,对于属于同一种类型的不同的任务,它们各自对应的同一种参数的参数值往往具有不同的参数值。例如,对于同是属于a类型的任务1和任务2,它们各自虽然均包含相同类型的参数,但对应的参数值会有所不同。
步骤s102:调取位于任务信息库中的任务信息,并利用调取出的任务信息合成相应的任务,得到虚拟任务,以利用虚拟任务的运行结果对经验库进行信息完善处理。
其中,上述经验库为用于记录与任务运行相关的信息的数据库。
可见,本发明实施例先创建任务信息库,后续通过调取位于上述任务信息库中的任务信息,便可实现合成虚拟任务的目的,紧接着便可利用虚拟任务的运行结果来对经验库中的经验信息进行完善处理,而无需等待真实任务的到来才能对经验信息进行完善,从而可以有效提升经验信息的收集效率。
本发明实施例公开了一种具体的numa架构下的虚拟任务合成方法,该方法包括以下步骤:
步骤s21:创建任务信息库。
在一种具体实施方式中,上述创建任务信息库的过程,包括:记录在numa架构下运行的每个真实任务的任务信息,得到任务信息库。
也即,本发明实施例具体可以通过对真实任务的任务信息进行记录的方式,来创建上述任务信息库,具体可以通过记录真实任务的任务类型、参数类型以及具体的参数值的方式来创建上述任务信息库。
在另一种具体实施方式中,上述创建任务信息库的过程,包括:记录在numa架构下运行的每个真实任务的任务信息,得到初始信息库,然后利用机器学习算法,对初始信息集中的信息进行分类,得到任务信息库。
需要说明的是,上述机器学习算法具体可以为数据挖掘算法或神经网络算法,如通过weka机器学习工具(weka,即waikatoenvironmentforknowledgeanalysis)来对上述初始信息集进行分类,从而得到上述任务信息库。
也即,本发明实施例可以在记录完大量真实任务的任务信息之后,通过利用机器学习算法,可以对上述记录到的任务信息进行分类,以便于对任务信息库进行运维处理。
步骤s22:调取位于任务信息库中的任务信息,并利用调取出的任务信息合成相应的任务,得到虚拟任务,以利用虚拟任务的运行结果对经验库进行信息完善处理。
在一种具体实施方式中,上述调取位于任务信息库中的任务信息,并利用调取出的任务信息合成相应的任务的过程,具体可以包括:先确定出当前经验库中实际缺乏的任务运行信息,然后确定出与上述经验库当前实际缺乏的任务运行信息对应的任务类型,接着根据上述确定出来的任务类型,从上述任务信息库中调取出相应的任务信息,然后利用该任务信息合成相应的任务,由此得到相应的虚拟任务,通过运行该虚拟任务,便可得到包含相应任务运行信息的运行结果,从而可以利用该运行结果对上述缺乏相应任务运行信息的经验库进行完善。
在另一种具体实施方式中,上述调取位于任务信息库中的任务信息,并利用调取出的任务信息合成相应的任务的过程,具体可以包括:获取用户终端发送的任务类型,然后根据上述获取到的任务类型从上述任务信息库中调取出相应的任务信息,然后利用该任务信息合成相应的任务,由此得到相应的虚拟任务,通过运行该虚拟任务,便可得到包含相应任务运行信息的运行结果,从而可以利用该运行结果对经验库进行完善。
在又一种具体实施方式中,上述调取位于任务信息库中的任务信息,并利用调取出的任务信息合成相应的任务的过程,具体可以包括:利用穷举法,从任务信息库中调取出多组任务信息,然后利用每组任务信息合成相应的任务,得到多组虚拟任务。也即,本发明实施例具体可以通过穷举的方式,将任务信息库中的各种参数类型、参数值等任务信息进行不同的排列组合之后,相应的得到多组任务信息,其中,利用每组任务信息可以合成一个相对应的虚拟任务。本实施例通过上述第三种实施方式可以合成更全面的虚拟任务,有利于提升经验库的普适性。
与上一实施例对应的,本发明实施例还公开了一种numa架构下的虚拟任务合成系统,参见图2所示,该系统包括:
信息库创建模块101,用于创建任务信息库;
任务信息调取模块102,用于调取位于任务信息库中的任务信息;
虚拟任务合成模块103,用于利用任务信息调取模块102调取出的任务信息合成相应的任务,得到虚拟任务,以利用虚拟任务的运行结果对经验库进行信息完善处理;
其中,上述经验库为用于记录与任务运行相关的信息的数据库。
可以理解的是,上述任务信息库是存储了任务自身的任务信息的数据库。其中,上述任务信息包括任务类型和/或参数类型和/或具体的参数值,通过任务的参数类型以及具体的参数值可以确定出相应任务的任务类型,本实施例可以将任务的参数类型以及具体的参数值看作是任务自身的“指纹信息”,该“指纹信息”能够准确地反映出任务的类型。
在numa架构的实际应用过程中,不同类型的任务所包含的参数类型会有所不同,例如,对于a类型的进程任务来说,它的参数类型具体可以包括参数a、参数b、参数c以及参数d,而对于b类型的进程任务来说,它的参数类型则可能会是参数a、参数e、参数f以及参数参数g。也即,不同类型的任务所包含的参数的种类会存在差异。另外,对于属于同一种类型的不同的任务,它们各自对应的同一种参数的参数值往往具有不同的参数值。例如,对于同是属于a类型的任务1和任务2,它们各自虽然均包含相同类型的参数,但对应的参数值会有所不同。
在一种具体实施方式中,上述信息库创建模块101,具体可以用于记录在numa架构下运行的每个真实任务的任务信息,得到任务信息库。
在另一种具体实施方式中,上述信息库创建模块101,具体可以包括信息记录单元和信息分类单元;其中,
信息记录单元,用于记录在numa架构下运行的每个真实任务的任务信息,得到初始信息库;
信息分类单元,用于利用机器学习算法,对初始信息集中的信息进行分类,得到任务信息库。
其中,上述信息分类单元,具体可以用于利用数据挖掘算法或神经网络算法,对初始信息集中的信息进行分类,得到任务信息库。如通过weka机器学习工具来对上述初始信息集进行分类,从而得到上述任务信息库。
也即,本发明实施例可以在记录完大量真实任务的任务信息之后,通过利用机器学习算法,可以对上述记录到的任务信息进行分类,以便于对任务信息库进行运维处理。
在一种具体实施方式中,上述虚拟任务合成模块103,具体可以用于先确定出当前经验库中实际缺乏的任务运行信息,然后确定出与上述经验库当前实际缺乏的任务运行信息对应的任务类型,接着根据上述确定出来的任务类型,从上述任务信息库中调取出相应的任务信息,然后利用该任务信息合成相应的任务,由此得到相应的虚拟任务。
在另一种具体实施方式中,上述虚拟任务合成模块103,具体可以用于获取用户终端发送的任务类型,然后根据上述获取到的任务类型从上述任务信息库中调取出相应的任务信息,然后利用该任务信息合成相应的任务,由此得到相应的虚拟任务。
在又一种具体实施方式中,上述虚拟任务合成模块103,具体可以包括信息调取单元以及任务合成单元;其中,
信息调取单元,用于利用穷举法,从任务信息库中调取出多组任务信息;
任务合成单元,用于利用每组任务信息合成相应的任务,得到多组虚拟任务。
本实施例通过上述第三种实施方式可以合成更全面的虚拟任务,有利于提升经验库的普适性。
可见,本发明实施例先创建任务信息库,后续通过调取位于上述任务信息库中的任务信息,便可实现合成虚拟任务的目的,紧接着便可利用虚拟任务的运行结果来对经验库中的经验信息进行完善处理,而无需等待真实任务的到来才能对经验信息进行完善,从而可以有效提升经验信息的收集效率。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。