CN114564374A - 算子性能评估方法、装置、电子设备及存储介质 - Google Patents
算子性能评估方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114564374A CN114564374A CN202210157139.1A CN202210157139A CN114564374A CN 114564374 A CN114564374 A CN 114564374A CN 202210157139 A CN202210157139 A CN 202210157139A CN 114564374 A CN114564374 A CN 114564374A
- Authority
- CN
- China
- Prior art keywords
- operator
- data
- service
- performance evaluation
- test data
- 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
- 238000011156 evaluation Methods 0.000 title claims abstract description 141
- 238000012360 testing method Methods 0.000 claims abstract description 143
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 46
- 230000004044 response Effects 0.000 claims description 61
- 238000012545 processing Methods 0.000 claims description 48
- 238000004458 analytical method Methods 0.000 claims description 32
- 238000000034 method Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 9
- 238000013209 evaluation strategy Methods 0.000 claims description 8
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 2
- 238000004422 calculation algorithm Methods 0.000 description 20
- 238000009530 blood pressure measurement Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 239000003795 chemical substances by application Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012549 training Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003924 mental process Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种算子性能评估方法、装置、电子设备及存储介质,涉及计算机技术领域,具体涉及AI开发、云平台等人工智能技术领域。具体实现方案为:确定待评估的人工智能AI算子;对算子进行服务部署,以得到算子服务;获取算子的数据集;根据数据集和算子服务对算子进行测试,以生成算子的性能评估数据。由此,能够降低测试人员的评估成本,同时降低人员干扰因素,提高性能评估的准确度。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及AI开发、云平台等人工智能技术领域,尤其涉及一种算子性能评估方法、装置、电子设备及存储介质。
背景技术
目前很多的应用和公有云的一些服务,都是需要基于AI(ArtificialIntelligence,人工智能)技术来进行封装和开发的。因此,服务端就需要部署AI算子服务集群来供上层业务封装以对外提供服务。这样,就需要对每个AI算子进行性能评估,产出性能数据后,才能方便的进行集群的容量规划。
传统的AI算法性能测试,主要方案为依赖测试人员操作压测工具进行发压,并且不断增加请求并发度来测试AI算子服务的极限压力,最终统计相关的资源数据、成功率数据等,形成最终的性能数据。
发明内容
本公开提供了一种算子性能评估方法、装置、电子设备及存储介质。
根据本公开的一方面,提供了一种算子性能评估方法,包括:
确定待评估的算子;
对所述算子进行服务部署,以得到算子服务;
获取所述算子的数据集;
根据所述数据集和所述算子服务对所述算子进行测试,以生成所述算子的性能评估数据。
根据本公开的另一方面,提供了一种算子性能评估装置,包括:
确定模块,用于确定待评估的人工智能AI算子;
服务部署模块,用于对所述算子进行服务部署,以得到算子服务;
获取模块,用于获取所述算子的数据集;
测试模块,用于根据所述数据集和所述算子服务对所述算子进行测试,以生成所述算子的性能评估数据。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述一方面实施例所述的算子性能评估方法。
根据本公开另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述一方面实施例所述的算子性能评估方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述一方面实施例所述的算子性能评估方法的步骤。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开实施例提供的一种算子性能评估方法的流程示意图;
图2为本公开实施例提供的另一种算子性能评估方法的流程示意图;
图3为本公开实施例提供的另一种算子性能评估方法的流程示意图;
图4为本公开实施例提供的另一种算子性能评估方法的流程示意图;
图5为本公开实施例提供的另一种算子性能评估方法的流程示意图;
图6为本公开实施例提供的另一种算子性能评估方法的流程示意图;
图7为本公开实施例提供的另一种算子性能评估方法的流程示意图;
图8为本公开实施例提供的一种算子处理耗时的示意图;
图9为本公开实施例提供的另一种算子性能评估方法的流程示意图;
图10为本公开实施例提供的一种算子请求成功率的示意图;
图11为本公开实施例提供的另一种算子性能评估方法的流程示意图;
图12为本公开实施例提供的一种算子性能评估装置的方框示意图;以及
图13为本公开实施例的算子性能评估方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面参考附图描述本公开实施例的算子性能评估方法、装置、电子设备及存储介质。
人工智能是研究使用计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术领域也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术包括计算机视觉技术、语音识别技术、自然语言处理技术以及深度学习、大数据处理技术、知识图谱技术等几大方向。
云计算平台也称为云平台,是指基于硬件资源和软件资源的服务,提供计算、网络和存储能力。云计算平台可以划分为3类:以数据存储为主的存储型云平台,以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。
本公开实施例提供的算子性能评估方法,可以由电子设备来执行,该电子设备可为PC(Personal Computer,个人计算机)电脑、平板电脑或掌上电脑、手机或服务器等,此处不做任何限定。
在本公开实施例中,电子设备中可以设置有处理组件、存储组件和驱动组件。可选的,该驱动组件和处理组件可以集成设置,该存储组件可以存储操作系统、应用程序或其他程序模块,该处理组件通过执行存储组件中存储的应用程序来实现本公开实施例提供的算子性能评估方法。
图1为本公开实施例提供的一种算子性能评估方法的流程示意图。
本公开实施例的算子性能评估方法,还可由本公开实施例提供的算子性能评估装置执行,该装置可配置于电子设备中,以实现确定待评估的人工智能AI算子,并对算子进行服务部署,以得到算子服务,而后获取算子的数据集,并根据数据集和算子服务对算子进行测试,以生成算子的性能评估数据,能够降低测试人员的评估成本,同时降低人员干扰因素,提高性能评估的准确度。
作为一种可能的情况,本公开实施例的算子性能评估方法还可以在服务器端执行,服务器可以为云服务器,可以在云端执行该算子性能评估方法。
作为另一种可能的情况,本公开实施例的算子性能评估方法可由算子性能评估平台执行,且该算子性能评估平台可部署在电子设备(例如,服务器)中,基于该电子设备运行该算子性能评估平台。
如图1所示,该算子性能评估方法,可包括:
步骤101,确定待评估的人工智能AI算子。
需要说明的是,该实施例中所描述的算子(即,人工智能AI算子)可为服务化之后的AI算子。
在本公开实施例中,相关研发人员可将服务化之后的算子发送(提交)至电子设备,该电子设备在接收并确定该算子之后,可将该算子存储在自身的存储空间中,以便于后续的调用(使用)。
步骤102,对算子进行服务部署,以得到算子服务。
在本公开实施例中,可根据预设的服务部署策略对算子进行自动化的服务部署,以得到算子服务,其中,预设的服务部署策略可根据实际情况进行标定。
具体地,电子设备在接收到上述的待评估的算子之后,可根据预设的服务部署策略对算子进行服务部署,以得到算子服务。
步骤103,获取算子的数据集。
需要说明的是,该实施例中所描述的数据集,可以是由相关测试人员收集的视频、图片、文本等组成的。
在本公开实施例中,相关测试人员可将上述数据集发送(提交)至电子设备中,该电子设备在接收到该数据集之后,可将该数据集存储在自身的存储空间中,以便于后续的调用(使用)。
具体地,电子设备在得到算子服务之后,可从自身的存储空间中获取(调出)上述算子的数据集。
作为一种可能的情况,电子设备在得到算子服务之后,可直接接收相关测试人员提交的上述算子的数据集。
步骤104,根据数据集和算子服务对算子进行测试,以生成算子的性能评估数据。
在本公开实施例中,电子设备在得到数据集之后,先根据预设的策略对该数据集进行封装处理,以生成算子服务的请求指令集,其中,该请求指令集中可包括多个请求指令。然后电子设备可根据该请求指令集和算子服务对算子进行测试,以生成算子的性能评估数据。
需要说明的是,该实施例中所描述的测试可为压力测试。
进一步地,电子设备在生成上述算子的性能评估数据之后,可将该算子的性能评估数据提供给相关人员,例如,通过短信发送、通过电子设备的显示屏进行展示、通过邮件进行发送等。
需要说明的是,该实施例中所描述的算子(AI算子)的性能评估数据,是后续PaaS(Platform as a Service,平台即服务)化大规模部署的基础。对于GPU(GraphicsProcessing Unit,图形处理器)类算子,会根据性能评估数据来进行动态调度,包括决定分配多少资源量、是否开启混布等决策,能够充分利用底层算力资源。目前已用于与真实的线上系统中,部署的GPU卡规模可为3000+卡,通过此存储的性能评估数据信息,对底层算子进行细致的资源分配和充分的混布,实现一卡多实例。
在本公开实施例中,首先确定待评估的人工智能AI算子,并对算子进行服务部署,以得到算子服务,然后获取算子的数据集,并根据数据集和算子服务对算子进行测试,以生成算子的性能评估数据。由此,能够降低测试人员的评估成本,同时降低人员干扰因素,提高性能评估的准确度。
相关技术中,算子(例如,AI算子)自动化部署的阻碍点主要包括以下:
1、部署形态:目前存在的环境有物理机、虚拟机、容器等,每一种形态的部署方式都不相同;
2、基础环境:服务真正运行起来还需要依赖库,如需要依赖glibc(c运行库)、操作系统内核版本等,python(计算机编程语言)服务还需要依赖python运行时、依赖包等;
3、GPU硬件依赖:AI算子服务,大部分需要使用GPU等硬件设备加速,因此还受GPU的显卡驱动版本、CUDA(Compute Unified Device Architecture,统一计算设备架构)版本、CuDNN(用于深度神经网络的GPU加速库)版本等限制。同时,不同模型对显卡型号也会限制,如某个AI算子只适配nvidia(英伟达)P4、T4,如果在拥有A10卡的机器上是会出现启动错误的;
4、服务启动方式:不同AI算子服务启动方式千差万别,比如有些可以通过几条命令就可以完成启动,有些需要进行一些环境变量配置、服务配置修改后才能启动。
为了解决上述问题,在本公开实施例中,可采用统一标准的方式,让每一个环境都符合标准,最终完成部署的自动化。主要涉及到的标准请参见下述表1:
表1
通过上述的标准后,相关研发人员可只需要在将服务化之后的算子发送(提交)至电子设备时,指定GPU型号,即可完成自动化部署,无需人工参与,可有效降低人员干扰因素,同时提高部署速度。
为了清楚说明上一实施例,在本公开的一个实施例中,如图2所示,对算子进行服务部署,以得到算子服务,可包括:
步骤201,获取算子的图形处理器GPU指定型号。
在本公开实施例中,相关研发人员在将服务化之后的算子发送(提交)至电子设备的同时,还可发送(提交)该算子的GPU指定型号至电子设备。
步骤202,根据GPU指定型号,确定部署策略。
需要说明的是,该实施例中所描述的部署策略可以是提前生成(设计)的,并将其预存在电子设备的存储空间中,以方便调取应用。
步骤203,根据部署策略对算子进行服务部署,以得到算子服务。其中,部署策略可根据实际情况进行标定。
具体地,相关研发人员在将服务化之后的算子发送(提交)至电子设备的同时,还可发送(提交)该算子的GPU指定型号至电子设备。该电子设备在接收到该算子和其对应的GPU指定型号之后,可先根据该GPU指定型号,从自身的存储空间中确定部署策略,并根据该部署策略自动对该算子进行服务部署,以得到算子服务。由此,可完成算子服务的自动化部署,无需人工参与,可有效降低人员干扰因素,同时提高部署速度。
相关技术中,对算子的测试都是测试人员手动进行的,主要原因可如下所示:
1、AI算子服务接口格式不同:针对输入格式,测试人员需要针对每个接口生成适配该服务的压测数据集,才能进行发压操作;针对输出格式,测试人员需要对不同格式进行解析判断该请求是否成功,从而判断是否需要继续执行下一轮压测。
2、压测结束的判断:当压测程序运行起来后,需要统计一些技术指标,如成功率、延时等情况变化,从而判断是否需要停止压测。目前,这个过程更多需要测试人员开发统计脚本,进行手工统计和人工判断。
针对以上两个问题,在本公开实施例中设计了相关的解决方案,来进行优化:
1、统一AI算子服务的输入标准(例如,下述请求指令集中请求指令的标准),可统一采用http(Hyper Text Transfer Protocol,超文本传输协议)格式方式。具体输入字段可如下表2所示:
表2
2、统一AI算子服务的输出标准(例如,下述测试数据、资源数据和响应数据等的标准),可统一采用json格式。具体输出字段可如下表3所示:
表33、对于错误码,也可进行统一,可如下表4所示:
表4
为了清楚说明上一实施例,在本公开的一个实施例中,如图3所示,根据数据集和算子服务对算子进行测试,以生成算子的性能评估数据,可包括:
步骤301,根据数据集和算子服务对算子进行测试,得到测试数据。
在本公开实施例中,电子设备在得到数据集之后,先根据预设的策略对该数据集进行封装处理,以生成算子服务的请求指令集,其中,该请求指令集中可包括多个请求指令。然后电子设备可根据该请求指令集和算子服务对算子进行测试,以生成算子的测试数据。
步骤302,对测试数据进行分析,得到算子的性能评估数据。
在本公开实施例中,可根据预设的分析算法对测试数据进行分析,以生成算子的性能评估数据。其中,预设的分析算法可根据实际情况进行标定,此处不作任何限定。
具体地,电子设备在获取到上述的测试数据之后,可直接根据预设的分析算法对测试数据进行分析,以生成算子的性能评估数据。
为了清楚说明上一实施例,在本公开的一个实施例中,如图4所示,根据数据集和算子服务对算子进行测试,得到测试数据吗,可包括:
步骤401,对数据集进行封装处理,以生成算子服务的请求指令集。
在本公开实施例中,可根据预设的封装算法对数据集进行封装处理,以生成算子服务的请求指令集。其中,预设的封装算法可根据实际情况进行标定。
具体的,电子设备在得到数据集之后,可根据预设的封装算法将数据集中的每个数据均分别封装成上述算子服务的请求指令集,且该请求指令集中的每个请求指令均是上述算子(即,算子服务)需要的请求格式。
需要说明的是,上述实施例中所描述的表2中的字段可为请求指令中包括的字段。其中,参见该表2,请求指令中的data字段可为算子真正的输入数据(即,指令参数),能够调用不同算子服务
步骤402,根据性能评估策略从请求指令集选取至少一个请求指令作为目标请求指令。其中,目标请求指令可为多个,性能评估策略可根据实际情况进行标定。
步骤403,根据目标请求指令调用算子服务,以生成算子的测试数据。
需要说明的是,上述实施例中所描述的表2中的字段可为测试数据中包括的字段。其中,参见该表3,测试数据中result字段可封装成统一的返回,并规范错误码,统一成标准格式后返回。
具体地,电子设备在得到上述算子服务的请求指令集之后,可根据性能评估策略从请求指令集选取至少一个请求指令作为目标请求指令,根据该目标请求指令中的data字段对应的输入数据(即,指令参数)指令调用算子服务,以生成算子的测试数据。其中,该测试数据可包括算子服务被调用执行过程中的返回数据(即,上述表3中的数据),以及本次算子服务的执行时间(即,处理耗时)和执行成功率等。
在本公开的另一个实施例中,如图5所示,对所述测试数据进行分析,得到所述算子的性能评估数据,可包括:
步骤501,判断测试数据是否满足熔断条件。其中,熔断条件可根据实际情况进行标定。
步骤502,若测试数据满足熔断条件,则获取算子服务在被调用过程中产生的资源数据和响应数据。
需要说明的是,该实施例中所描述的资源数据可包括算子服务运行时(即,算子服务被调用执行时)CPU(central processing unit,中央处理器)标准核、内存使用量、GPU显存使用量、GPU利用率等。该实施例中所描述的响应数据可包括测试时的平均耗时、分位耗时(50、60、70、80、90、95、99、999分位)、成功率等。
步骤503,对资源数据和响应数据进行分析,以生成算子的性能评估数据。
在本公开实施例中,可根据压测分析算法、性能评估算法等分析算法对资源数据和响应数据进行分析,以生成算子的性能评估数据。
具体地,电子设备在获取到上述的资源数据和响应数据之后,可直接根据压测分析算法或性能评估算法对资源数据和响应数据进行分析,以生成算子的性能评估数据。
作为一种可能的情况,还可根据分析模型对资源数据和响应数据进行分析,以生成算子的性能评估数据。应说明的是,该实施例中所描述的分析模型可以是提前训练好的,并将其预存在电子设备的存储空间中,以方便调取应用。
其中,该分析模型的训练与生成均可由相关的训练服务器执行,该训练服务器可以是云端服务器,也可以是一台电脑的主机,该训练服务器与可执行本公开实施例提供的算子性能评估方法的电子设备之间,建立有通信连接,该通信连接可以是无线网络连接和有线网络连接的至少一种。该训练服务器可将训练完成的分析模型发送给该电子设备,以便该电子设备在需要时调用,从而大大减少该电子设备的计算压力。
具体地,电子设备在获取到上述的资源数据和响应数据之后,可从自身的存储空间中调出(获取)分析模型,并将该资源数据和响应数据输入至该分析模型,从而通过该分析模型对该资源数据和响应数据进行分析,以得到该分析模型输出的上述算子的性能评估数据。
作为另一种可能的情况,电子设备还可使用分析工具(例如,插件),对上述资源数据和响应数据进行分析,以生成算子的性能评估数据。
相关技术中,对算子的测试无法自动化的原因,可主要包括以下几点:
1、对于资源数据,需要人工统计每个间隔时间内的资源用量,从而在一轮压测结束后,统计该阶段的资源使用量平均值;
2、对于响应数据,需要人工记录每次的请求的耗时、是否成功等信息。从而在一轮压测结束后统计该阶段的平均耗时、分位耗时和成功率;
3、生成的性能评估数据格式不统一,存储方式多样,不利于历史数据查看。
为了解决上述问题,本公开实施例提供的算子性能评估方法,可通过以下步骤(方式)解决:
1、可引入采集Agent(智能体),作为获取算子服务在被调用过程中产生的资源数据和响应数据的执行着(模块),其主要有以下两个功能:①、部署于算子(例如,AI算子)服务容器中,可每隔预设时间(例如,5s)自动采集一次资源指标(即,资源数据)进行上传;②、部署于网关的容器中,由网关将请求耗时、错误等信息按照规定的格式,写入日志文件中。Agent(智能体实时采集网关生成的日志进行上传。
2、对于资源数据,接收到每次上报的资源量后,先存储,待一轮压测结束后再统计该时间段的资源使用量平均值;
3、对于响应数据的统计,Agent(智能体)可按照规定的日志格式,解析出日志关键字段,包括:耗时、错误码等。然后待一轮压测结束后,将日志条数、耗时、错误码等进行聚合统计,输出调用量、耗时平均值和分位值、成功率数据;
4、当一轮压测完成后,将统计好的资源数据和响应数据进行存储;
5、当所有压测轮次完成后,即可输出此次压测的性能评估数据。
具体地,电子设备在得到上述的测试数据之后,可对该测试数据进行解析,并根据解析结果判断该测试数据是否满足熔断条件,如果是,则可通过上述的步骤(方式)获取算子服务在被调用过程中产生的资源数据和响应数据,即获取算子的性能评估数据。由此,能够实现算子的自动化测试,从而极大的缩短算子的测试时间。
进一步地,在本公开的一个实施例中,如图6所示,根据数据集和算子服务对算子进行测试,以生成算子的性能评估数据,还可包括:
步骤601,若测试数据不满足熔断条件,则根据性能评估策略重新从请求指令集选取至少一个请求指令作为目标请求指令。
需要说明的是,该实施例中所描述的性能评估策略可包括压力测试的策略,即按照不同的并发度递增从请求指令集选取请求指令作为目标请求指令。
例如,若上一次测试从请求指令集选取了一个请求指令,则本次可重新从请求指令集选取两个请求指令;若上一次测试从请求指令集选取了两个请求指令,则本次可重新从请求指令集选取三个请求指令。
步骤602,根据重新选取的目标请求指令调用算子服务,以重新生成算子的测试数据,直至重新生成的测试数据满足熔断条件。
具体地,电子设备在判断上述的测试数据不满足熔断条件后,可根据性能评估策略重新从请求指令集选取至少一个请求指令作为目标请求指令,并根据重新选取的目标请求指令调用算子服务,以重新生成算子的测试数据,直至重新生成的测试数据满足熔断条件。由此,能够实现算子的自动化压力测试,从而极大的缩短算子的测试时间。
为了清楚说明上一实施例,在本公开的一个实施例中,如图7所示,判断测试数据是否满足熔断条件,可包括::
步骤701,对测试数据进行解析,以获取算子服务的当前处理耗时。
在本公开实施例中,电子设备可根据预设的解析算法对测试数据进行解析,以获取算子服务的当前处理耗时。其中,预设的解析算法可根据实际情况进行标定。
作为一种可能的情况,电子设备可根据解析模型对测试数据进行解析,以获取算子服务的当前处理耗时。应说明的是,该实施例中所描述的解析模型可以是提前训练好的,并将其预存在电子设备的存储空间中,以方便调取应用。
作为另一种可能的情况,电子设备还可使用解析工具(例如,插件),对测试数据进行解析,以获取算子服务的当前处理耗时。
步骤702,获取算子服务前一次的历史处理耗时,并计算当前处理耗时和历史处理耗时之间的差异。
步骤703,若差异大于时间阈值,则确定测试数据满足熔断条件。其中,时间阈值进可根据实际情况进行标定。
具体地,电子设备在获取到算子服务的当前处理耗之后,可从自身的存储空间中获取算子服务前一次的历史处理耗时,并计算当前处理耗时和历史处理耗时之间的差的绝对值,以及判断该绝对值是否大于时间阈值,若是,则可说明算子服务请求延时数据出现大幅变化,即可认为已经到算子极限需要停止压测(即,压力测试),此时可确定测试数据满足熔断条件。
参见图8,当算子服务的并发请求为并发6(即,算子服务同时被6个请求指令调用)时,处理耗时(算子耗时)突然大幅上升,远远超过之前的平均耗时。因此,可以认为,此时算子的服务有大量排队现象发生,才导致了耗时上升。因此并发5为极限并发,需要停止压测。
由此,能够提高算子性能评估的准确度,同时算子性能评估数据有每次迭代(压测)的历史数据,方便后期用户进行回溯和查看。
另外,在本公开的一个实施例中,如图9所示,判断测试数据是否满足熔断条件,可包括::
步骤901,对测试数据进行解析,以获取算子服务的当前请求成功率。
在本公开实施例中,电子设备可根据上述的解析算法对测试数据进行解析,以获取算子服务的当前请求成功率,或者同时获取算子服务的当前处理耗时和当前请求成功率。
作为一种可能的情况,电子设备可根据上述的解析模型对测试数据进行解析,以获取算子服务的当前请求成功率,或者同时获取算子服务的当前处理耗时和当前请求成功率。
作为另一种可能的情况,电子设备还可使用上述的解析工具(例如,插件),对测试数据进行解析,以获取算子服务的当前请求成功率,或者同时获取算子服务的当前处理耗时和当前请求成功率。
步骤902,获取算子服务前一次的历史请求成功率,并计算当前请求成功率和历史请求成功率之间的差异。
步骤903,若差异大于成功率阈值,则确定测试数据满足熔断条件。
具体地,电子设备在获取到算子服务的当前请求成功率之后,可从自身的存储空间中获取算子服务前一次的历史请求成功率,并计算当前请求成功率和历史请求成功率之间的差的绝对值,以及判断该绝对值是否大于成功率阈值,若是,则可说明算子服务请求成功率数据出现大幅变化,即可认为已经到算子极限,需要停止压测,此时可确定测试数据满足熔断条件。
参见图10,当算子服务的并发请求为并发6(即,算子服务同时被6个请求指令调用)时,请求成功率突然开始下降,变化很大。因此,可以认为,此时算子的服务有大量排队产生的请求超时,最终导致请求失败。因此并发5为极限并发,需要停止压测。
由此,能够提高算子性能评估的准确度,同时算子性能评估数据有每次迭代(压测)的历史数据,方便后期用户进行回溯和查看。
进一步地,在本公开的一个实施例中,如图11所示,对资源数据和响应数据进行分析,以生成算子的性能评估数据,可包括:
步骤1101,分别对性资源数据和响应数据进行拆分,以得到目标资源数据、目标响应数据、参考资源数据和参考响应数据。
在本公开实施例中,电子设备可根据预设的拆分算法分别对资源数据和响应数据进行拆分,以得到目标资源数据和目标响应数据,以及参考资源数据和参考响应数据。其中,预设的拆分算法可根据实际情况进行标定。
作为一种可能的情况,电子设备可根据拆分模型分别对资源数据和响应数据进行拆分,以得到目标资源数据和目标响应数据,以及参考资源数据和参考响应数据。应说明的是,该实施例中所描述的拆分模型可以是提前训练好的,并将其预存在电子设备的存储空间中,以方便调取应用。
作为另一种可能的情况,电子设备还可使用拆分工具(例如,插件),分别对资源数据和响应数据进行拆分,以得到目标资源数据和目标响应数据,以及参考资源数据和参考响应数据。
需要说明的是,上述实施例中所描述的目标资源数据和目标响应数据可为算子整个测试(压力测试)过程中,倒数第二轮得到的资源数据和响应数据(即,极限并发下产生(获取)的资源数据和响应数据)。
步骤1102,根据目标资源数据、目标响应数据、参考资源数据和参考响应数据,对算子进行性能评估,以生成性能评估数据。
具体地,电子设备在得到目标资源数据和目标响应数据,以及参考资源数据和参考响应数据之后,可根据预设的性能评估算法、目标资源数据、目标响应数据、参考资源数据和参考响应数据,对算子进行性能评估,以生成性能评估数据。其中,预设的性能评估算法可根据实际情况进行标定。由此,能够得到算子的性能评估数据,可为后续PaaS化大规模部署打下基础,同时有利于充分利用底层算力资源。
图12为本公开实施例提供的一种算子性能评估装置的方框示意图。
本公开实施例的算子性能评估装置可配置于电子设备中,以实现确定待评估的人工智能AI算子,并对算子进行服务部署,以得到算子服务,而后获取算子的数据集,并根据数据集和算子服务对算子进行测试,以生成算子的性能评估数据,能够降低测试人员的评估成本,同时降低人员干扰因素,提高性能评估的准确度。
如图12所示,该算子性能评估装置1200,可包括:确定模块1210、服务部署模块1220、获取模块1230和测试模块1240。
其中,确定模块1210用于确定待评估的人工智能AI算子。
需要说明的是,该实施例中所描述的算子(即,人工智能AI算子)可为服务化之后的AI算子。
在本公开实施例中,相关研发人员可将服务化之后的算子发送(提交)至确定模块1210,该确定模块1210在接收并确定该算子之后,可将该算子存储在电子设备的存储空间中,以便于后续的调用(使用)。
服务部署模块1220用于对算子进行服务部署,以得到算子服务。
在本公开实施例中,服务部署模块1220可根据预设的服务部署策略对算子进行自动化的服务部署,以得到算子服务,其中,预设的服务部署策略可根据实际情况进行标定。
具体地,在确定模块1210确定上述的待评估的算子之后,服务部署模块1220可根据预设的服务部署策略对算子进行服务部署,以得到算子服务。
获取模块1230用于获取算子的数据集。
需要说明的是,该实施例中所描述的数据集,可以是由相关测试人员收集的视频、图片、文本等组成的。
在本公开实施例中,相关测试人员可将上述数据集发送至发送(提交)至获取模块1230中,该获取模块1230在接收到该数据集之后,可将该数据集存储在电子设备的存储空间中,以便于后续的调用(使用)。
具体地,在服务部署模块1220得到算子服务之后,获取模块1230可从电子设备的存储空间中获取(调出)上述算子的数据集。
作为一种可能的情况,在服务部署模块1220得到算子服务之后,获取模块1230可直接接收相关测试人员提交的上述算子的数据集。
测试模块1240用于根据数据集和算子服务对算子进行测试,以生成算子的性能评估数据。
在本公开实施例中,在获取模块1230得到数据集之后,测试模块1240可先根据预设的策略对该数据集进行封装处理,以生成算子服务的请求指令集,其中,该请求指令集中可包括多个请求指令。然后测试模块1240可根据该请求指令集和算子服务对算子进行测试,以生成算子的性能评估数据。
需要说明的是,该实施例中所描述的测试可为压力测试。
进一步地,测试模块1240在生成上述算子的性能评估数据之后,可将该算子的性能评估数据提供给相关人员,例如,通过短信发送、通过电子设备的显示屏进行展示、通过邮件进行发送等。
需要说明的是,该实施例中所描述的算子(AI算子)的性能评估数据,是后续PaaS化大规模部署的基础。对于GPU类算子,会根据性能评估数据来进行动态调度,包括决定分配多少资源量、是否开启混布等决策,能够充分利用底层算力资源。目前已用于与真实的线上系统中,部署的GPU卡规模可为3000+卡,通过此存储的性能评估数据信息,对底层算子进行细致的资源分配和充分的混布,实现一卡多实例。
在本公开实施例中,首先通过确定模块确定待评估的人工智能AI算子,并通过服务部署模块对算子进行服务部署,以得到算子服务,以及通过获取模块获取算子的数据集,然后通过测试模块根据数据集和算子服务对算子进行测试,以生成算子的性能评估数据。由此,能够降低测试人员的评估成本,同时降低人员干扰因素,提高性能评估的准确度。
在本公开的一个实施例中,如图12所示,测试模块1240,可包括:测试单元1241和分析单元1242。
其中,测试单元1241用于根据数据集和算子服务对算子进行测试,得到测试数据。
分析单元1242用于对测试数据进行分析,得到算子的性能评估数据。
在本公开的一个实施例中,服务部署模块1220具体用于:获取算子的图形处理器GPU指定型号;根据GPU指定型号,确定部署策略;根据部署策略对算子进行服务部署,以得到算子服务。
在本公开的一个实施例中,测试单元1241,具体用于:对数据集进行封装处理,以生成算子服务的请求指令集;根据性能评估策略从请求指令集选取至少一个请求指令作为目标请求指令;根据目标请求指令调用算子服务,以生成算子的测试数据。
在本公开的一个实施例中,分析单元1242具体用于:判断所述测试数据是否满足熔断条件;若所述测试数据满足熔断条件,则获取所述算子服务在被调用过程中产生的资源数据和响应数据;对所述资源数据和所述响应数据进行分析,以生成所述算子的性能评估数据。
在本公开的一个实施例中,分析单元1242具体用于:分别对资源数据和响应数据进行拆分,以得到目标资源数据、目标响应数据、参考资源数据和参考响应数据;根据目标资源数据、目标响应数据、参考资源数据和参考响应数据,对算子进行性能评估,以生成性能评估数据。
在本公开的一个实施例中,测试模块1240还用于:若测试数据不满足熔断条件,则根据性能评估策略重新从请求指令集选取至少一个请求指令作为目标请求指令;根据重新选取的目标请求指令调用算子服务,以重新生成算子的测试数据,直至重新生成的测试数据满足熔断条件。
在本公开的一个实施例中,分析单元1242还用于:对测试数据进行解析,以获取算子服务的当前处理耗时;获取算子服务前一次的历史处理耗时,并计算当前处理耗时和历史处理耗时之间的差异;若差异大于时间阈值,则确定测试数据满足熔断条件。
在本公开的一个实施例中,分析单元1242还用于:对测试数据进行解析,以获取算子服务的当前请求成功率;获取算子服务前一次的历史请求成功率,并计算当前请求成功率和历史请求成功率之间的差异;若差异大于成功率阈值,则确定测试数据满足熔断条件。
需要说明的是,前述对算子性能评估方法实施例的解释说明也适用于该实施例的算子性能评估装置,此处不再赘述。
本公开实施例的算子性能评估装置,首先通过确定模块确定待评估的人工智能AI算子,并通过服务部署模块对算子进行服务部署,以得到算子服务,以及通过获取模块获取算子的数据集,然后通过测试模块根据数据集和算子服务对算子进行测试,以生成算子的性能评估数据。由此,能够降低测试人员的评估成本,同时降低人员干扰因素,提高性能评估的准确度。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图13示出了可以用来实施本公开的实施例的示例电子设备1300的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图13所示,设备1300包括计算单元1301,其可以根据存储在只读存储器(ROM)1302中的计算机程序或者从存储单元1308加载到随机访问存储器(RAM)1303中的计算机程序,来执行各种适当的动作和处理。在RAM 1303中,还可存储设备1300操作所需的各种程序和数据。计算单元1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
设备1300中的多个部件连接至I/O接口1305,包括:输入单元1306,例如键盘、鼠标等;输出单元1307,例如各种类型的显示器、扬声器等;存储单元1308,例如磁盘、光盘等;以及通信单元1309,例如网卡、调制解调器、无线通信收发机等。通信单元1309允许设备1300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1301的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1301执行上文所描述的各个方法和处理,例如算子性能评估方法。例如,在一些实施例中,算子性能评估方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1308。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1302和/或通信单元1309而被载入和/或安装到设备1300上。当计算机程序加载到RAM 1303并由计算单元1301执行时,可以执行上文描述的算子性能评估方法的一个或多个步骤。备选地,在其他实施例中,计算单元1301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行算子性能评估方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (21)
1.一种算子性能评估方法,包括:
确定待评估的人工智能AI算子;
对所述算子进行服务部署,以得到算子服务;
获取所述算子的数据集;
根据所述数据集和所述算子服务对所述算子进行测试,以生成所述算子的性能评估数据。
2.根据权利要求1所述的方法,其中,所述根据所述数据集和所述算子服务对所述算子进行测试,以生成所述算子的性能评估数据,包括:
根据所述数据集和所述算子服务对所述算子进行测试,得到测试数据;
对所述测试数据进行分析,得到所述算子的性能评估数据。
3.根据权利要求1所述的方法,其中,所述对所述算子进行服务部署,以得到算子服务,包括:
获取所述算子的图形处理器GPU指定型号;
根据所述GPU指定型号,确定部署策略;
根据所述部署策略对所述算子进行服务部署,以得到所述算子服务。
4.根据权利要求2所述的方法,其中,所述根据所述数据集和所述算子服务对所述算子进行测试,得到测试数据,包括:
对所述数据集进行封装处理,以生成所述算子服务的请求指令集;
根据性能评估策略从所述请求指令集选取至少一个请求指令作为目标请求指令;
根据所述目标请求指令调用所述算子服务,以生成所述算子的测试数据。
5.根据权利要求4所述的方法,其中,所述对所述测试数据进行分析,得到所述算子的性能评估数据,包括:
判断所述测试数据是否满足熔断条件;
若所述测试数据满足熔断条件,则获取所述算子服务在被调用过程中产生的资源数据和响应数据;
对所述资源数据和所述响应数据进行分析,以生成所述算子的性能评估数据。
6.根据权利要求5所述的方法,其中,所述对所述资源数据和所述响应数据进行分析,以生成所述算子的性能评估数据,包括:
分别对所述资源数据和所述响应数据进行拆分,以得到目标资源数据、目标响应数据、参考资源数据和参考响应数据;
根据所述目标资源数据、所述目标响应数据、所述参考资源数据和所述参考响应数据,对所述算子进行性能评估,以生成所述性能评估数据。
7.根据权利要求5所述的方法,其中,所述根据所述数据集和所述算子服务对所述算子进行测试,以生成所述算子的性能评估数据,还包括:
若所述测试数据不满足所述熔断条件,则根据所述性能评估策略重新从所述请求指令集选取至少一个请求指令作为目标请求指令;
根据重新选取的目标请求指令调用所述算子服务,以重新生成所述算子的测试数据,直至重新生成的测试数据满足所述熔断条件。
8.根据权利要求5所述的方法,其中,所述判断所述测试数据是否满足熔断条件,包括:
对所述测试数据进行解析,以获取所述算子服务的当前处理耗时;
获取所述算子服务前一次的历史处理耗时,并计算所述当前处理耗时和所述历史处理耗时之间的差异;
若所述差异大于时间阈值,则确定所述测试数据满足所述熔断条件。
9.根据权利要求5所述的方法,其中,所述判断所述测试数据是否满足熔断条件,包括:
对所述测试数据进行解析,以获取所述算子服务的当前请求成功率;
获取所述算子服务前一次的历史请求成功率,并计算所述当前请求成功率和所述历史请求成功率之间的差异;
若所述差异大于成功率阈值,则确定所述测试数据满足所述熔断条件。
10.一种算子性能评估装置,包括:
确定模块,用于确定待评估的人工智能AI算子;
服务部署模块,用于对所述算子进行服务部署,以得到算子服务;
获取模块,用于获取所述算子的数据集;
测试模块,用于根据所述数据集和所述算子服务对所述算子进行测试,以生成所述算子的性能评估数据。
11.根据权利要求10所述的装置,其中,所述测试模块,包括:
测试单元,用于根据所述数据集和所述算子服务对所述算子进行测试,得到测试数据;
分析单元,用于对所述测试数据进行分析,得到所述算子的性能评估数据。
12.根据权利要求10所述的装置,其中,所述服务部署模块,具体用于:
获取所述算子的图形处理器GPU指定型号;
根据所述GPU指定型号,确定部署策略;
根据所述部署策略对所述算子进行服务部署,以得到所述算子服务。
13.根据权利要求11所述的装置,其中,所述测试单元,具体用于:
对所述数据集进行封装处理,以生成所述算子服务的请求指令集;
根据性能评估策略从所述请求指令集选取至少一个请求指令作为目标请求指令;
根据所述目标请求指令调用所述算子服务,以生成所述算子的测试数据。
14.根据权利要求13所述的装置,其中,所述分析单元,具体用于:
判断所述测试数据是否满足熔断条件;
若所述测试数据满足熔断条件,则获取所述算子服务在被调用过程中产生的资源数据和响应数据;
对所述资源数据和所述响应数据进行分析,以生成所述算子的性能评估数据。
15.根据权利要求14所述的装置,其中,所述分析单元,具体用于:
分别对所述资源数据和所述响应数据进行拆分,以得到目标资源数据、目标响应数据、参考资源数据和参考响应数据;
根据所述目标资源数据、所述目标响应数据、所述参考资源数据和所述参考响应数据,对所述算子进行性能评估,以生成所述性能评估数据。
16.根据权利要求14所述的装置,其中,所述测试模块,还用于:
若所述测试数据不满足所述熔断条件,则根据所述性能评估策略重新从所述请求指令集选取至少一个请求指令作为目标请求指令;
根据重新选取的目标请求指令调用所述算子服务,以重新生成所述算子的测试数据,直至重新生成的测试数据满足所述熔断条件。
17.根据权利要求14所述的装置,其中,所述分析单元,还用于:
对所述测试数据进行解析,以获取所述算子服务的当前处理耗时;
获取所述算子服务前一次的历史处理耗时,并计算所述当前处理耗时和所述历史处理耗时之间的差异;
若所述差异大于时间阈值,则确定所述测试数据满足所述熔断条件。
18.根据权利要求14所述的装置,其中,所述分析单元,还用于:
对所述测试数据进行解析,以获取所述算子服务的当前请求成功率;
获取所述算子服务前一次的历史请求成功率,并计算所述当前请求成功率和所述历史请求成功率之间的差异;
若所述差异大于成功率阈值,则确定所述测试数据满足所述熔断条件。
19.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的算子性能评估方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-9中任一项所述的算子性能评估方法。
21.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-9中任一项所述的算子性能评估方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210157139.1A CN114564374A (zh) | 2022-02-21 | 2022-02-21 | 算子性能评估方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210157139.1A CN114564374A (zh) | 2022-02-21 | 2022-02-21 | 算子性能评估方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114564374A true CN114564374A (zh) | 2022-05-31 |
Family
ID=81714612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210157139.1A Pending CN114564374A (zh) | 2022-02-21 | 2022-02-21 | 算子性能评估方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114564374A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115794604A (zh) * | 2022-10-14 | 2023-03-14 | 寒武纪行歌(南京)科技有限公司 | 数据生成方法、装置、设备、介质及程序产品 |
CN115934346A (zh) * | 2022-12-28 | 2023-04-07 | 北京大学 | 算子的自动检测方法、装置、电子设备及介质 |
CN116701923A (zh) * | 2022-10-13 | 2023-09-05 | 荣耀终端有限公司 | 算子性能的评估方法和评估装置 |
CN117453553A (zh) * | 2023-10-30 | 2024-01-26 | 中科驭数(北京)科技有限公司 | 性能测试分析方法、装置、设备及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190155712A1 (en) * | 2017-11-22 | 2019-05-23 | International Business Machines Corporation | System to manage economics and operational dynamics of it systems and infrastructure in a multi-vendor service environment |
CN111598363A (zh) * | 2019-02-20 | 2020-08-28 | 中国电力科学研究院有限公司 | 一种电网风险在线预警业务统一分析系统 |
CN112199385A (zh) * | 2020-09-30 | 2021-01-08 | 北京百度网讯科技有限公司 | 用于人工智能ai的处理方法、装置、电子设备和存储介质 |
CN112508044A (zh) * | 2019-09-16 | 2021-03-16 | 华为技术有限公司 | 人工智能ai模型的评估方法、系统及设备 |
CN112506619A (zh) * | 2020-12-18 | 2021-03-16 | 北京百度网讯科技有限公司 | 作业处理方法、装置、电子设备、存储介质和程序产品 |
CN112559183A (zh) * | 2020-12-18 | 2021-03-26 | 北京百度网讯科技有限公司 | 计算资源管理方法、装置、电子设备及存储介质 |
US20210319298A1 (en) * | 2021-06-24 | 2021-10-14 | Intel Corporation | Compute-based subgraph partitioning of deep learning models for framework integration |
CN113609027A (zh) * | 2021-08-31 | 2021-11-05 | 北京百度网讯科技有限公司 | 一种arm云服务器的测试方法、装置、电子设备和存储介质 |
CN113835991A (zh) * | 2020-06-23 | 2021-12-24 | 腾讯科技(深圳)有限公司 | 压测方法、装置、设备及计算机可读存储介质 |
US20210406385A1 (en) * | 2020-03-20 | 2021-12-30 | 5thColumn LLC | Analysis unit for analyzing a system or portion thereof |
-
2022
- 2022-02-21 CN CN202210157139.1A patent/CN114564374A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190155712A1 (en) * | 2017-11-22 | 2019-05-23 | International Business Machines Corporation | System to manage economics and operational dynamics of it systems and infrastructure in a multi-vendor service environment |
CN111598363A (zh) * | 2019-02-20 | 2020-08-28 | 中国电力科学研究院有限公司 | 一种电网风险在线预警业务统一分析系统 |
CN112508044A (zh) * | 2019-09-16 | 2021-03-16 | 华为技术有限公司 | 人工智能ai模型的评估方法、系统及设备 |
US20210406385A1 (en) * | 2020-03-20 | 2021-12-30 | 5thColumn LLC | Analysis unit for analyzing a system or portion thereof |
CN113835991A (zh) * | 2020-06-23 | 2021-12-24 | 腾讯科技(深圳)有限公司 | 压测方法、装置、设备及计算机可读存储介质 |
CN112199385A (zh) * | 2020-09-30 | 2021-01-08 | 北京百度网讯科技有限公司 | 用于人工智能ai的处理方法、装置、电子设备和存储介质 |
CN112506619A (zh) * | 2020-12-18 | 2021-03-16 | 北京百度网讯科技有限公司 | 作业处理方法、装置、电子设备、存储介质和程序产品 |
CN112559183A (zh) * | 2020-12-18 | 2021-03-26 | 北京百度网讯科技有限公司 | 计算资源管理方法、装置、电子设备及存储介质 |
US20210319298A1 (en) * | 2021-06-24 | 2021-10-14 | Intel Corporation | Compute-based subgraph partitioning of deep learning models for framework integration |
CN113609027A (zh) * | 2021-08-31 | 2021-11-05 | 北京百度网讯科技有限公司 | 一种arm云服务器的测试方法、装置、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
游静;董小龙;罗巨波;孙玉强;: "云模式下计算系统的性能监控与评价方法", 系统仿真学报, no. 12, 8 December 2013 (2013-12-08), pages 2845 - 2850 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116701923A (zh) * | 2022-10-13 | 2023-09-05 | 荣耀终端有限公司 | 算子性能的评估方法和评估装置 |
CN116701923B (zh) * | 2022-10-13 | 2024-05-17 | 荣耀终端有限公司 | 算子性能的评估方法和评估装置 |
CN115794604A (zh) * | 2022-10-14 | 2023-03-14 | 寒武纪行歌(南京)科技有限公司 | 数据生成方法、装置、设备、介质及程序产品 |
CN115794604B (zh) * | 2022-10-14 | 2024-04-19 | 寒武纪行歌(南京)科技有限公司 | 数据生成方法、装置、设备、介质及程序产品 |
CN115934346A (zh) * | 2022-12-28 | 2023-04-07 | 北京大学 | 算子的自动检测方法、装置、电子设备及介质 |
CN115934346B (zh) * | 2022-12-28 | 2023-10-20 | 北京大学 | 算子的自动检测方法、装置、电子设备及介质 |
CN117453553A (zh) * | 2023-10-30 | 2024-01-26 | 中科驭数(北京)科技有限公司 | 性能测试分析方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109302522B (zh) | 测试方法、装置以及计算机系统和介质 | |
CN114564374A (zh) | 算子性能评估方法、装置、电子设备及存储介质 | |
CN106776280B (zh) | 可配置性能测试装置 | |
CN111897724B (zh) | 一种适用于云平台的自动化测试方法及装置 | |
US20120060167A1 (en) | Method and system of simulating a data center | |
US11429434B2 (en) | Elastic execution of machine learning workloads using application based profiling | |
EP3964963A1 (en) | Method and apparatus for performing a stress test on a business system | |
CN111045911B (zh) | 性能测试方法、性能测试装置、存储介质与电子设备 | |
CN114968828B (zh) | 用于优化算法的性能测试方法、平台、设备及存储介质 | |
CN113127356A (zh) | 压测方法、装置、电子设备及存储介质 | |
CN113419941A (zh) | 评估方法及装置、电子设备和计算机可读存储介质 | |
CN114564390A (zh) | 应用程序的性能测试方法、装置、设备及产品 | |
CN117724980A (zh) | 软件框架性能的测试方法、装置、电子设备和存储介质 | |
US12001823B2 (en) | Systems and methods for building and deploying machine learning applications | |
CN115481594B (zh) | 计分板实现方法、计分板、电子设备及存储介质 | |
CN115391204A (zh) | 自动驾驶服务的测试方法、装置、电子设备及存储介质 | |
CN114661571A (zh) | 模型评测方法、装置、电子设备和存储介质 | |
US20220122038A1 (en) | Process Version Control for Business Process Management | |
CN113656313A (zh) | 自动化测试处理方法及装置 | |
CN114968741A (zh) | 一种基于场景平台化的性能测试方法、系统、设备和介质 | |
CN113656268B (zh) | 业务服务的性能测试方法、装置、电子设备和存储介质 | |
CN115098405B (zh) | 软件产品的测评方法、装置、电子设备及存储介质 | |
CN113742226B (zh) | 一种软件性能测试方法、装置、介质及电子设备 | |
CN109614328B (zh) | 用于处理测试数据的方法和装置 | |
CN115357493A (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 |