一种多核启动配置确定的方法、装置、计算机设备和存储介质与流程

文档序号:31407833发布日期:2022-09-03 07:42阅读:49来源:国知局
1.本技术涉及计算机领域,特别是涉及一种多核启动配置确定的方法、装置、计算机设备和存储介质。
背景技术
::2.随着计算机的发展,云原生架构得到了广泛应用,云原生架构中多核处理器以其高性能、低功耗的优势正逐步取代传统的单核或者多核处理器。3.在现有技术中,多核启动使用pin-table方法和psci方法,通过上述两种方法启动多核会出现核空转的现象,造成资源浪费。技术实现要素:4.基于此,有必要针对上述技术问题,提供一种多核启动配置确定的方法、系统、计算机设备、计算机可读存储介质,使用多核启动配置确定的方法确定的目标配置表启动多核提高了资源利用率。5.本技术提供了一种多核启动配置确定的方法,所述方法包括:6.获取目标对象对应的初始配置表,将所述初始配置表作为当前配置表;所述初始配置表中包括初始内核参数和初始内存参数;7.基于当前配置表启动所述目标对象对应的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积;8.对当前配置表进行更新得到更新配置表,将更新配置表作为当前配置表,返回所述基于当前配置表启动所述目标对象对应的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积的步骤执行,直至满足限定条件,得到各个配置表对应的初始雷达图面积;9.从所述各个配置表对应的初始雷达图面积中基于性能参数确定目标雷达图面积;10.将所述目标雷达图面积对应的配置表作为所述目标对象对应的目标配置表,所述目标配置表用于启动所述目标对象对应的主核和从核。11.在一个实施例中,基于当前配置表启动所述目标对象对应的主核和各从核包括:12.将所述当前配置表发送给主核,所述主核基于所述当前配置表中对应的配置信息启动;13.所述主核将所述当前配置表存储于第一储存区域,通知所述当前配置表中对应个数的从核启动;14.各从核从所述第一储存区域读取所述当前配置表中对应的配置信息,基于读取的所述配置信息启动。15.在一个实施例中,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积包括:16.获取所述主核和各从核的预设性能参数群中各性能参数对应的性能参数信息;17.基于所述性能参数信息,分别计算所述主核和各从核对应的参考雷达图面积;18.将所述主核和各从核对应的参考雷达图面积进行融合,得到所述当前配置表对应的初始雷达图面积。19.在一个实施例中,对当前配置表进行更新得到更新配置表包括:20.获取内核配置总量和内存配置总量;21.将当前配置表中的当前内存参数与预设值进行融合得到参考内存参数;22.基于所述参考内存参数和所述当前配置表中的当前内核参数确定分配的总内存;23.若所述总内存小于或者等于所述内存配置总量,则用所述参考内存参数更新所述当前配置表中的当前内存参数,得到更新配置表;24.若所述总内存大于所述内存配置总量,则对所述当前配置表中的当前内核参数进行更新的到参考内核参数,若所述参考内核参数小于或者等于所述内核配置总量,则用初始内存参数和参考内核参数分别更新所述当前配置表中的当前内存参数和当前内核参数,得到更新配置表。25.在一个实施例中,获取内核配置总量和内存配置总量包括:26.若docker未进行资源配置,则获取宿主机的内核数量和内存分别作为所述内核配置总量和所述内存配置总量;27.若docker进行了资源配置,则获取所述资源配置中的内核数量及内存分别作为所述内核配置总量和所述内存配置总量。28.在一个实施例中,从所述各个配置表对应的初始雷达图面积中基于性能参数确定目标雷达图面积包括:29.对各个配置表对应的初始雷达图面积进行比较;30.若性能参数群中的性能参数为正向参数,则确定最大的初始雷达图面积为目标雷达图面积;31.若所述性能参数群中的性能参数为负向参数,则确定最小的初始雷达图面积为目标雷达图面积。32.在一个实施例中,多核启动的方法包括:33.获取目标对象对应的目标配置表,所述目标配置表是从多个配置表中确定的,是基于所述多个配置表依次启动目标对象对应的主核和各从核,基于性能参数信息得到各个配置表对应的初始雷达图面积,从所述各个配置表对应的初始雷达图面积中基于性能参数确定目标雷达图面积,所述目标雷达图面积对应的配置表为所述目标配置表;34.通知所述目标对象对应的主核基于所述目标配置表中对应的配置信息启动;35.通过所述主核通知所述目标配置表中对应个数的从核基于所述目标配置表中对应的配置信息启动。36.本技术还提供了一种多核启动配置确定的装置,所述装置包括:37.获取模块,用于获取目标对象对应的初始配置表,将所述初始配置表作为当前配置表;所述初始配置表中包括初始内核参数和初始内存参数;38.启动模块,用于基于当前配置表启动所述目标对象对应的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积;39.循环模块,用于对当前配置表进行更新得到更新配置表,将更新配置表作为当前配置表,返回所述基于当前配置表启动所述目标对象的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积的步骤执行,直至满足限定条件,得到各个配置表对应的初始雷达图面积;40.比较模块,用于从所述各个配置表对应的初始雷达图面积中基于性能参数确定目标雷达图面积;41.确定模块,用于将所述目标雷达图面积对应的配置表作为所述目标对象对应的目标配置表,所述目标配置表用于启动所述目标对象对应的主核和从核。42.本技术还提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:43.获取目标对象对应的初始配置表,将所述初始配置表作为当前配置表;所述初始配置表中包括初始内核参数和初始内存参数;44.基于当前配置表启动所述目标对象对应的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积;45.对当前配置表进行更新得到更新配置表,将更新配置表作为当前配置表,返回所述基于当前配置表启动所述目标对象对应的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积的步骤执行,直至满足限定条件,得到各个配置表对应的初始雷达图面积;46.从所述各个配置表对应的初始雷达图面积中基于性能参数确定目标雷达图面积;47.将所述目标雷达图面积对应的配置表作为所述目标对象对应的目标配置表,所述目标配置表用于启动所述目标对象对应的主核和从核。48.本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:49.获取目标对象对应的初始配置表,将所述初始配置表作为当前配置表;所述初始配置表中包括初始内核参数和初始内存参数;50.基于当前配置表启动所述目标对象对应的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积;51.对当前配置表进行更新得到更新配置表,将更新配置表作为当前配置表,返回所述基于当前配置表启动所述目标对象对应的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积的步骤执行,直至满足限定条件,得到各个配置表对应的初始雷达图面积;52.从所述各个配置表对应的初始雷达图面积中基于性能参数确定目标雷达图面积;53.将所述目标雷达图面积对应的配置表作为所述目标对象对应的目标配置表,所述目标配置表用于启动所述目标对象对应的主核和从核。54.上述多核启动配置确定的方法、装置、计算机设备、存储介质,通过获取目标对象对应的初始配置表,将所述初始配置表作为当前配置表;基于当前配置表启动所述目标对象对应的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积;对当前配置表进行更新得到更新配置表,将更新配置表作为当前配置表,返回所述基于当前配置表启动所述目标对象对应的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积的步骤执行,直至满足限定条件,得到各个配置表对应的初始雷达图面积;从所述各个配置表对应的初始雷达图面积中基于性能参数确定目标雷达图面积;将所述目标雷达图面积对应的配置表作为所述目标对象对应的目标配置表,所述目标配置表用于启动所述目标对象对应的主核和从核。使用确定的目标配置表启动多核提高了资源利用率。附图说明55.图1为一个实施例中多核启动配置确定的方法的应用环境图;56.图2为一个实施例中多核启动配置确定的方法的流程示意图;57.图3为一个实施例中多核启动步骤的流程示意图;58.图4为一个实施例中确定初始雷达图面积的流程示意图;59.图5为一个实施例中更新配置表的流程示意图;60.图6为一个实施例中运用目标配置表启动多核的流程示意图;61.图7为一个实施例中容器的结构示意图;62.图8为一个实施例中多核的结构示意图;63.图9为一个实施例中多核启动配置确定及运行的流程示意图;64.图10为一个实施例中多核启动配置确定装置的结构框图;65.图11为一个实施例中多核启动装置的结构框图;66.图12为一个实施例中计算机设备的内部结构图。具体实施方式67.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。68.本技术实施例提供的多核启动配置确定的方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102获取目标对象对应的初始配置表,将初始配置表发送给服务器104上对应的主核,服务器104上对应的主核启动后通知初始配置表中对应的从核启动,主核和各从核启动后运行应用程序,获取主核和各从核对应的性能参数信息,基于性能参数信息确定当前配置表对应的初始雷达图面积;多次更新当前配置表中的当前内存参数、当前内核参数得到更新后的当前配置表,重复上述主核和从核启动的步骤,得到每个当前配置表对应的雷达图面积;基于性能参数的性质确定目标雷达图面积,目标雷达图面积对应的配置表为目标配置表;终端102获取目标对象对应的目标配置表,将目标配置表发送给服务器104中目标对象对应的主核,启动服务器104中目标对象对应的主核和从核。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。69.在一个实施例中,如图2所示,提供了一种多核启动配置确定的方法,本实施例以该方法应用终端进行举例说明。该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:70.步骤202,获取目标对象对应的初始配置表,将初始配置表作为当前配置表;初始配置表中包括初始内核参数和初始内存参数。71.其中,配置表是指承载相关配置信息的文件。初始配置表是指承载相关初始配置信息的文件。例如,配置表包括但不限于容器和内核的配比、内存参数、i\o分配参数等配置参数。内核参数是指配置内核数量的参数,可以采用限定内核数量或者指定具体内核等方式进行设置。例如,内核参数设置分配4个内核,或者分配的内核为core1、core2、core3、core4,可以通过监听各个内核的状态判断内核是否占用,分别未被使用的内核。内存参数是指配置内存信息的参数,可以采用限定每个内核的内存或者限定总内存等方式进行设置。例如,内存参数设置每个核分配1g的内存,或者为4个核共分配4g的内存。72.具体地,终端102从目标对象获取初始配置表。73.在一个实施例中,目标对象为应用程序,计算机设备从应用程序获取初始配置表。74.在一个实施例中,目标对象为用于运行应用程序的容器,计算机设备从对应的容器中获取初始配置表。其中,容器是指一个轻量级独立可执行软件包,它将代码及其所有依赖关系打包,包含运行应用程序所需的代码、运行时、系统工具、系统库、配置,以便应用程序从一个计算环境可靠快速地运行到另一个计算环境。75.步骤204,基于当前配置表启动目标对象对应的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于性能参数信息确定当前配置表对应的初始雷达图面积。76.其中,核是指是指操作系统的核心,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。主核是指具备与外界进行通信、控制从核等功能的核心。从核是指仅具备操作系统最基本的功能的核心。性能参数信息是指运行过程中体现核性能的指标。雷达图是指一种表现多维数据的图表,将多个维度的数据量映射到坐标轴上,每一个维度的数据都分别对应一个坐标轴。雷达图面积是指多个维度的数据量形成的二维图像的面积。77.具体的,终端102将当前配置表发送各主核,主核获取当前配置表后根据当前配置表中对应的配置信息启动,主核根据当前配置表中初始内核参数通知对应的从核,各从核读取当前配置表中对应的配置信息,根据对应的配置信息进行启动,当主核和从核启动完成后,启动部署在该容器的应用程序,获取主核和各从核相关性能参数的性能参数信息,根据获取的性能参数信息制作雷达图,计算得到当前配置表对应的雷达图面积。78.在一个实施例中,容器具有多个核,包括一个主核和多个从核,多核采用smp(对称多处理)架构、bmp(混合多处理)架构、amp(非堆成多处理)架构中的一种架构模式。例如,容器具有4个核,core0为主核,core1、core2、core3为从核。79.步骤206,对当前配置表进行更新得到更新配置表,将更新配置表作为当前配置表,返回基于当前配置表启动目标对象对应的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于性能参数信息确定当前配置表对应的初始雷达图面积的步骤执行,直至满足限定条件,得到各个配置表对应的初始雷达图面积。80.其中,更新是指改变当前配置表中的一个或者多个参数。限定条件是指预先设置的结束循环的条件。81.具体的,服务器104根据设定的规则对当前配置表中的参数进行更新得到更新配置表,将更新配置表作为当前配置发送给目标对象对应的主核,主核根据当前配置表中对应的配置启动后通知对应的从核,对应的从核读取当前配置表中对应的配置信息启动,当主核和各从核启动后,启动部署在该容器的应用程序,获取主核和各从核的相关性能参数的性能参数信息,根据获取的性能参数信息制作雷达图,计算得到当前配置表对应的雷达图面积。关闭主核和各从核,根据设定的规则对当前配置表中的参数进行更新得到更新配置表,将更新配置表作为当前配置表重复上述步骤,得到各当前配置表对应的初始雷达图面积,直到更新得到更新配置表满足预先设置的限定条件。82.在一个实施例中,当前内核参数的变更可以是核个数的变更,当前内存参数的变更可以是分配内存的变更。例如,核数量的增加或者减少。83.在一个实施例中,当前内核参数的变更可以是从核标识的变更,例如,当前内核参数分配的内核为core0、core1、core2、core3,变更后当前内核参数分配的内核为core0、core1、core5、core7。当前内存参数的变更可以是每个核分配内存具体位置的变更。例如,当前内存参数配置的内存为服务器1中的1g的内存,变更后当前内存参数配置的内存为服务器2中的1g内存。84.步骤208,从各个配置表对应的初始雷达图面积中基于性能参数确定目标雷达图面积。85.具体的,对各个配置表对应的初始雷达图面积进行比较,根据选择的性能参数的性质确定最小的初始雷达图面积或者最大的初始雷达图面积为目标雷达图面积。86.步骤210,将目标雷达图面积对应的配置表作为目标对象对应的目标配置表,目标配置表用于启动目标对象对应的主核和从核。87.具体的,将目标雷达图面积对应的配置表作为目标对象对应的目标配置表,目标对象对应的主核和从核启动时,根据目标配置表中的配置进行启动。88.上述多核启动配置确定的方法,通过初始配置表对多核进行启动,多核启动后运行应用程序得到初始配置表对应的初始雷达图面积,初始雷达图面积综合反映了应用程序运行时多核的性能;通过对当前配置表进行多次更新得到多个当前配置表,运用多个当前配置表多次启动多核,得到多个当前配置表对应的初始雷达图面积,为确定目标配置表提供了更多的参考样本数量,提搞了目标配置表的精确度;通过性能参数的性质从多个初始雷达图面积中确定目标雷达图,可以根据用户关心及重视的性能参数出发,得到用户期望的目标配置表,提高了目标配置表的灵活性;确定的目标配置表的综合性能最优,运用目标配置表启动多核提高了资源的利用率。89.在一个实施例中,如图3所示,基于当前配置表启动目标对象对应的主核和各从核包括:90.步骤302,将当前配置表发送给主核,主核基于当前配置表中对应的配置信息启动。91.其中,配置信息是指分配的资源信息,可以为分配的内存资源、i\o资源、磁盘资源等中的一种或者多种。92.具体的,终端102将当前配置表发送给主核,主核读取当前配置表中主核的配置信息,获取分配的资源后启动。93.步骤304,主核将当前配置表存储于第一储存区域,通知当前配置表中对应个数的从核启动。94.其中,第一储存区域是指多核共享的存储区域。95.具体的,主核将当前配置表存储于第一储存区域,通过核间中断的方式通知当前配置表中对应的从核启动。其中,核间中断是指由pic(programmableinterruptcontroller)统一控制的多核多线程处理器的中断,pic允许一个硬件线程中断其他的硬件线程。96.步骤306,各从核从第一储存区域读取当前配置表中对应的配置信息,基于读取的配置信息启动。97.具体的,从核接收到主核发送的核间中断后,各从核分别从第一储存区域读取对应的配置信息,获取分配的资源后启动。98.在本实施例中,基于当前配置表启动主核,主核将当前配置表储存于共享的第一存储区域,通过核间中断的方式通知对应的各从核基于当前配置表中对应的配置信息启动,避免了cpu线程的浪费。99.在一个实施例中,如图4所示,获取启动的主核和各从核对应的性能参数信息,基于性能参数信息确定当前配置表对应的初始雷达图面积包括:100.步骤402,获取主核和各从核的预设性能参数群中各性能参数对应的性能参数信息。101.其中,预设性能参数群是指预先设定的性能参数组成的集合。预设性能参数群中性能参数的性质相同,可以为正向参数或者为负向参数。102.具体的,服务器104获取运行应用程序的主核和各从核预设性能参数群中各性能参数对应的性能参数信息。103.在一个实施例中,预设性能参数群中的性能参数为负向性能参数,包含cpu占用率、内存占用率、numa(非统一内存访问)延迟、cachemiss(缓存缺失率)、tdp(热功耗)等中的多个性能参数。104.在一个实施例中,预设性能参数群中的性能参数为正向性能参数,包含cachehit(缓存命中率)、tlbhit(translationlookasidebuffer命中率)等中的多个性能参数。105.步骤404,基于所述性能参数信息,分别计算主核和各从核对应的参考雷达图面积。106.具体的,分别根据主核和各从核对应的性能参数信息绘画出主核和各从核对应的雷达图,根据各核的雷达计算得到各核对应参考雷达图面积。107.在一个实施例中,预设性能参数群中各性能参数为5个正向性能参数,设置各性能参数的目标值为100%,根据5个性能参数的目标值和性能参数信息分别画出主核和各从核的雷达图。雷达图由5个三角形组成,利用三角形面积公式对雷达图中三角形进行求解得到三角形面积,5个三角形面积相加得到雷达图面积,运用上述方法分别求解得到主核和各从核对应的初始雷达图面积。108.步骤406,将主核和各从核对应的参考雷达图面积进行融合,得到当前配置表对应的初始雷达图面积。109.具体的,对主核和各从核的参考雷达图面积进行相加,得到当前配置表对应的初始雷达图面积。110.在一个实施例中,对主核和各从核的参考雷达图面积进行加权融合,权值参考各核的cpu占用率确定。111.在本实施例中,根据主核和各从核的性能参数信息,分别绘画出各核对应的雷达图,根据雷达图计算得到对应的参考雷达图面积,对各核的参考雷达图面积进行求和,得到当前配置表对应的初始雷达图面积,利用初始雷达图面积反映当前配置表启动的多核的综合性能,提高了综合性能评估的准确性。112.在一个实施例中,如图5所示,对当前配置表进行更新得到更新配置表包括:113.步骤502,获取内核配置总量和内存配置总量。114.其中,内核配置总量是指目标对象可以使用的最大内核数量。内存配置总量是指目标对象可以使用的最大内存。115.步骤504,将当前配置表中的当前内存参数与预设值进行融合得到参考内存参数。116.其中,预设值是指预先设定的内存参数变动的幅度,可以参考应用的复杂程度或者内存配置总量等因素进行设定。117.具体的,当前内存参数与预设值相加得到参考内存参数。118.步骤506,基于参考内存参数和当前配置表中的当前内核参数确定分配的总内存。119.具体的,根据当前内核参数确定的内核个数和参考内存参数确定的每个内核的内存,进行求和运算得到分配的总内存。120.步骤508,若总内存小于或者等于内存配置总量,则用参考内存参数更新当前配置表中的当前内存参数,得到更新配置表。121.步骤510,若总内存大于内存配置总量,则对当前配置表中的当前内核参数进行更新的到参考内核参数,若参考内核参数小于或者等于内核配置总量,则用初始内存参数和参考内核参数分别更新当前配置表中的当前内存参数和当前内核参数,得到更新配置表。122.具体的,如果总内存大于内存配置总量,则当前内核参数加1得到参考内核参数,如果参考内核参数小于或者等于内核配置总量,则用初始内存参数和参考内核参数分别更新当前配置表中的当前内存参数和当前内核参数,得到更新配置表。123.在本实施例中,对当前内核参数和当前内存参数中的一个或者两个进行更新得到更新的参考内核参数或者参考内存参数,将更新的参考内核参数或者参考内存参数分别替换当前参考参数或者当前参考参数得到更新配置表,对当前配置表进行多次更新得到更新配置表,考虑了多核启动中多核的各种配置情况,增加了训练的频次,提高了训练结果的准确性。124.在一个实施例中,获取内核配置总量和内存配置总量包括:125.若docker未进行资源配置,则获取宿主机的内核数量和内存分别作为内核配置总量和内存配置总量;若docker进行了资源配置,则获取所述资源配置中的内核数量及内存分别作为内核配置总量和内存配置总量。126.其中,docker是指开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的linux或windows操作系统的机器上,可以对容器的资源进行配置。宿主机是指容器部署的主机,可以为物理主机或者虚拟机。虚拟机(virtualmachine,vm)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。127.具体的,查看docker的配置文件中的配置信息,若docker未对容器的资源分配进行限制,则宿主机的所有资源均可以被容器使用,获取宿主机的内核数量和内存分别作为所述内核配置总量和所述内存配置总量;若docker进行了资源配置,则获取所述资源配置中的内核数量及内存分别作为所述内核配置总量和所述内存配置总量。128.在本实施例中,确定内核配置总量和内存配置总量,用于设置步骤206的限定条件,对训练的范围进行了限定,提高了训练的速度。129.在一个实施例中,从所述各个配置表对应的初始雷达图面积中基于性能参数确定目标雷达图面积包括:130.对各个配置表对应的初始雷达图面积进行比较;若性能参数群中的性能参数为正向参数,则确定最大的初始雷达图面积为目标雷达图面积;若所述性能参数群中的性能参数为负向参数,则确定最小的初始雷达图面积为目标雷达图面积。131.其中,正向参数是指参数值越大性能越优越的参数。负向参数是指参数值越小性能越优越的参数。132.具体地,对各个配置表对应的初始雷达图面积通过比较进行排序,若性能参数均为正向参数,则取最大的初始雷达图面积为目标雷达图面积,若性能参数均为负向参数,则取最小的初始雷达图面积为目标雷达图面积。在本实施例中,根据性能参数群中的性能参数的性质确定目标雷达图面积,提高了训练过程的灵活性。133.在本实施例中,基于性能参数性质确定目标雷达图面积,通过设定不同的性能参数满足个性化的需求,提高训练结果的针对性。134.在一个实施例中,如图6所述,多核启动的方法包括:135.步骤602,获取目标对象对应的目标配置表,目标配置表是从多个配置表中确定的,是基于多个配置表依次启动目标对象对应的主核和各从核,基于性能参数信息得到各个配置表对应的初始雷达图面积,从各个配置表对应的初始雷达图面积中基于性能参数确定目标雷达图面积,目标雷达图面积对应的配置表为目标配置表。136.其中,目标配置表的具体生成过程可以参照前述多核启动配置确定的方法中各个实施例的内容,此处不再赘述。137.具体地,计算机设备获取应用程序中的目标配置表,或者获取应用程序所在容器中的目标配置表。138.步骤604,通知目标对象对应的主核基于目标配置表中对应的配置信息启动。139.具体的,终端102将目标配置表发送给主核,主核读取目标配置表中主核的配置信息,获取对应的配置后启动,并且存储目标配置表。140.步骤606,通过主核通知目标配置表中对应个数的从核基于目标配置表中对应的配置信息启动。141.具体的,主核通过核间中断的方式通知目标配置表中对应个数的从核,对应的从核从目标配置表存储区域读取对应的配置信息,获取分配的资源后启动。142.在本实施例中,目标对象对应的主核和从核采根据目标配置表进行启动,根据目标配置表中分配的资源启动多核提高多核的综合性能,提高资源利用率。143.在一个具体的实施例中,容器1中包含应用程序、应用程序运行的配置文件及运行环境,容器1部署在如图7所示的物理机上,该物理机上总共部署了三个容器,容器1中的多核采用如图8所示的smp(对称多处理)运行模式,具有一个主核,4个从核,主核用于管理和控制从核。多核启动配置确定的过程如图9所述,分为初步运行阶段、训练阶段和使用阶段。144.初步运行阶段,应用程序获取初始配置表,通知主核启动,将初始配置表发送给容器1中的主核,初始配置表为应用程序配置的初始配置表或者容器1配置的初始配置表,主核根据初始配置表中对应的配置进行启动,将初始配置文件保存在共享储存区域,主核通过核间中断的方式通知初始配置表中对应的从核启动,对应的从核根据初始配置表中对应的配置信息进行启动,主核和从核启动后运行应用程序,获取主核和各从核cpu占用率、内存占用率、numa延迟、cachemiss、tdp的性能参数信息,根据性能参数信息画出对应的雷达图,计算得到对应的雷达图面积,对主核和各从核的雷达图面积进行求和运算,得到初始配置表对应的初始雷达图面积。145.训练阶段,应用程序获取当前配置表,当前配置表可以通过输入进行设置,也可以通过设置指令进行设置,通知主核启动,将当前配置表发送给容器1中的主核,主核通过核间中断的方式通知当前配置表中对应的从核启动,对应的从核根据当前配置表中对应的配置信息进行启动,主核和从核启动后运行应用程序,获取主核和各从核cpu占用率、内存占用率、numa延迟、cachemiss、tdp的性能参数信息,根据性能参数信息画出对应的雷达图,计算得到对应的雷达图面积,对主核和各从核的雷达图面积进行求和运算,得到当前配置表对应的初始雷达图面积。146.将当前配置表中的当前内存参数与预设值进行融合得到参考内存参数,通过参考内存参数和当前配置表中的当前内核参数确定分配的总内存,若总内存小于或者等于容器1可以使用的内存配置总量,则用参考内存参数更新当前配置表中的当前内存参数,得到更新配置表;若总内存大于容器1可以使用的内存配置总量,则对当前配置表中的当前内核参数加1得到参考内核参数,若参考内核参数小于或者等于容器1可以使用的内核配置总量,则用初始内存参数和参考内核参数分别更新所述当前配置表中的当前内存参数和当前内核参数,得到更新配置表。147.将更新配置表作为当前配置表,重复上述获取初始雷达图面积的步骤,分别得到各当前配置表对应的初始雷达图面积,对初始配置表对应的初始雷达图面积和各当前配置表对应的初始雷达图面积进行比较,确定最小的初始雷达图面积最为目标雷达图面积,目标雷达图面积对应的配置表为目标配置表。148.使用阶段,应用程序将目标配置表发送给主核,主核和从核根据目标配置表中的配置进行启动,运行应用程序,在应用程序运行过程中,若从核的数量或者主核和各从核分配的内存改变,记录当前的配置,并且获取当前的性能指标信息,计算得到当前配置对应的初始雷达图面积,应用程序运行结束后,对多个实时配置表对应的初始雷达图面积与目标配置表对应的目标雷达图面积进行比较,确定面积最小的雷达图面积对应的配置表为目标配置表。149.在本实施例中,通过初步运行阶段和训练阶段得到目标配置表,采用目标配置表启动主核和从核,当应用程序在运行过程中对应的内核和内存发现变化,实时搜集当前配置表,并且计算得到的对应的雷达图面积,实时更新目标配置表,基于更新的目标配置表启动多核后,运行程序的过程中综合性能进一步提高,提高资源利用率。150.应该理解的是,虽然图1-9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。151.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的多核启动配置确定装置和多核启动装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个多核启动配置确定装置和多核启动装置,实施例中的具体限定可以参见上文中对于多核启动配置确定方法的限定,在此不再赘述。152.在一个实施例中,如图10所示,提供了一种多核启动配置确定装置,包括获取模块、启动模块、循环模块、比较模块、确定模块,其中:153.获取模块1002,用于获取目标对象对应的初始配置表,将所述初始配置表作为当前配置表;所述初始配置表中包括初始内核参数和初始内存参数;154.启动模块1004,用于基于当前配置表启动所述目标对象对应的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积;155.循环模块1006,用于对当前配置表进行更新得到更新配置表,将更新配置表作为当前配置表,返回所述基于当前配置表启动所述目标对象的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积的步骤执行,直至满足限定条件,得到各个配置表对应的初始雷达图面积;156.比较模块1008,用于从所述各个配置表对应的初始雷达图面积中基于性能参数确定目标雷达图面积;157.确定模块1010,用于将所述目标雷达图面积对应的配置表作为所述目标对象对应的目标配置表,所述目标配置表用于启动所述目标对象对应的主核和从核。158.在一个实施例中,所述启动模块1004,还用于:将所述当前配置表发送给主核,所述主核基于所述当前配置表中对应的配置信息启动;所述主核将所述当前配置表存储于第一储存区域,通知所述当前配置表中对应个数的从核启动;各从核从所述第一储存区域读取所述当前配置表中对应的配置信息,基于读取的所述配置信息启动。159.在一个实施例中,所述启动模块1004,还用于:获取所述主核和各从核的预设性能参数群中各性能参数对应的性能参数信息;基于所述性能参数信息,分别计算所述主核和各从核对应的参考雷达图面积;将所述主核和各从核对应的参考雷达图面积进行融合,得到所述当前配置表对应的初始雷达图面积。160.在一个实施例中,所述循环模块1006,还用于:获取内核配置总量和内存配置总量;将当前配置表中的当前内存参数与预设值进行融合得到参考内存参数;基于所述参考内存参数和所述当前配置表中的当前内核参数确定分配的总内存;若所述总内存小于或者等于所述内存配置总量,则用所述参考内存参数更新所述当前配置表中的当前内存参数,得到更新配置表;若所述总内存大于所述内存配置总量,则对所述当前配置表中的当前内核参数进行更新的到参考内核参数,若所述参考内核参数小于或者等于所述内核配置总量,则用初始内存参数和参考内核参数分别更新所述当前配置表中的当前内存参数和当前内核参数,得到更新配置表。161.在一个实施例中,所述循环模块1006,还用于:若docker未进行资源配置,则获取宿主机的内核数量和内存分别作为所述内核配置总量和所述内存配置总量;若docker进行了资源配置,则获取所述资源配置中的内核数量及内存分别作为所述内核配置总量和所述内存配置总量。162.在一个实施例中,所述比较模块1008,还用于:对各个配置表对应的初始雷达图面积进行比较;若性能参数群中的性能参数为正向参数,则确定最大的初始雷达图面积为目标雷达图面积;若所述性能参数群中的性能参数为负向参数,则确定最小的初始雷达图面积为目标雷达图面积。163.在一个实施例中,如图11所示,提供了一种多核启动的装置,包括获取模块1102、主核启动模块1104、从核启动模块1106,其中:164.获取模块1102,用于获取目标对象对应的目标配置表,所述目标配置表是从多个配置表中确定的,是基于所述多个配置表依次启动目标对象对应的主核和各从核,基于性能参数信息得到各个配置表对应的初始雷达图面积,从所述各个配置表对应的初始雷达图面积中基于性能参数确定目标雷达图面积,所述目标雷达图面积对应的配置表为所述目标配置表;165.主核启动模块1104,用于通知所述目标对象对应的主核基于所述目标配置表中对应的配置信息启动;166.从核启动模块1106,用于通过所述主核通知所述目标配置表中对应个数的从核基于所述目标配置表中对应的配置信息启动。167.上述多核启动配置确定装置和多核启动装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。168.图12示出了一个实施例中计算机设备的内部结构图。该计算机设备既可以是终端,也可以是服务器。如图12所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现视频合成方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行业务单据转换方法。169.本领域技术人员可以理解,图12中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。170.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取目标对象对应的初始配置表,将所述初始配置表作为当前配置表;所述初始配置表中包括初始内核参数和初始内存参数;基于当前配置表启动所述目标对象对应的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积;对当前配置表进行更新得到更新配置表,将更新配置表作为当前配置表,返回所述基于当前配置表启动所述目标对象对应的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积的步骤执行,直至满足限定条件,得到各个配置表对应的初始雷达图面积;从所述各个配置表对应的初始雷达图面积中基于性能参数确定目标雷达图面积;将所述目标雷达图面积对应的配置表作为所述目标对象对应的目标配置表,所述目标配置表用于启动所述目标对象对应的主核和从核。171.在一个实施例中,处理器执行计算机程序时还实现以下步骤:将所述当前配置表发送给主核,所述主核基于所述当前配置表中对应的配置信息启动;所述主核将所述当前配置表存储于第一储存区域,通知所述当前配置表中对应个数的从核启动;各从核从所述第一储存区域读取所述当前配置表中对应的配置信息,基于读取的所述配置信息启动。172.在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取所述主核和各从核的预设性能参数群中各性能参数对应的性能参数信息;基于所述性能参数信息,分别计算所述主核和各从核对应的参考雷达图面积;将所述主核和各从核对应的参考雷达图面积进行融合,得到所述当前配置表对应的初始雷达图面积。173.在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取内核配置总量和内存配置总量;将当前配置表中的当前内存参数与预设值进行融合得到参考内存参数;基于所述参考内存参数和所述当前配置表中的当前内核参数确定分配的总内存;若所述总内存小于或者等于所述内存配置总量,则用所述参考内存参数更新所述当前配置表中的当前内存参数,得到更新配置表;若所述总内存大于所述内存配置总量,则对所述当前配置表中的当前内核参数进行更新的到参考内核参数,若所述参考内核参数小于或者等于所述内核配置总量,则用初始内存参数和参考内核参数分别更新所述当前配置表中的当前内存参数和当前内核参数,得到更新配置表。174.在一个实施例中,处理器执行计算机程序时还实现以下步骤:若docker未进行资源配置,则获取宿主机的内核数量和内存分别作为所述内核配置总量和所述内存配置总量;若docker进行了资源配置,则获取所述资源配置中的内核数量及内存分别作为所述内核配置总量和所述内存配置总量。175.在一个实施例中,处理器执行计算机程序时还实现以下步骤:对各个配置表对应的初始雷达图面积进行比较;若性能参数群中的性能参数为正向参数,则确定最大的初始雷达图面积为目标雷达图面积;若所述性能参数群中的性能参数为负向参数,则确定最小的初始雷达图面积为目标雷达图面积。176.在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取目标对象对应的目标配置表,所述目标配置表是从多个配置表中确定的,是基于所述多个配置表依次启动目标对象对应的主核和各从核,基于性能参数信息得到各个配置表对应的初始雷达图面积,从所述各个配置表对应的初始雷达图面积中基于性能参数确定目标雷达图面积,所述目标雷达图面积对应的配置表为所述目标配置表;通知所述目标对象对应的主核基于所述目标配置表中对应的配置信息启动;通过所述主核通知所述目标配置表中对应个数的从核基于所述目标配置表中对应的配置信息启动。177.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取目标对象对应的初始配置表,将所述初始配置表作为当前配置表;所述初始配置表中包括初始内核参数和初始内存参数;基于当前配置表启动所述目标对象对应的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积;对当前配置表进行更新得到更新配置表,将更新配置表作为当前配置表,返回所述基于当前配置表启动所述目标对象对应的主核和各从核,获取启动的主核和各从核对应的性能参数信息,基于所述性能参数信息确定所述当前配置表对应的初始雷达图面积的步骤执行,直至满足限定条件,得到各个配置表对应的初始雷达图面积;从所述各个配置表对应的初始雷达图面积中基于性能参数确定目标雷达图面积;将所述目标雷达图面积对应的配置表作为所述目标对象对应的目标配置表,所述目标配置表用于启动所述目标对象对应的主核和从核。178.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将所述当前配置表发送给主核,所述主核基于所述当前配置表中对应的配置信息启动所述主核将所述当前配置表存储于第一储存区域,通知所述当前配置表中对应个数的从核启动;各从核从所述第一储存区域读取所述当前配置表中对应的配置信息,基于读取的所述配置信息启动。179.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取所述主核和各从核的预设性能参数群中各性能参数对应的性能参数信息;基于所述性能参数信息,分别计算所述主核和各从核对应的参考雷达图面积;将所述主核和各从核对应的参考雷达图面积进行融合,得到所述当前配置表对应的初始雷达图面积。180.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取内核配置总量和内存配置总量;将当前配置表中的当前内存参数与预设值进行融合得到参考内存参数;基于所述参考内存参数和所述当前配置表中的当前内核参数确定分配的总内存;若所述总内存小于或者等于所述内存配置总量,则用所述参考内存参数更新所述当前配置表中的当前内存参数,得到更新配置表;若所述总内存大于所述内存配置总量,则对所述当前配置表中的当前内核参数进行更新的到参考内核参数,若所述参考内核参数小于或者等于所述内核配置总量,则用初始内存参数和参考内核参数分别更新所述当前配置表中的当前内存参数和当前内核参数,得到更新配置表。181.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若docker未进行资源配置,则获取宿主机的内核数量和内存分别作为所述内核配置总量和所述内存配置总量;若docker进行了资源配置,则获取所述资源配置中的内核数量及内存分别作为所述内核配置总量和所述内存配置总量。182.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对各个配置表对应的初始雷达图面积进行比较;若性能参数群中的性能参数为正向参数,则确定最大的初始雷达图面积为目标雷达图面积;若所述性能参数群中的性能参数为负向参数,则确定最小的初始雷达图面积为目标雷达图面积。183.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取目标对象对应的目标配置表,所述目标配置表是从多个配置表中确定的,是基于所述多个配置表依次启动目标对象对应的主核和各从核,基于性能参数信息得到各个配置表对应的初始雷达图面积,从所述各个配置表对应的初始雷达图面积中基于性能参数确定目标雷达图面积,所述目标雷达图面积对应的配置表为所述目标配置表;通知所述目标对象对应的主核基于所述目标配置表中对应的配置信息启动;通过所述主核通知所述目标配置表中对应个数的从核基于所述目标配置表中对应的配置信息启动。184.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。185.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistiverandomaccessmemory,mram)、铁电存储器(ferroelectricrandomaccessmemory,fram)、相变存储器(phasechangememory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。186.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。187.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1