CN114253813A - 算力优化的方法、装置、电子设备及存储介质 - Google Patents
算力优化的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114253813A CN114253813A CN202010995806.4A CN202010995806A CN114253813A CN 114253813 A CN114253813 A CN 114253813A CN 202010995806 A CN202010995806 A CN 202010995806A CN 114253813 A CN114253813 A CN 114253813A
- Authority
- CN
- China
- Prior art keywords
- service processing
- processing module
- optimized
- determining
- state index
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Biophysics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及计算技术领域,公开了一种算力优化的方法、装置、电子设备及存储介质,基于大量并行计算的业务处理模块完成业务处理,并在一轮业务处理后筛选出待优化的业务处理模块进行优化,实现了业务处理过程中的资源动态优化,及时提高后续多轮业务处理的效率和精确度,所述方法包括:获取业务处理模块组中的至少一个业务处理模块在本轮业务处理中对应的运行状态指标,其中,业务处理模块组参与至少两轮业务处理,基于至少一个业务处理模块对应的运行状态指标,确定待优化的业务处理模块以及对应的优化方式,其中优化方式包括硬件调优或软件调优,并基于优化方式对待优化的业务处理模块进行优化,基于优化后的业务处理模块组进行下一轮业务处理。
Description
技术领域
本申请涉及计算技术领域,尤其涉及一种算力优化的方法、装置、电子设备及存储介质。
背景技术
伴随互联网络的快速发展,产生了大量的业务数据,这些数据具有规模大、增长迅速、结构多样化的特点,因此属于大数据范畴。通过对大数据进行相应的分析处理与开发利用,可以获得新的预测模型,对科研、生活产生重要积极的影响。但是由于大数据自身的复杂性以及当前算法难以为大数据高效处理提供弹性可扩展的计算能力,因此云计算的出现和发展解决这一问题。为了高效处理大数据,利用具有弹性可扩展特性的云计算平台所提供的虚拟化并行计算能力处理大数据计算任务。通过云计算平台可以同时使用多个处理器协同业务处理求解计算问题。
在多个处理器并行协同处理业务的过程中,处理器保持稳定运行有利于业务处理结果符合预期要求,为此会对处理器进行故障监控,通过业务处理过程中出现的故障提示进行故障修复,保障业务处理的正常进行。但是对于业务处理过程中未出现故障提示,业务处理的结果也未达到预期要求的情况,无法及时监控到故障的存在并进行故障排除,影响后续业务处理的效果和效率。
发明内容
本申请实施例提供一种算力优化的方法、装置、电子设备及存储介质,可基于业务处理模块的运行状态指标,及时确定出待优化的业务处理模块,进而在业务处理过程中对计算资源进行动态优化,及时提高业务处理的效率、以及业务处理的精确度。
一方面,本申请一实施例提供了一种算力优化的方法,包括:
获取业务处理模块组中的至少一个业务处理模块在本轮业务处理中对应的运行状态指标,其中,所述业务处理模块组参与至少两轮业务处理;
基于所述至少一个业务处理模块对应的运行状态指标,确定待优化的业务处理模块以及对应的优化方式,其中,所述优化方式包括硬件调优或软件调优;
基于所述优化方式对所述待优化的业务处理模块进行优化;
基于优化后的所述业务处理模块组进行下一轮业务处理。
可选地,所述业务处理为训练神经网络。
一方面,本申请一实施例提供了一种算力优化的装置,包括:
获取模块,用于获取业务处理模块组中的至少一个业务处理模块在本轮业务处理中对应的运行状态指标,其中,所述业务处理模块组参与至少两轮业务处理;
确定模块,用于基于所述至少一个业务处理模块对应的运行状态指标,确定待优化的业务处理模块以及对应的优化方式,其中,所述优化方式包括硬件调优或软件调优;
优化模块,用于基于所述优化方式对所述待优化的业务处理模块进行优化;
业务处理模块,用于基于优化后的所述业务处理模块组进行下一轮业务处理。
可选地,所述本轮业务处理中包含至少一个采样周期,所述确定模块,具体用于:
针对每一采样周期,基于所述至少一个业务处理模块在所述每一采样周期内的运行状态指标,确定所述至少一个业务处理模块在所述每一采样周期内的性能评估分数;
基于所述至少一个业务处理模块在所述每一采样周期内的性能评估分数,确定待优化的业务处理模块。
可选地,所述确定模块,具体用于:
基于所述至少一个业务处理模块在所述每一采样周期内的运行状态指标和每种运行状态指标分别对应的减分值,确定所述至少一个业务处理模块在所述每一采样周期内的性能评估分数。
可选地,所述装置还用于:
针对在任一采样周期内获取的任一业务处理模块的任一运行状态指标,若在所述任一采样周期的前一个采样周期内未获得所述任一业务处理模块对应的所述任一运行状态指标,则确定所述任一运行状态指标的减分权重为第一权重值,否则确定所述任一运行状态指标的减分权重为第二权重值;
所述确定模块,具体用于:
基于所述至少一个业务处理模块在所述每一采样周期内的运行状态指标、每种运行状态指标分别对应的减分值和减分权重,确定所述至少一个业务处理模块在所述每一采样周期内的性能评估分数。
可选地,所述确定模块,具体用于:
基于所述至少一个业务处理模块在所述多个采样周期内分别对应的性能评估分数,确定所述至少一个业务处理模块对应的分数均值和分数方差;
基于所述至少一个业务处理模块对应的分数均值和分数方差,确定待优化的业务处理模块。
可选地,所述确定模块,用于:
从所述至少一个业务处理模块中,筛选出分数均值不高于第一预设值的业务处理模块以及分数方差不低于第二预设值的业务处理模块;
将筛选出的业务处理模块确定为待优化的业务处理模块。
可选地,所述确定模块,具体用于:
统计所述待优化的业务处理模块对应的指定的运行状态指标在所述本轮业务处理中的出现次数;
若所述出现次数超过预设次数,则确定优化方式为硬件调优,否则确定优化方式为软件调优;
所述优化模块,具体用于:
当所述优化方式为硬件调优时,更换所述待优化的业务处理模块;
当所述优化方式为软件调优时,对所述待优化的业务处理模块的软件程序进行故障定位和修复。
可选地,所述业务处理为训练神经网络。
一方面,本申请一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种方法的步骤。
一方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
一方面,本申请一实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的算力优化的方法。
本申请实施例中,首先获取业务处理模块组中的至少一个业务处理模块在本轮业务处理中对应的运行状态指标,其中,业务处理模块组参与至少两轮业务处理,然后基于至少一个业务处理模块对应的运行状态指标,确定待优化的业务处理模块以及对应的优化方式,并基于优化方式对待优化的业务处理模块进行优化,其中,优化方式包括硬件调优或软件调优,最后基于优化后的业务处理模块组进行下一轮业务处理。本申请实施例提供的算力优化的方法、装置、电子设备及存储介质,可以在每轮业务处理结束后,基于至少一个业务处理模块在本轮业务处理中对应的运行状态指标,及时筛选出待优化的业务处理模块,并利用确定的待优化的业务处理模块对应的优化方式进行优化,不需要对所有的业务处理模块逐一进行优化,及时提高了业务处理的效率、以及业务处理的精确度。
附图说明
图1为本申请一实施例提供的算力优化的方法的应用场景示意图;
图2为本申请一实施例提供的算力优化的方法流程图;
图3a为本申请一实施例提供的算力优化的方法流程图;
图3b为本申请一实施例提供的基于清洗后的数据生成数据报表的方法流程图;
图4a为本申请一实施例提供的算力优化的方法流程图;
图4b为本申请一实施例提供的计算业务处理模块的性能评估分数的一种规则示意图;
图5为本申请一实施例提供的算力优化的方法流程图;
图6为本申请一实施例提供的算力优化的装置结构示意图;
图7为本申请一实施例提供的计算设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
云计算(cloud computing)指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(DistributedComputing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
运行状态指标,是指用于衡量设备在运行过程中设备状态是否良好的指标,基于这些指标可以衡量设备的可利用率、设备的新旧程度、设备的事故率、以及设备完成任务效率等。以GPU(Graphics Processing Unit,图形处理器)设备为例,GPU可对应的运行状态指标包括:ECC(Error Correcting Code,错误检查纠正)、SBE(Single Bit Error,单字节错误)、DBE(Double Bit Error,双字节错误)、xid(NVIDIA(英伟达)的一个术语,xid信息来自NVIDIA驱动程序的错误报告,且该错误报告存储在操作系统的内核日志或事件日志)、PCI-Express(Peripheral Component Interconnect Express,高速串行计算机扩展总线的传输速率)、SM_active(Streaming Multiprocessor_active,计算单元使用率)、power(电量实际功率)。
算力,也称作计算力,本申请实施例中主要是指处理模块处理的计算能力。以基于GPU训练神经网络为例,GPU资源性能及算力的不足会影响到训练获得的神经网络的性能,进而影响到训练的效果,因此,需要对GPU卡的性能进行评估,以对GPU卡进行硬件调优或者软件调优,以提高参与训练的GPU的算力,即算力优化。
在具体实践过程中,在多个处理器并行协同处理业务的过程中,处理器保持稳定运行有利于业务处理结果符合预期要求,一般根据业务处理过程中处理器出现的故障提示进行故障修复,但是若业务处理过程中未出现故障提示,业务处理的结果也未达到预期要求的情况,无法及时监控到故障的存在并进行故障排除,影响后续业务处理的效果和效率,且只能根据经验对所有处理器逐一进行优化,耗费时间长,也影响业务处理的效率。以AI(Artificial Intelligence,人工智能)技术领域的神经网络训练为例,若资源设备处于稳定运行状态,有利于减少对神经网络训练的影响。以GPU(Graphics Processing Unit,图形处理器)设备为例,单台GPU设备包括N个GPU卡,N为正整数,在多台GPU设备多个GPU卡的情况下,进行AI神经网络训练的应用场景中,若GPU运行过程中出现故障提示,则需要根据故障提示进行故障修复;若GPU运行过程中未出现故障提示,神经网络训练的结果也达到预期要求,则不需要对该训练过程进行算力优化,当前的神经网络训练结束;但是对于GPU运行过程中未出现故障提示,神经网络训练的结果也未达到预期要求,则需要对当前的神经网络训练进行算力优化,否则会影响后续神经网络训练的效果和效率。且现有技术中只能根据经验对多台GPU设备中的所有GPU卡逐一进行优化,耗费时间长,也影响训练效率和训练效果。
为此,本申请提供了一种算力优化的方法,首先获取业务处理模块组中的至少一个业务处理模块在本轮业务处理中对应的运行状态指标,其中业务处理模块组参与至少两轮业务处理,然后基于至少一个业务处理模块对应的运行状态指标,确定待优化的业务处理模块以及对应的优化方式,其中优化方式包括硬件调优或软件调优,并基于优化方式对待优化的业务处理模块进行优化,最后基于优化后的业务处理模块组进行下一轮业务处理。基于上述算力优化的方法,可以在每轮业务处理结束后,基于至少一个业务处理模块在本轮业务处理中对应的运行状态指标,及时筛选出待优化的业务处理模块,并利用确定的待优化的业务处理模块对应的优化方式进行优化,不需要对所有的业务处理模块逐一进行优化,实现了业务处理过程中计算资源的动态优化,及时提高了业务处理的效率、以及业务处理的精确度。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
参考图1,其为本申请实施例提供的算力优化的方法的应用场景示意图。该应用场景包括终端设备101、服务器102、数据库103和多个业务处理设备104(包括daemonset-agent(程序代理)、业务处理模块对应的驱动和业务处理模块1、业务处理模块2、……业务处理模块n)。其中,终端设备101、服务器102、数据库103和业务处理设备104之间通过无线或有线网络连接,终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视等电子设备。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。数据库103可包括总数据库1030、子数据库1031、……子数据库103n,每个子数据库可以对应一个业务处理设备104,每个子数据库获取并存储其对应的业务处理设备104中的数据,将每个子数据库中的数据集合到总数据库1030中。
这里,总数据库1030可以是MySQL等数据库,子数据库103n可以是时序数据库(InfluxDB)等数据库,在此仅举例说明,并不具体限定数据库的种类,可根据实际应用场景进行调整。
用户通过终端设备101向服务器102发送业务处理请求,服务器102根据业务处理所需的算力量,为该业务处理分配一定数量的业务处理模块,这些业务处理模块组成一个业务处理模块组,基于业务处理模块组内的业务处理模块并行执行具体的业务处理,其中,一个业务处理模块组中的业务处理模块可来自同一业务处理设备,也可以来自不同的业务处理设备,具体可根据业务处理对业务处理模块的需求量以及业务处理设备包含的业务处理模块的数量进行自由配置,本申请实施例不作限定。业务处理设备104在daemonset(守护程序)模式下运行,利用agent(代理)与业务处理模块对应的驱动进行交互,获取业务处理设备104中的至少一个业务处理模块在一轮业务处理中对应的运行状态指标,并发送运行状态指标至其对应的子数据库。当一轮业务处理结束后,服务器102从数据库103中获取参与本轮业务的业务处理模块组中的至少一个业务处理模块在本轮业务处理中对应的运行状态指标,根据运行状态指标确定出待优化的业务处理模块,对待优化的业务处理模块进行优化,然后控制优化后的业务处理模块组进行下一轮业务处理。
具体实施时,为了快速从数据库获取指定业务在指定时间段内对应的运行状态指标,agent发送的每一个业务处理模块的运行状态指标携带有对应的业务标识、业务处理模块的模块标识、所在的业务处理设备的设备标识、本轮业务处理对应的开始时间和结束时间等信息,数据库103对来源于不同业务处理设备104的数据进行汇总,具体地,可为每种业务处理对应一张数据表,根据业务标识将采集的运行状态指标以及运行状态指标携带的信息存储到对应的数据表中。
当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
下面结合图1所示的应用场景,对本申请实施例提供的技术方案进行说明。
参考图2,本申请实施例提供一种算力优化的方法,可应用于图1所示的服务器102,具体包括以下步骤:
S201,获取业务处理模块组中的至少一个业务处理模块在本轮业务处理中对应的运行状态指标,其中,业务处理模块组参与至少两轮业务处理。
具体地,服务器在接收到业务处理的请求指令后,通过数据存储服务获取至少一个业务处理模块在本轮业务处理中对应的运行状态指标,其中,数据库通过业务处理模块组获取并存储至少一个业务处理模块在本轮业务处理中对应的运行状态指标,其中,业务处理模块组在daemonset模式下运行,利用agent与业务处理模块对应的驱动进行交互,获取到至少一个业务处理模块在本轮业务处理中对应的运行状态指标,并发送运行状态指标至数据库。
示例性地,业务处理可以是训练神经网络,至少两轮业务处理可以是进行多次的神经网络训练,业务处理也可以是其他任务的处理,在此仅以神经网络为例,并不是具体的限定。业务处理模块组可以是CPU、GPU等具备计算能力的处理器,本申请实施例中仅以GPU为例,并不是具体的限定,每个业务处理模块组包括至少两个业务处理模块,例如,业务处理模块组可以是包括多个GPU卡的GPU设备。
以GPU设备为例,当通过GPU设备中的GPU卡进行神经网络训练时,获取至少一个GPU卡的运行状态指标,单台GPU设备包括N个GPU卡,N为正整数,在进行至少两轮业务处理过程中,业务处理模块组可以是单台GPU设备,也可以是多台GPU设备,在此可以根据实际的应用场景进行调整。
其中,每个GPU卡的运行状态指标可以包括以下运行状态指标中的一种或多种:ECC(Error Correcting Code,错误检查纠正)、SBE(Single Bit Error,单字节错误)、DBE(Double Bit Error,双字节错误)、xid(NVIDIA(英伟达)的一个术语,xid信息来自NVIDIA驱动程序的错误报告,且该错误报告存储在操作系统的内核日志或事件日志)、PCI-Express(Peripheral Component Interconnect Express,高速串行计算机扩展总线的传输速率)、SM_active(Streaming Multiprocessor_active,计算单元使用率)、power(电量实际功率)。
S202,基于至少一个业务处理模块对应的运行状态指标,确定待优化的业务处理模块以及对应的优化方式,其中,优化方式包括硬件调优或软件调优。
具体地,可先基于至少一个业务处理模块对应的运行状态指标,确定至少一个业务处理模块的性能评估分数;然后基于至少一个业务处理模块的性能评估分数,确定待优化的业务处理模块,再利用硬件调优或软件调优对待优化的业务处理模块进行优化。例如,业务处理模块为GPU设备中的GPU卡,每个GPU卡对应的运行状态指标可以是ECC、SBE、DBE、xid,若每个GPU卡的性能评估分数的初始分值为100分,ECC对应的减分值为减10分,即表示当ECC出现错误时,该GPU卡的性能评估分数减10分,同样的,SBE出现错误时对应的减分值为减10分,DBE出现错误时对应的减分值为减100分,xid出现错误时对应的减分值为减5分,统计整个本轮业务处理中各项运行状态指标出现的次数,确定该GPU卡的性能评估分数。
另外,当GPU卡的性能评估分数不满足预设分数时,确定该GPU卡待优化,即该GPU卡为待优化的业务处理模块,然后通过统计整个本轮业务处理中SBE、DBE出现的次数,确定该GPU卡对应的优化方式后,对该GPU卡进行优化;当GPU卡的性能评估分数满足预设分数时,确定该GPU卡不需要优化。
以GPU为例,采集ECC、SBE、DBE、xid等运行状态指标,将数据采集维度细粒度到GPU算子,使得获取的信息更全面、具体。
这里,基于至少一个业务处理模块对应的运行状态指标,确定至少一个业务处理模块的性能评估分数,以及基于至少一个业务处理模块的性能评估分数,确定待优化的业务处理模块以及对应的优化方式还有其他计算方法,在后续步骤中进行详细描述,在此不再赘述。
S203,基于优化方式对待优化的业务处理模块进行优化。
具体地,优化方式可以包括两种,一种是硬件优化方式,一种是软件优化方式,在此仅以这两种优化方式为例,并不做具体限定。
S204,基于优化后的业务处理模块组进行下一轮业务处理。
以训练神经网络为例,训练神经网络时,需要基于大量训练样本对神经网络进行多轮训练,直到神经网络的输出满足训练要求,在此过程中需要对训练神经网络使用的GPU进行优化,从资源层保障训练效果。具体地,服务器根据训练神经网络所需的资源数量,分配一定数量的GPU卡用于训练神经网络,这些GPU卡组成一个GPU组;基于GPU组内的GPU卡对神经网络进行第一轮训练,在此过程中,采集至少一个GPU卡的运行状态指标,并存储到数据库中;当本轮训练结束后,若确定神经网络的输出不满足训练要求,服务器从数据库中获取本轮训练中至少一个GPU卡的运行状态指标,基于本轮训练中至少一个GPU卡的运行状态指标,确定出待优化的GPU卡以及对应的优化方式,基于优化方式对待优化的GPU卡进行优化,得到优化后的业务处理模块组,然后基于优化后的业务处理模块组继续对神经网络进行下一轮的训练;重复上述步骤,直到神经网络的输出满足训练要求。基于上述方式,可在神经网络训练过程中,收集GPU卡的各项运行状态指标,基于运行状态指标筛选出待优化的GPU卡,在每一轮训练后对GPU卡进行算力优化,从资源层保提升经网络的训练效果,在用户无感知的情况下实现资源调优,不会影响正常的训练。
本申请实施例中首先获取业务处理模块组中的至少一个业务处理模块在本轮业务处理中对应的运行状态指标,其中,业务处理模块组参与至少两轮业务处理,然后基于至少一个业务处理模块对应的运行状态指标,确定待优化的业务处理模块以及对应的优化方式,并基于优化方式对待优化的业务处理模块进行优化,其中,优化方式包括硬件调优或软件调优,最后基于优化后的业务处理模块组进行下一轮业务处理。采用本实施例提供的算力优化的方法,可以在每轮业务处理结束后基于至少一个业务处理模块在本轮业务处理中对应的运行状态指标,及时筛选出待优化的业务处理模块,并利用确定的待优化的业务处理模块对应的优化方式进行优化,不需要对所有的业务处理模块逐一进行优化,及时提高了业务处理的效率、以及业务处理的精确度。另外,根据至少一个业务处理模块对应的运行状态指标,计算至少一个业务处理模块的性能评估分数后,确定待优化的业务处理模块,通过具体数据精确确定待优化的业务处理模块。
具体实施时,可先对至少一个业务处理模块在本轮业务处理中对应的运行状态指标进行数据清洗,基于清洗后的运行状态指标,确定待优化的业务处理模块以及对应的优化方式。如图3a所示,本申请实施例提供一种算力优化的方法,具体包括以下步骤:
S301,获取业务处理模块组中的至少一个业务处理模块在本轮业务处理中对应的运行状态指标,其中,业务处理模块组参与至少两轮业务处理。
S302,对至少一个业务处理模块在本轮业务处理中对应的运行状态指标进行数据清洗。
具体实施时,服务器从数据库中读取业务处理模块在本轮业务处理中对应的运行状态指标,然后对读取的运行状态指标进行数据清洗。其中,数据清洗中主要是检查运行状态指标的合理性,即检查运行状态指标的取值是否在合理的范围内,删除不合理的数据。具体地,将获取的至少一个业务处理模块的运行状态指标按照获取时间统计后,按照预设规则对统计后的数据进行数据清洗,示例性的业务处理模块为GPU卡时,若GPU卡的运行状态指标包括SM_active、ECC、SBE、DBE、xid,但统计中的数据显示运行状态指标SM_active的利用率为零,却采集到运行状态指标ECC、SBE、DBE中的一种或多种,则对采集到的不合理的数据进行删除;由于每个GPU卡的运行状态指标是按照获取时间进行统计的,因此统计完成后从时间维度看,若某一时刻没有统计到数据,该时刻的前一时刻以及后一时刻均统计到数据,则确定该时刻的前一时刻以及后一时刻统计到的数据为不可信任数据,应该删除;若某一时刻统计到的数据与该时刻的前一时刻以及后一时刻统计到数据相比,存在数据突增或者突降的情况时,该时刻的数据应该删除。
S303,基于清洗后的运行状态指标,确定待优化的业务处理模块以及对应的优化方式,其中,优化方式包括硬件调优或软件调优。
S304,基于优化方式对待优化的业务处理模块进行优化。
S305,基于优化后的业务处理模块组进行下一轮业务处理。
示例性地,如图3b所示,示出了本申请一实施例提供的基于清洗后的数据生成数据报表的方法流程图,具体包括以下步骤:
S3021,获取源数据。
具体地,获取业务处理模块组中的至少一个业务处理模块在本轮业务处理中对应的运行状态指标、以及本轮业务处理对应的开始时间和结束时间等信息,即源数据,将获取到的源数据存储到数据库中,例如存储源数据的数据库可以是MySQL。另外,MySQL中还可以预先存储用户发送的业务处理请求对应的业务处理起始时间、业务处理结束时间、以及该业务处理对应的负责人的相关信息等。
S3022,对获取的源数据进行数据清洗。
具体地,可以先判断本轮业务处理中对应的运行状态指标的数据量,若数据量较大时,可先统计需要清洗的数据量,按照数据量分配清洗过程中所需的计算资源。例如统计业务处理请求对应的业务处理起始时间至业务处理结束时间的业务运行时间段中,从MySQL导出的运行状态指标,然后计算数据量,此时运行状态指标中单条数据按照1kB计算,若数据量较大时,可先统计需要清洗的数据量,按照数据量分配清洗过程中所需的计算资源。这里,数据清洗过程与步骤S302中的数据清洗过程相同,在此不再赘述。
S3023,对清洗后的数据进行处理,以获得各业务处理模块的分数均值和分数方差。
具体地,以业务处理模块组中的一个业务处理模块为例,根据该业务处理模块对应的清洗后的运行状态指标,计算该业务处理模块对应的分数均值和分数方差,然后根据该业务处理模块的分数均值和分数方差,计算该业务处理模块组对应的分数均值和分数方差。
S3024,根据业务处理模块组中的各个业务处理模块的分数均值和分数方差,生成该业务处理模块组对应的数据报表。
其中,数据报表可包括:业务处理模块组对应的分数均值和分数方差、业务处理模块组中包含的业务处理模块数量、业务处理模块组中每个业务处理模块的分数均值、分数方差和性能评估分数、以及每个业务处理模块在本轮业务处理中的ECC、SBE、DBE等错误出现的次数等。具体地,可对业务处理模块组中所有业务处理模块的分数均值求平均值,获得业务处理模块组对应的分数均值,同样地,可对业务处理模块组中所有业务处理模块的分数方差求方差值,获得业务处理模块组对应的分数方差。
进一步地,当本轮业务处理中对应的运行状态指标的数据量较大时,可先统计需要清洗的数据量,按照数据量分配清洗过程中所需的计算资源。
具体实施时,业务处理模块组在daemonset模式下运行,利用agent与业务处理模块对应的驱动进行交互,获取到每一个业务处理模块在本轮业务处理中对应的运行状态指标(SM_active、power、ECC、SBE、DBE),其中具体的结构如下所示:
Struct ReportInfo{
Required string sm_active;
Required uint32 power;
Required uint32 ecc_cnt;
Required uint32 sbe_cnt;
Required uint32 dbe_cnt;
……
}
这里,ecc_cnt代表纠错的次数,sbe_cnt代表单字节错误次数,dbe_cnt代表双字节错误次数。
上述实施例中每轮业务处理包含一个采样周期,即一轮业务处理的时间即为一个采样周期。
进一步地,每轮业务处理中还可以包含多个采样周期,其中,每个采样周期的取值,可根据本轮业务处理的时长确定。
基于分周期采样的方式,可通过如下方式确定至少一个业务处理模块在每一采样周期内的性能评估分数:基于至少一个业务处理模块在每一采样周期内的运行状态指标,确定至少一个业务处理模块在每一采样周期内的性能评估分数。
例如,本轮业务处理所需时间共为5小时,一个采样周期时间为1小时,共需要5个采样周期对应的时间完成本轮业务处理,那么在本轮业务处理过程中,分别在第1小时内、第2小时内、第3小时内、第4小时内、第5小时内采集每个业务处理模块对应的运行状态指标,若该业务处理模块对应的运行状态指标为ECC、SBE、DBE、xid,则采集后的结果如表1所示,其中表中1代表运行状态出现错误,表中0代表运行状态未出现错误。通过对表1中业务处理模块对应的不同运行状态指标赋值不同分数,确定业务处理模块在每一采样周期内的性能评估分数,基于每个业务处理模块的性能评估分数,确定待优化的业务处理模块。
表1
具体的,如图4a所示,包括如下步骤:
S401,获取业务处理模块组中的至少一个业务处理模块在本轮业务处理中对应的运行状态指标,其中,业务处理模块组参与至少两轮业务处理。
S402,针对每一采样周期,基于至少一个业务处理模块在每一采样周期内的运行状态指标和每种运行状态指标分别对应的减分值,确定至少一个业务处理模块在每一采样周期内的性能评估分数,其中,在本轮业务处理中包含多个采样周期。
例如,如表2所示,在一个采样周期中,若每个业务处理模块均为GPU设备中对应的GPU卡,且每个GPU卡对应的运行状态指标为ECC、SBE、DBE、xid、PCI-Express、SM_active、power,其中,GPU卡的性能评估分数的初始分值为100分,ECC对应的减分值为减10分,即表示当出现ECC出现错误时,GPU卡的性能评估分数减10分,SBE出现错误时对应的减分值为减10分,DBE出现错误时对应的减分值为减100分,xid出现错误时对应的减分值为减5分,PCI-Express、SM_active、power出现时各自对应的减分值均为0分,即表示不扣分。
表2
以表2的分值对照表为例,在一个采样周期中,若某个GPU卡对应的运行状态指标为ECC未出现错误、SBE出现错误、DBE未出现错误、xid出现错误,则该GPU卡的性能评估分数为85分;若某个GPU卡对应的运行状态指标为ECC未出现错误、SBE出现错误、DBE出现错误、xid出现错误,则该GPU卡的性能评估分数为0分;若某个GPU卡对应的运行状态指标为ECC出现错误、SBE出现错误、DBE未出现错误、xid出现错误,则该GPU卡的性能评估分数为75分。
可选地,如图4b所示,示出了本申请一实施例提供的计算业务处理模块的性能评估分数的一种规则示意图。具体地,在一个采样周期中,基于业务处理模块对应的运行状态指标,根据致命报错、严重报错、提示信息以及正常信息对运行状态指标进行分类,利用分类后的运行状态指标分别对应的减分值,确定该业务处理模块的性能评估分数。
示例性地,一个业务处理模块为一个GPU卡,假设该GPU卡的性能评估分数的初始分值为100分,GPU卡对应的运行状态指标可以包括:ECC、SBE、DBE、xid、PCI-Express、SM_active、power,其中,运行状态指标SBE、DBE可以属于致命报错的类别,分别对应的减分值为减100分,运行状态指标ECC可以属于严重报错的类别,对应的减分值为减10分,运行状态指标xid可以属于提示信息的类别,对应的减分值为减5分,运行状态指标PCI-Express、SM_active、power可以属于正常信息的类别,分别对应的减分值为减0分,因此可以根据GPU卡的运行状态指标和每种运行状态指标分别对应的减分值,确定GPU卡的性能评估分数。
S403,基于至少一个业务处理模块在每一采样周期内的性能评估分数,确定待优化的业务处理模块。
在一种可能的实施方式中,可基于至少一个业务处理模块在多个采样周期内分别对应的性能评估分数,确定至少一个业务处理模块对应的分数均值和分数方差;基于至少一个业务处理模块对应的分数均值和分数方差,确定待优化的业务处理模块。
这里,可从至少一个业务处理模块中,筛选出分数均值不高于第一预设值的业务处理模块以及分数方差不低于第二预设值的业务处理模块;将筛选出的业务处理模块确定为待优化的业务处理模块。
示例性的,本轮业务处理所需时间共为3小时,一个采样周期时间为1小时,共需要3个采样周期对应的时间完成本轮业务处理,那么在本轮业务处理过程中,分别确定在第1小时内、第2小时内、第3小时内采集每个业务处理模块对应的运行状态指标,若每个业务处理模块对应的运行状态指标均为ECC、SBE、DBE、xid,假设某业务处理模块在第1小时内的性能评估分数为85分,在第2小时内的性能评估分数为75分,在第3小时内的性能评估分数为85分,则该业务处理模块对应的分数均值约为81.7,该业务处理模块对应的分数方差约为22.2。
由于分数均值可以体现出业务处理模块在业务处理中的处理能力,分数方差可以体现出业务处理模块在业务处理中的稳定性。
具体地,确定待优化的业务处理模块的具体方式可以包括以下至少一种:若业务处理模块对应的分数均值高于第一预设值,并且该业务处理模块对应的分数方差低于第二预设值的业务处理模块,则确定该业务处理模块为不需要优化的业务处理模块;或者,若业务处理模块对应的分数均值高于第一预设值,并且该业务处理模块对应的分数方差不低于第二预设值的业务处理模块,则确定该业务处理模块为需要优化的业务处理模块;或者,若业务处理模块对应的分数均值不高于第一预设值,并且业务处理模块对应的分数方差低于第二预设值的业务处理模块,则确定该业务处理模块为需要优化的业务处理模块;或者,若业务处理模块对应的分数均值不高于第一预设值,并且该业务处理模块对应的分数方差不低于第二预设值的业务处理模块,则确定该业务处理模块为待优化的业务处理模块。这里,不限定第一预设值与第二预设值的具体数值,可根据实际应用场景进行调整。
在另一种可能的实施方式中,可基于每个业务处理模块对应的分数均值,确定待优化的业务处理模块。例如,当业务处理模块对应的分数均值高于第一预设值时,确定为该业务处理模块为不需要优化的业务处理模块;当业务处理模块对应的分数均值不高于第一预设值时,确定该业务处理模块为待优化的业务处理模块。
在另一种可能的实施方式中,可基于每个业务处理模块对应的分数方差,确定待优化的业务处理模块。例如,当业务处理模块对应的分数方差低于第二预设值时,确定为该业务处理模块为不需要优化的业务处理模块;当业务处理模块对应的分数方差不低于第二预设值时,确定该业务处理模块为待优化的业务处理模块。
S404,基于至少一个业务处理模块对应的运行状态指标,确定待优化的业务处理模块对应的优化方式,其中,优化方式包括硬件调优或软件调优。
具体的,统计待优化的业务处理模块对应的指定的运行状态指标在本轮业务处理中的出现次数;若出现次数超过预设次数,则确定优化方式为硬件调优,否则确定优化方式为软件调优。
示例性的,指定的运行状态指标为SBE、DBE,针对多个采样周期,当待优化的业务处理模块对应的运行状态指标中出现至少一次DBE错误,或者至少两次SBE错误时,确定待优化的业务处理模块对应的优化方式为硬件调优,否则确定优化方式为软件调优。
S405,基于优化方式对待优化的业务处理模块进行优化。
具体的,当优化方式为硬件调优时,更换待优化的业务处理模块;当优化方式为软件调优时,对待优化的业务处理模块的软件程序进行故障定位和修复。
示例性的,若待优化的业务处理模块为GPU卡,优化方式为硬件调优时更换待优化的业务处理模块的具体操作为:先关闭GPU设备的电源,然后拔掉待优化的GPU卡,将已经检测过且不需待优化的GPU卡安装到待优化的GPU卡原本的位置,开启电源;或者,服务器对参与业务处理的业务处理模块组重新进行配置,将待优化的GPU卡从业务处理模块组中剔除出去,并将该GPU设备或其他GPU设备中空闲的GPU卡添加到业务处理模块组,自动完成硬件调优,提高优化效率。优化方式为软件调优时,获取待优化的GPU卡对应的crash(内存)的dump(错误)文件,在dump文件中搜索nvlink(英伟达开发的一种总线及其通信协议)、oom(Out Of Memory没有内存)等关键字,进而定位软件程序中的故障问题并修复问题,若未搜索到上述关键字,则结合软件程序查看crash内存中记录的用户程序软件故障问题并修复问题。
实际应用中,在确定出待优化的业务处理模块后,可基于该业务处理模块执行的具体业务的业务标识,确定该业务对应的负责人,将待优化的业务处理模块对应的设备标识、模块标识、优化方式、性能评估分数、分数平均、分数方差、运行状态指标等信息发送给负责人,以提醒负责人对业务处理模块进行优化。
S406,基于优化后的业务处理模块组进行下一轮业务处理。
本实施例中通过采集多个采样周期的运行状态指标,获得业务处理模块在本轮业务处理中各个时间段的运行状态,并将不同的运行指标按照多个等级赋予不同的减分值,得到更准确、更全面的性能评估分数,并利用多个采样周期分别对应的性能评估分数,计算业务处理模块对应的分数均值和分数方差,以更准确地定位出待优化的业务处理模块。
具体实施时,服务器102还可以将业务处理过程中确定出的待优化的业务处理模块的相关信息发送至业务处理模块的供应厂商,相关信息包括:业务处理模块的运行状态指标、性能评估分数、定位出的故障问题、执行的业务处理的类型(如神经网络训练、高并发业务)等,为供应厂商优化同类型的业务处理模块提供参考。
本申请的一实施例中,还提供一种算力优化的方法,在本轮业务处理中包含多个采样周期,针对在任一采样周期内获取的任一业务处理模块的任一运行状态指标,若在任一采样周期的前一个采样周期内未获得任一业务处理模块对应的任一运行状态指标,则确定任一运行状态指标的减分权重为第一权重值,否则确定任一运行状态指标的减分权重为第二权重值,如图5所示,包括如下步骤:
S501,获取业务处理模块组中的至少一个业务处理模块在本轮业务处理中对应的运行状态指标,其中,业务处理模块组参与至少两轮业务处理。
S502,针对每一采样周期,基于至少一个业务处理模块在每一采样周期内的运行状态指标、每种运行状态指标分别对应的减分值和减分权重,确定至少一个业务处理模块在每一采样周期内的性能评估分数,其中,在本轮业务处理中包含多个采样周期。
示例性的,若本轮业务处理所需时间共为3小时,一个采样周期时间为1小时,共需要3个采样周期对应的时间完成本轮业务处理,那么在本轮业务处理过程中,分别在第1小时内、第2小时内、第3小时内采集每个业务处理模块对应的运行状态指标,若该业务处理模块对应的运行状态指标为ECC、SBE、DBE、xid,且假设每个运行状态指标所占的减分权重均为25%,在此每个运行状态指标所占的减分权重可根据实际应用场景进行调整,在此不作限定。
根据每个运行状态指标所占的减分权重可知,SBE初次出现错误时对应的减分值为减80分,SBE连续出现错误时对应的减分值为减100分,DBE初次出现错误时对应的减分值为减100分,DBE连续出现错误时对应的减分值为减100分,ECC初次出现错误时对应的减分值为减10分,ECC连续出现错误时对应的减分值为减12.5分,xid初次出现错误时对应的减分值为减5分,xid连续出现错误时对应的减分值为减6.25分。若采集后的结果如表3所示,其中表中1代表运行状态出现错误,表中0代表运行状态未出现错误,则第1小时后业务处理模块的性能评估分数为0分,第2小时后业务处理模块的性能评估分数为0分,第3小时后业务处理模块的性能评估分数为0分。
表3
若采集后的结果如表4所示,其中表中1代表运行状态出现错误,表中0代表运行状态未出现错误,则第1小时对应的业务处理模块的性能评估分数为85分,第2小时对应的业务处理模块的性能评估分数为71.25分,第3小时对应的业务处理模块的性能评估分数为87.5分。
表4
S503,基于至少一个业务处理模块在每一采样周期内的性能评估分数,确定待优化的业务处理模块。
这里,基于至少一个业务处理模块的性能评估分数,确定待优化的业务处理模块的具体步骤与步骤S403相同,在此不再赘述。
S504,基于至少一个业务处理模块对应的运行状态指标,确定待优化的业务处理模块对应的优化方式,其中,优化方式包括硬件调优或软件调优。
这里,基于至少一个业务处理模块对应的运行状态指标,确定待优化的业务处理模块对应的优化方式的具体步骤与步骤S404相同,在此不再赘述。
S505,基于优化方式对待优化的业务处理模块进行优化。
S506,基于优化后的业务处理模块组进行下一轮业务处理。
本实施例中通过采集多个采样周期的运行状态指标,获得业务处理模块在本轮业务处理中各个时间段的运行状态,并基于当前采集周期与前一采集周期的运行状态指标对比,确定当前采集周期的运行状态指标是初次出现错误还是持续出现错误,进而将不同的运行指标按照多个等级赋予不同的减分值、以及减分权重,得到更准确、更全面的性能评估分数,并利用多个采样周期分别对应的性能评估分数,计算业务处理模块对应的分数均值和分数方差,以更精准的确定待优化的业务处理模块。
本实施例中采集多个采样周期的运行状态指标进行算力优化,可以无需监控到业务处理模块组提示故障告警时再去检查修复故障,通过采集运行状态指标,既可以在业务处理的实际运行处理过程中进行监控确定待优化的业务处理模块并进行优化,也可以在业务处理上线使用前,提前试行监控确定待优化的业务处理模块并进行优化,以便于业务处理上线后更好的运行。
需要说明的是,本申请实施例中优化的资源是业务处理模块的算力,具体可通过对业务处理模块进行软件调优或硬件调优,来优化业务处理模块的算力。以基于GPU训练神经网络为例,可对参与训练的GPU设备中的GPU卡进行性能评估,基于性能评估结果确定出待优化的GPU卡,并对待优化的GPU卡进行硬件调优或者软件调优,以提高GPU设备中的GPU卡的算力,即对GPU卡进行算力优化。对于本领域技术人员显而易见的是,除了算力的其他资源也可以采用相同的调优方法。这些应用场景也应被认为是本申请的一部分。
如图6所示,基于与上述算力优化的方法相同的发明构思,本申请实施例还提供了一种算力优化的装置60,具体包括获取模块601、确定模块602、优化模块603和业务处理模块604。
获取模块601,用于获取业务处理模块组中的至少一个业务处理模块在本轮业务处理中对应的运行状态指标,其中,业务处理模块组参与至少两轮业务处理;
确定模块602,用于基于至少一个业务处理模块对应的运行状态指标,确定待优化的业务处理模块以及对应的优化方式,其中,优化方式包括硬件调优或软件调优;
优化模块603,用于基于优化方式对待优化的业务处理模块进行优化;
业务处理模块604,用于基于优化后的业务处理模块组进行下一轮业务处理。
可选地,本轮业务处理中包含至少一个采样周期,确定模块602,具体用于:
针对每一采样周期,基于至少一个业务处理模块在每一采样周期内的运行状态指标,确定至少一个业务处理模块在每一采样周期内的性能评估分数;
基于至少一个业务处理模块在每一采样周期内的性能评估分数,确定待优化的业务处理模块。
可选地,确定模块602,具体用于:
基于至少一个业务处理模块在每一采样周期内的运行状态指标和每种运行状态指标分别对应的减分值,确定至少一个业务处理模块在每一采样周期内的性能评估分数。
可选地,算力优化的装置60还用于:
针对在任一采样周期内获取的任一业务处理模块的任一运行状态指标,若在任一采样周期的前一个采样周期内未获得任一业务处理模块对应的任一运行状态指标,则确定任一运行状态指标的减分权重为第一权重值,否则确定任一运行状态指标的减分权重为第二权重值;
确定模块602,具体用于:
基于至少一个业务处理模块在每一采样周期内的运行状态指标、每种运行状态指标分别对应的减分值和减分权重,确定至少一个业务处理模块在每一采样周期内的性能评估分数。
可选地,确定模块602,具体用于:
基于至少一个业务处理模块在多个采样周期内分别对应的性能评估分数,确定至少一个业务处理模块对应的分数均值和分数方差;
基于至少一个业务处理模块对应的分数均值和分数方差,确定待优化的业务处理模块。
可选地,确定模块602,用于:
从至少一个业务处理模块中,筛选出分数均值不高于第一预设值的业务处理模块以及分数方差不低于第二预设值的业务处理模块;
将筛选出的业务处理模块确定为待优化的业务处理模块。
可选地,确定模块602,具体用于:
统计待优化的业务处理模块对应的指定的运行状态指标在本轮业务处理中的出现次数;
若出现次数超过预设次数,则确定优化方式为硬件调优,否则确定优化方式为软件调优;
优化模块603,具体用于:
当优化方式为硬件调优时,更换待优化的业务处理模块;
当优化方式为软件调优时,对待优化的业务处理模块的软件程序进行故障定位和修复。
可选地,业务处理为训练神经网络。
本申请实施例提的算力优化的装置与上述算力优化的方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。算力优化的装置内部的结构可参考算力优化的装置内部的结构,不再赘述。
需要说明的是,虽然本申请实施例中优化的资源是业务处理模块的算力,对于本领域技术人员显而易见的是,除了算力的其他资源也可以采用相似的优化装置进行调优。这些应用场景也应被认为是本申请的一部分。
基于与上述算力优化的方法相同的发明构思,本申请实施例还提供了一种电子设备,该电子设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、服务器等。如图7所示,该电子设备70可以包括处理器701和存储器702。
处理器701可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器702还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于:移动存储设备、随机存取存储器(RAM,Random Access Memory)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、随机存取存储器(RAM,Random Access Memory)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等各种可以存储程序代码的介质。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的算力优化的方法。
以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本申请实施例的方法,不应理解为对本申请实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (10)
1.一种算力优化的方法,其特征在于,包括:
获取业务处理模块组中的至少一个业务处理模块在本轮业务处理中对应的运行状态指标,其中,所述业务处理模块组参与至少两轮业务处理;
基于所述至少一个业务处理模块对应的运行状态指标,确定待优化的业务处理模块以及对应的优化方式,其中,所述优化方式包括硬件调优或软件调优;
基于所述优化方式对所述待优化的业务处理模块进行优化;
基于优化后的所述业务处理模块组进行下一轮业务处理。
2.根据权利要求1所述的方法,其特征在于,所述本轮业务处理中包含至少一个采样周期,所述基于所述至少一个业务处理模块对应的运行状态指标,确定待优化的业务处理模块,具体包括:
针对每一采样周期,基于所述至少一个业务处理模块在所述每一采样周期内的运行状态指标,确定所述至少一个业务处理模块在所述每一采样周期内的性能评估分数;
基于所述至少一个业务处理模块在所述每一采样周期内的性能评估分数,确定待优化的业务处理模块。
3.根据权利要求2所述的方法,其特征在于,所述基于所述至少一个业务处理模块在所述每一采样周期内的运行状态指标,确定所述至少一个业务处理模块在所述每一采样周期内的性能评估分数,具体包括:
基于所述至少一个业务处理模块在所述每一采样周期内的运行状态指标和每种运行状态指标分别对应的减分值,确定所述至少一个业务处理模块在所述每一采样周期内的性能评估分数。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
针对在任一采样周期内获取的任一业务处理模块的任一运行状态指标,若在所述任一采样周期的前一个采样周期内未获得所述任一业务处理模块对应的所述任一运行状态指标,则确定所述任一运行状态指标的减分权重为第一权重值,否则确定所述任一运行状态指标的减分权重为第二权重值;
所述基于所述至少一个业务处理模块在所述每一采样周期内的运行状态指标和每种运行状态指标分别对应的减分值,确定所述至少一个业务处理模块在所述每一采样周期内的性能评估分数,具体包括:
基于所述至少一个业务处理模块在所述每一采样周期内的运行状态指标、每种运行状态指标分别对应的减分值和减分权重,确定所述至少一个业务处理模块在所述每一采样周期内的性能评估分数。
5.根据权利要求2至4任一项所述的方法,其特征在于,所述基于所述至少一个业务处理模块在所述每一采样周期内的性能评估分数,确定待优化的业务处理模块,具体包括:
基于所述至少一个业务处理模块在所述多个采样周期内分别对应的性能评估分数,确定所述至少一个业务处理模块对应的分数均值和分数方差;
基于所述至少一个业务处理模块对应的分数均值和分数方差,确定待优化的业务处理模块。
6.根据权利要求5所述的方法,其特征在于,所述基于所述至少一个业务处理模块对应的分数均值和分数方差,确定待优化的业务处理模块,包括:
从所述至少一个业务处理模块中,筛选出分数均值不高于第一预设值的业务处理模块以及分数方差不低于第二预设值的业务处理模块;
将筛选出的业务处理模块确定为待优化的业务处理模块。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述基于所述至少一个业务处理模块对应的运行状态指标,确定待优化的业务处理模块对应的优化方式,具体包括:
统计所述待优化的业务处理模块对应的指定的运行状态指标在所述本轮业务处理中的出现次数;
若所述出现次数超过预设次数,则确定优化方式为硬件调优,否则确定优化方式为软件调优;
所述基于所述优化方式对所述待优化的业务处理模块进行优化,具体包括:
当所述优化方式为硬件调优时,更换所述待优化的业务处理模块;
当所述优化方式为软件调优时,对所述待优化的业务处理模块的软件程序进行故障定位和修复。
8.一种算力优化的装置,其特征在于,包括:
获取模块,用于获取业务处理模块组中的至少一个业务处理模块在本轮业务处理中对应的运行状态指标,其中,所述业务处理模块组参与至少两轮业务处理;
确定模块,用于基于所述至少一个业务处理模块对应的运行状态指标,确定待优化的业务处理模块以及对应的优化方式,其中,所述优化方式包括硬件调优或软件调优;
优化模块,用于基于所述优化方式对所述待优化的业务处理模块进行优化;
业务处理模块,用于基于优化后的所述业务处理模块组进行下一轮业务处理。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010995806.4A CN114253813A (zh) | 2020-09-21 | 2020-09-21 | 算力优化的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010995806.4A CN114253813A (zh) | 2020-09-21 | 2020-09-21 | 算力优化的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114253813A true CN114253813A (zh) | 2022-03-29 |
Family
ID=80788295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010995806.4A Pending CN114253813A (zh) | 2020-09-21 | 2020-09-21 | 算力优化的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114253813A (zh) |
-
2020
- 2020-09-21 CN CN202010995806.4A patent/CN114253813A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783237B (zh) | 一种资源配置方法及装置 | |
US20180060395A1 (en) | Selecting interruptible resources for query execution | |
US7685251B2 (en) | Method and apparatus for management of virtualized process collections | |
CN112800095B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
US20170206184A9 (en) | Techniques to perform curve fitting for statistical tests | |
CN109684162B (zh) | 设备状态预测方法、系统、终端及计算机可读存储介质 | |
US9965327B2 (en) | Dynamically scalable data collection and analysis for target device | |
US9588813B1 (en) | Determining cost of service call | |
CN111339073A (zh) | 实时数据处理方法、装置、电子设备及可读存储介质 | |
CN110032576B (zh) | 一种业务处理方法以及装置 | |
CN104937548A (zh) | 动态图的性能监视 | |
CN115373835A (zh) | Flink集群的任务资源调整方法、装置及电子设备 | |
CN111400294B (zh) | 数据异常监测方法、装置及系统 | |
CN114490078A (zh) | 一种微服务的动态缩扩容方法、装置及设备 | |
CN110096339B (zh) | 一种基于系统负载实现的扩缩容配置推荐系统及方法 | |
US9280386B1 (en) | Identifying task instance outliers based on metric data in a large scale parallel processing system | |
CN111897706A (zh) | 服务器性能预测方法、装置、计算机系统和介质 | |
CN108664322A (zh) | 数据处理方法及系统 | |
US20160253591A1 (en) | Method and apparatus for managing performance of database | |
CN116647560A (zh) | 物联网计算机集群协调优化控制方法、装置、设备及介质 | |
CN114253813A (zh) | 算力优化的方法、装置、电子设备及存储介质 | |
CN109213476A (zh) | 一种安装包的生成方法、计算机可读存储介质及终端设备 | |
CN114911615A (zh) | 微服务运行时智能预测调度的方法及应用 | |
CN113220551A (zh) | 指标趋势预测及预警方法、装置、电子设备及存储介质 | |
CN112000478A (zh) | 作业运行资源分配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |