性能分析方法和装置、电子设备及计算机可读存储介质与流程

文档序号:30331219发布日期:2022-06-08 05:43阅读:128来源:国知局
性能分析方法和装置、电子设备及计算机可读存储介质与流程

1.本技术涉及计算技术领域,尤其涉及一种性能分析方法和装置、电子设备及计算机可读存储介质。


背景技术:

2.随着人工智能技术的发展,越来越多的生活和工作场景中都能够见到人工智能技术的身影,来帮助提高人们的日常生活便利性以及提高人们的工作效率。作为人工智能技术的核心,人工智能,特别是机器学习模型成为了人工智能场景开发的最关键因素。因此,在现有的人工智能开发过程中,已经提出了大量的人工智能或模型来供技术开发人员使用。但是不同的人工智能或模型通常具有不同的参数要求并且在提供的性能方面也存在着差异,因此对于开发人员来说,需要对于所要开发的目标场景选择适合的人工智能或模型,才能够实现想要的用户的体验。
3.在这样的人工智能或模型的选择方面,通常需要研发人员对于该或模型由十分深入的了解,但是随着人工智能技术的发展,人工智能或模型的数量也越来越多,其结构也越来越复杂,因此现有技术提出了允许开发人员针对特定的场景需求来对各种进行测试,从而研发人员可以根据测试的结果来反过来了解哪些更适合于当前的目标场景,并且这样的测试方案也有助于开发人员对于被测试的或模型有更深入的理解,从而可以基于该测试结果来进一步对或模型进行改进,以提升或模型的性能。


技术实现要素:

4.本技术实施例提供一种性能分析方法和装置、电子设备及计算机可读存储介质,以解决现有技术中需要人工进行性能分析的缺陷。
5.为达到上述目的,本技术实施例提供了一种性能分析方法,包括:
6.向用户展示任务创建界面,其中,所述任务创建界面中包括用户输入任务配置请求的第一输入控件,其中所述任务是用于执行机器学习模型计算而创建的任务;
7.接收用户通过所述第一输入控件输入的任务配置请求;
8.向用户展示任务运行环境配置界面,其中所述任务运行环境配置界面中包括用户输入运行环境配置参数的第二输入控件;
9.接收用户通过所述任务运行环境配置界面输入的运行环境配置参数,并根据所述运行环境配置参数创建运行根据所述任务配置请求配置的任务的任务运行环境;
10.对于在所述任务运行环境中运行的任务执行分析处理,以生成性能分析日志;
11.向用户展示性能分析界面,在所述性能分析界面上至少显示所述性能分析结果,其中,所述性能分析结果是根据所述性能分析日志生成的。
12.本技术实施例还提供了一种性能分析装置,包括:
13.第一展示模块,用于向用户展示任务创建界面,其中,所述任务创建界面中包括用户输入任务配置请求的第一输入控件,其中所述任务是用于执行机器学习模型计算而创建
的任务;
14.第一接收模块,用于接收用户通过所述第一输入控件输入的任务配置请求;
15.第二展示模块,用于向用户展示任务运行环境配置界面,其中所述任务运行环境配置界面中包括用户输入运行环境配置参数的第二输入控件;
16.第二接收模块,用于接收用户通过所述任务运行环境配置界面输入的运行环境配置参数,并根据所述运行环境配置参数创建运行根据所述任务配置请求配置的任务的任务运行环境;
17.分析模块,用于对于在所述任务运行环境中运行的任务执行分析处理,以生成性能分析日志;
18.第三展示模块,用于向用户展示性能分析界面,在所述性能分析界面上至少显示所述性能分析结果,其中,所述性能分析结果是根据所述性能分析日志生成的。
19.本技术实施例还提供了一种电子设备,包括:
20.存储器,用于存储程序;
21.处理器,用于运行所述存储器中存储的所述程序,所述程序运行时执行本技术实施例提供的性能分析方法。
22.本技术实施例还提供了一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其中,该程序被处理器执行时实现如本技术实施例提供的性能分析方法。
23.本技术实施例提供的性能分析方法和装置、电子设备及计算机可读存储介质,通过向用户展示任务创建界面和运行环境配置界面,并接收用户通过这两个界面分别指定的任务配置和运行环境配置,以在指定的运行环境中运行用户配置的任务,同时在任务的运行过程中对任务进行分析,生成性能分析日志,并最终向用户展示性能分析界面,从而用户可以通过在任务创建界面上输入配置请求的方式来创建任务并在运行环境界面上输入运行环境配置参数来创建运行环境以运行任务,因此大大简化了现有技术中繁琐的任务和环境配置过程,减少了需要用户手工操作的数量,并且在配置完成后可以自动在用户指定的环境中运行任务,无需用户手工输入执行命令,大大提高了性能分析的效率,并且也方便了用户根据性能分析结果来及时调整参数配置和硬件配置并进行反复迭代,从能可以便捷地对进行调整。
24.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
25.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
26.图1为本技术实施例提供的性能分析方案的应用场景示意图;
27.图2为本技术提供的性能分析方法的一个实施例的流程图;
28.图3为本技术提供的性能分析方法的一个实施例的流程图;
29.图4为本技术提供的性能分析装置的实施例的结构示意图;
30.图5为本技术提供的电子设备实施例的结构示意图。
具体实施方式
31.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
32.实施例一
33.本技术实施例提供的方案可应用于任何具有分析能力的集群系统,例如包括有分析功能的服务器的平台系统等等。图1为本技术实施例提供的性能分析方案的应用场景示意图,图1所示的场景仅仅是本技术的技术方案可应用的示例之一。
34.随着人工智能技术的发展,越来越多的生活和工作场景中都能够见到人工智能技术的身影,来帮助提高人们的日常生活便利性以及提高人们的工作效率。作为人工智能技术的核心,人工智能,特别是机器学习模型成为了人工智能场景开发的最关键因素。因此,在现有的人工智能开发过程中,已经提出了大量的人工智能或模型来供技术开发人员使用。但是不同的人工智能或模型通常具有不同的参数要求并且在提供的性能方面也存在着差异,因此对于开发人员来说,需要对于所要开发的目标场景选择适合的人工智能或模型,才能够实现想要的用户的体验。
35.在这样的人工智能或模型的选择方面,通常需要研发人员对于该或模型由十分深入的了解,但是随着人工智能技术的发展,人工智能或模型的数量也越来越多,其结构也越来越复杂,因此现有技术提出了允许开发人员针对特定的场景需求来对各种进行测试,从而研发人员可以根据测试的结果来反过来了解哪些更适合于当前的目标场景,并且这样的测试方案也有助于开发人员对于被测试的或模型有更深入的理解,从而可以基于该测试结果来进一步对或模型进行改进,以提升或模型的性能。
36.由于人工智能模型或的执行性能也依赖于执行硬件的配置。例如执行ai模型或的硬件配置不同,那么ai模型或的实际性能也会存在差异,因此,通过上述测试,也可以帮助技术人员来了解ai模型或在不同硬件配置下的性能差异,或者了解对于该ai模型或影响最大的硬件部件,即硬件瓶颈,从而技术人员可以选择适合的硬件配置或者对当前的硬件配置进行优化来提升或模型的性能。
37.在现有的ai模型或的测试方案中,大都需要开发人员进行人工操作。例如,需要进行测试的人员先配置好能够对或模型进行性能分析的工具环境,之后还需要自行准备提供测试用的测试数据的数据源、想要测试的或模型等,之后才能够开始执行测试,并且在测试结束后还需要自行管理生成的性能分析文件,甚至还需要自己操作性能分析文件的查看工具来查看分析结果,并且如果想要根据当前的分析结果进行进一步的优化,那么还需要自行对上述步骤进行迭代,来反复进行优化和测试,直到确定最终的适合的或模型的参数或硬件配置等等。这样的手动测试方案,不仅测试过程繁琐复杂,需要大量的人工参与,而且测试效率也十分低下。
38.为此,本技术提出了一种针对任务的性能分析方案,其可以根据用户指定的任务参数来创建任务并根据用户指定的资源需求来为任务配置硬件资源,从而根据任务的执行
过程来进行目标的性能分析。
39.例如,本技术实施例的性能分析方案可以应用于面向人工智能ai以及各种场景的分析平台。特别可以适用于执行机器学习模型计算,例如,深度学习模型计算或强化学习模型计算,而创建的任务。该平台可以提供对于软件和硬件配置的两方面的支持。换言之,该平台可以存储有各种模型,并且也可以允许用户上传自己想要测试的模型,并且该平台还可以调用硬件平台或者例如命令通道来将针对目标创建的任务分配到根据用户指定的资源需求配置的节点上来执行。特别地,在本技术实施例中,分配的任务可以在节点的服务器上以容器的方式来执行。因此,在任务执行过程中对进行的分析来实时存储在该服务器中,也可以实时传输到文件系统。
40.例如,应用了根据本技术实施例的性能分析方案的平台系统可以面向使用gpu集群的任务来进行性能分析。在进行性能分析时,可以基于dlprof(deep learning profiler,深度学习分析器)技术来对集群方式执行的任务进行分析,过程中会产生性能分析文件,平台系统可以对任务执行过程中生成的这些性能分析文件进行实时归档,并且还可以根据用户的分析需求对性能分析文件进行转化,从而在执行完毕之后可以通过页面展示来将用户指定的分布式任务对应的性能分析结果展示给用户。因此,用户可以通过例如以网页形式登录到应用有本技术实施例的性能分析方案的平台系统来输入任务的参数配置以及资源需求,从而在任务执行完毕之后还可以通过网页来查看性能分析结果。
41.因此,在如图1中所示的性能分析场景中,用户可以通过例如web服务,以网页形式访问应用有本技术实施例的性能分析方案的平台系统,从而可以通过网页向平台系统的性能分析服务器提交想要进行的任务的各项参数配置。例如,平台可以在网页上给出关于任务的通常需要使用的参数项目来供用户输入自己的配置。例如,可以在用户访问的系统页面中显示关于用户想要执行的任务的基本信息页面,在该页面中用户可以输入关于本次要执行的任务的任务名称,以便于在任务执行过程中以及执行完毕时进行查询来查看任务执行情况以及对应的性能分析文件。用户通过该页面还可以输入任务的类型以及数据源的配置信息,并且还可以指定执行该任务时需要执行的命令。最终,用户还可以通过该页面上设置的任务创建按钮来进行任务配置,因此平台系统可以基于用户在该页面输入的任务的这些参数来为用户创建任务。
42.在任务创建之后,还需要为用户配置执行该任务所需的资源。例如,用户想了解某个的性能,那么就需要为该指定一个任务并还需要选择适合的硬件配置来运行该任务才能完成测试。因此,与任务的参数配置类似地,用户可以通过网页访问来指定运行该任务的硬件配置。例如,可以向用户展示资源配置页面,以允许用户指定运行该任务所需的节点数量、该节点的硬件配置以及节点上加载的镜像文件。在本技术实施例中,可以通过为用户提供多个性能分析镜像来允许用户通过选择不同的性能分析镜像来配置任务运行的系统环境。性能分析镜像可以是各种操作系统或者已经安装有应用程序的系统。此外,用户还可以通过运行环境配置界面来指定节点的硬件配置,例如,用户可以通过直接在该界面上输入想要的硬件配置参数来为其想要执行的任务设置了4个cpu(核心)、4gb内存以及1个gpu的硬件配置方案。
43.此外,根据本技术实施例的性能分析方案可以应用于各种分布式调度平台,也支持对接各种命令通道,从而可以通过平台或者命令通道将为用户创建的任务按照用户指定
的节点配置而分配到多个工作节点上。
44.在完成了任务创建以及运行任务的资源配置之后,可以将例如通过在执行的过程中加入分析命令,例如,可以加入dlprof命令来在任务的执行过程中对任务进行分析并产生对应的性能分析文件。
45.因此,在任务执行完毕之后,可以根据在执行过程中使用例如dlprof命令获得的性能分析文件来生成性能分析结果,并同样类似地在页面上展示给用户,从而在本技术实施例中,从执行任务到展示性能分析结果,都是通过页面进行操作,不需要用户手工执行命令。
46.此外,在本技术实施例中,可以使用dlprof对任务进行分析,dlprof支持通用的tensorflow框架以及pytorch框架,从而能够允许用户进行灵活的分析。
47.此外,在本技术实施例中,还可以根据例如dlprof命令在任务的执行过程中对任务的分析文件来生成调整建议,例如可以建议用户调整的参数配置,或者调整运行该任务的硬件配置,从而用户可以通过网页查看性能分析结果的同时还能够获得相关的建议。
48.因此,在本技术实施例中,用户可以在应用有本技术实施例的性能分析方法的系统平台完成在分布式集群上的执行和性能分析处理,不用过多的手工操作,最终还可以通过网页访问的方式在页面查看相应的性能分析结果以及进一步的调整建议。
49.因此,本技术实施例提供的性能分析方案,通过向用户展示任务创建界面和运行环境配置界面,并接收用户通过这两个界面分别指定的任务配置和运行环境配置,以在指定的运行环境中运行用户配置的任务,同时在任务的运行过程中对任务进行分析,生成性能分析日志,并最终向用户展示性能分析界面,从而用户可以通过在任务创建界面上输入配置参数的方式来创建任务并在运行环境界面上输入运行环境配置参数来创建运行环境以运行任务,因此大大简化了现有技术中繁琐的任务和环境配置过程,减少了需要用户手工操作的数量,并且在配置完成后可以自动在用户指定的环境中运行任务,无需用户手工输入执行命令,大大提高了性能分析的效率,并且也方便了用户根据性能分析结果来及时调整参数配置和硬件配置并进行反复迭代,从能可以便捷地对进行调整。
50.上述实施例是对本技术实施例的技术原理和示例性的应用框架的说明,下面通过多个实施例来进一步对本技术实施例具体技术方案进行详细描述。
51.实施例二
52.图2为本技术提供的性能分析方法的一个实施例的流程图,该方法的执行主体可以为具有执行能力的各种终端或服务器设备,也可以为集成在这些设备上的装置或芯片。如图2所示,该性能分析方法可以包括如下步骤:
53.s201,向用户展示任务创建界面。
54.在本技术实施例中,可以在步骤s201中向用户展示任务创建界面,在该界面上可以至少包括有用户输入任务配置请求的第一输入控件,从而用户可以通过该输入控件来输入自己想要创建的任务的配置参数。例如,如图1中所示的场景中,用户可以通过网页访问任务创建页面,并且在该页面中可以显示关于用户想要执行的任务的基本信息项目。
55.s202,接收用户通过第一输入控件输入的任务配置请求。
56.在步骤s202中可以接收用户通过步骤s201中展示的界面上的输入控件输入的任务配置参数。用户可以在展示的界面上通过第一输入控件来输入关于本次要执行的任务的
任务名称,以便于在任务执行过程中以及执行完毕时进行查询来查看任务执行情况以及对应的性能分析文件。用户还可以输入任务的类型以及数据源的配置信息,并且还可以指定执行该任务时需要执行的命令。这些用户输入的基本信息都可以作为创建任务所指定的参数配置。用户还可以通过点击页面上设置的任务创建按钮来指示创建任务。
57.s203,向用户展示任务运行环境配置界面。
58.在步骤s202中为用户配置了任务之后,可以进一步在步骤s203中向用户展示运行环境配置界面,在该界面上可以包括有用户输入运行环境配置参数的第二输入控件,从而用户可以通过该输入控件来输入对于任务想要运行的运行环境的配置参数。
59.例如,用户想了解某个任务的性能,那么就需要为该任务指定选择适合的硬件配置和系统环境来运行该任务才能完成测试。因此,在步骤s203中,用户可以通过网页访问来输入运行该任务的硬件配置。例如,在步骤s203,可以为用户显示运行环境配置页面,从而允许用户在该页面上输入例如运行该任务所需的节点数量、该节点的硬件配置以及该节点上加载的系统镜像等。
60.此外,在步骤s203,可以在该界面上允许用户选择多个性能分析镜像来允许用户通过选择不同的性能分析镜像来选择不同的运行系统环境。
61.s204,接收用户通过任务运行环境配置界面输入的运行环境配置参数,并根据运行环境配置参数创建运行任务的任务运行环境。
62.在步骤s204中,可以接收用户通过步骤s203中展示的界面中的输入控件输入的环境配置参数。例如,如上所述,用户可以在步骤s204中输入运行该任务的硬件配置和系统配置。例如,用户可以通过直接在该界面上输入想要的硬件配置参数来为其想要执行的任务设置了4个cpu(核心)、4gb内存以及1个gpu的硬件配置方案。并且用户还可以通过在该界面上提供的系统镜像中进行选择来指定运行该任务的系统环境。
63.s205,对于在任务运行环境中运行的任务执行分析处理,以生成性能分析日志。
64.因此,在步骤s205中可以根据步骤s204中输入的运行环境配置来在该环境中运行步骤s203中配置的任务,并在执行过程中对任务进行分析处理,从而生成性能分析日志文件。例如,根据本技术实施例的性能分析方案可以应用于各种分布式调度平台,也支持对接各种命令通道,从而在步骤s205中可以通过平台或者命令通道将为用户创建的任务按照用户指定的节点配置而分配到多个工作节点上。
65.在步骤s205中可以将例如通过在执行的过程中加入分析命令,例如,可以加入dlprof命令来在任务的执行过程中对任务进行分析并产生对应的性能分析文件。
66.s206,向用户展示性能分析界面。
67.在任务执行完毕之后,可以在步骤s206中向用户展示性能分析界面来展示性能分析结果。例如,根据在执行过程中使用例如dlprof命令获得的性能分析文件来生成性能分析结果,并同样类似地在页面上展示给用户,从而在本技术实施例中,从执行任务到展示性能分析结果,都是通过页面进行操作,不需要用户手工执行命令。
68.因此,本技术实施例提供的性能分析方法,通过向用户展示任务创建界面和运行环境配置界面,并接收用户通过这两个界面分别指定的任务配置和运行环境配置,以在指定的运行环境中运行用户配置的任务,同时在任务的运行过程中对任务进行分析,生成性能分析日志,并最终向用户展示性能分析界面,从而用户可以通过在任务创建界面上输入
配置参数的方式来创建任务并在运行环境界面上输入运行环境配置参数来创建运行环境以运行任务,因此大大简化了现有技术中繁琐的任务和环境配置过程,减少了需要用户手工操作的数量,并且在配置完成后可以自动在用户指定的环境中运行任务,无需用户手工输入执行命令,大大提高了性能分析的效率,并且也方便了用户根据性能分析结果来及时调整参数配置和硬件配置并进行反复迭代,从能可以便捷地对进行调整。
69.实施例三
70.图3为本技术提供的性能分析方法的一个实施例的流程图,该方法的执行主体可以为分布式计算能力的各种终端或服务器设备,也可以为集成在这些设备上的装置或芯片。如图3所示,该性能分析方法可以包括如下步骤:
71.s301,向用户展示任务创建界面。
72.在本技术实施例中,可以在步骤s301中向用户展示任务创建界面,在该界面上可以至少包括有用户输入任务配置参数的第一输入控件,从而用户可以通过该输入控件来输入自己想要创建的任务的配置参数。例如,如图1中所示的场景中,用户可以通过网页访问任务创建页面,并且在该页面中可以显示关于用户想要执行的任务的基本信息项目。
73.此外,在本技术实施例中,用户还可以根据一个场景来创建一个性能分析项目,因此在步骤s301中还可以在该界面上包括用户输入的项目配置参数的输入控件。例如,可以提示用户输入例如项目名称的名称信息,并且还可以提示用户输入待分析的所将要应用的场景。
74.s302,接收用户通过第一输入控件输入的任务配置请求。
75.在步骤s302中可以接收用户通过步骤s301中展示的界面上的输入控件输入的任务配置参数。用户可以在展示的界面上通过第一输入控件来输入关于本次要执行的任务的任务名称,以便于在任务执行过程中以及执行完毕时进行查询来查看任务执行情况以及对应的性能分析文件。用户还可以输入任务的类型以及数据源的配置信息,并且还可以指定执行该任务时需要执行的命令。这些用户输入的基本信息都可以作为创建任务所指定的参数配置。用户还可以通过点击页面上设置的任务创建按钮来指示创建任务。
76.此外,在步骤s301中还显示用户输入场景配置的情况下,用户还可以在步骤s302中在该界面中进一步输入例如项目名称以及将要应用到的场景信息,来配置项目。
77.s303,向用户展示任务运行环境配置界面。
78.在步骤s302中为用户配置了任务之后,可以进一步在步骤s303中向用户展示运行环境配置界面,在该界面上可以包括有用户输入运行环境配置参数的第二输入控件,从而用户可以通过该输入控件来输入对于任务想要运行的运行环境的配置参数。
79.例如,用户想了解某个任务的性能,那么就需要为该任务指定选择适合的硬件配置和系统环境来运行该任务才能完成测试。因此,在步骤s303中,用户可以通过网页访问来输入运行该任务的硬件配置。例如,在步骤s303,可以为用户显示运行环境配置页面,从而允许用户在该页面上输入例如运行该任务所需的节点数量、该节点的硬件配置以及该节点上加载的系统镜像等。
80.此外,在步骤s303,可以在该界面上允许用户选择多个性能分析镜像来允许用户通过选择不同的性能分析镜像来选择不同的运行系统环境。
81.s304,接收用户通过任务运行环境配置界面输入的运行环境配置参数,并根据运
行环境配置参数创建运行任务的任务运行环境。
82.在步骤s304中,可以接收用户通过步骤s303中展示的界面中的输入控件输入的环境配置参数。例如,如上所述,用户可以在步骤s304中输入运行该任务的硬件配置和系统配置。例如,用户可以通过直接在该界面上输入想要的硬件配置参数来为其想要执行的任务设置了4个cpu(核心)、4gb内存以及1个gpu的硬件配置方案。并且用户还可以通过在该界面上提供的系统镜像中进行选择来指定运行该任务的系统环境。
83.s305,对于在任务运行环境中运行的任务执行分析处理,以生成性能分析日志。
84.因此,在步骤s305中可以根据步骤s304中输入的运行环境配置来在该环境中运行步骤s303中配置的任务,并在执行过程中对任务进行分析处理,从而生成性能分析日志文件。例如,根据本技术实施例的性能分析方案可以应用于各种分布式调度平台,也支持对接各种命令通道,从而在步骤s305中可以通过平台或者命令通道将为用户创建的任务按照用户指定的节点配置而分配到多个工作节点上。
85.在步骤s305中可以将例如通过在执行的过程中加入分析命令,例如,可以加入dlprof命令来在任务的执行过程中对任务进行分析并产生对应的性能分析文件。
86.s306,在任务的运行过程中记录执行日志。
87.在步骤s305生成了性能分析日志的基础上,在步骤s306中还可以进一步记录执行日志。在本技术实施例中执行日志可以是用于运行该任务的节点的服务器日志等日志文件,从而可以用于与步骤s305记录的性能分析日志一起生成性能分析结果。
88.s307,向用户展示性能分析界面。
89.在任务执行完毕之后,可以在步骤s307中向用户展示性能分析界面来展示性能分析结果。例如,根据在执行过程中使用例如dlprof命令获得的性能分析文件来生成性能分析结果,并同样类似地在页面上展示给用户,从而在本技术实施例中,从执行任务到展示性能分析结果,都是通过页面进行操作,不需要用户手工执行命令。
90.s308,根据性能分析结果生成节点配置和/或参数配置的调整建议。
91.在步骤s308中可以根据步骤s305中获得的性能分析文件来生成调整建议,例如可以建议用户调整的参数配置,或者调整运行该任务的环境配置,以便于用户可以根据该建议在下一轮迭代时对参数进行调整。
92.s309,向用户展示调整建议界面。
93.在步骤s309中,可以进一步允许用户通过网页来查看与性能分析结果相关的调整建议。例如,在步骤s309中可以向用户展示调整建议界面,并且在该界面上可以显示步骤s308中生成的调整建议,从而用户可以参考该调整建议以及步骤s307中显示的性能分析结果来调整下一轮迭代时使用的任务配置参数和/或环境参数。
94.因此,本技术实施例提供的性能分析方法,通过向用户展示任务创建界面和运行环境配置界面,并接收用户通过这两个界面分别指定的任务配置和运行环境配置,以在指定的运行环境中运行用户配置的任务,同时在任务的运行过程中对任务进行分析,生成性能分析日志,并最终向用户展示性能分析界面,从而用户可以通过在任务创建界面上输入配置参数的方式来创建任务并在运行环境界面上输入运行环境配置参数来创建运行环境以运行任务,因此大大简化了现有技术中繁琐的任务和环境配置过程,减少了需要用户手工操作的数量,并且在配置完成后可以自动在用户指定的环境中运行任务,无需用户手工
输入执行命令,大大提高了性能分析的效率,并且也方便了用户根据性能分析结果来及时调整参数配置和硬件配置并进行反复迭代,从能可以便捷地对进行调整。
95.实施例四
96.图4为本技术提供的性能分析装置的实施例的结构示意图,可以用于执行图2或图3中所示的性能分析方法。如图4所示,该装置可以包括:第一展示模块41、第一接收模块42、第二展示模块43、第二接收模块44、分析模块45和第三展示模块46。
97.第一展示模块41可以用于向用户展示任务创建界面。
98.在本技术实施例中,第一展示模块41可以向用户展示任务创建界面,在该界面上可以至少包括有用户输入任务配置参数的第一输入控件,从而用户可以通过该输入控件来输入自己想要创建的任务的配置参数。例如,如图1中所示的场景中,用户可以通过网页访问任务创建页面,并且在该页面中可以显示关于用户想要执行的任务的基本信息项目。
99.此外,在本技术实施例中,用户还可以根据一个场景来创建一个性能分析项目,因此还可以通过该第一展示模块41在该界面上包括用户输入的项目配置参数的输入控件。例如,可以提示用户输入例如项目名称的名称信息,并且还可以提示用户输入待分析的所将要应用的场景。
100.第一接收模块42可以用于接收用户通过所述第一输入控件输入的任务配置请求。
101.第一接收模块42可以接收用户通过第一展示模块41展示的界面上的输入控件输入的任务配置参数。用户可以在展示的界面上通过第一输入控件来输入关于本次要执行的任务的任务名称,以便于在任务执行过程中以及执行完毕时进行查询来查看任务执行情况以及对应的性能分析文件。用户还可以输入任务的类型以及数据源的配置信息,并且还可以指定执行该任务时需要执行的命令。这些用户输入的基本信息都可以作为创建任务所指定的参数配置。用户还可以通过点击页面上设置的任务创建按钮来指示创建任务。
102.此外,在第一展示模块41还显示用户输入场景配置的情况下,用户还可以在该界面中进一步输入例如项目名称以及将要应用到的场景信息,来配置项目。
103.第二展示模块43可以用于向用户展示任务运行环境配置界面。
104.在用户配置了任务之后,第二展示模块43可以进一步向用户展示运行环境配置界面,在该界面上可以包括有用户输入运行环境配置参数的第二输入控件,从而用户可以通过该输入控件来输入对于任务想要运行的运行环境的配置参数。
105.例如,用户想了解某个任务的性能,那么可以为该任务指定选择适合的硬件配置和系统环境来运行该任务才能完成测试。因此,用户可以通过网页访问来输入运行该任务的硬件配置。例如,第二展示模块43可以为用户显示运行环境配置页面,从而允许用户在该页面上输入例如运行该任务所需的节点数量、该节点的硬件配置以及该节点上加载的系统镜像等。
106.此外,第二展示模块43展示的界面上允许用户选择多个性能分析镜像来允许用户通过选择不同的性能分析镜像来选择不同的运行系统环境。
107.第二接收模块44可以用于接收用户通过任务运行环境配置界面输入的运行环境配置参数,并根据运行环境配置参数创建运行任务的任务运行环境。
108.第二接收模块44可以接收用户通过第二展示模块43展示的界面中的输入控件输入的环境配置参数。例如,如上所述,用户可以输入运行该任务的硬件配置和系统配置。例
如,用户可以通过直接在该界面上输入想要的硬件配置参数来为其想要执行的任务设置了4个cpu(核心)、4gb内存以及1个gpu的硬件配置方案。并且用户还可以通过在该界面上提供的系统镜像中进行选择来指定运行该任务的系统环境。
109.分析模块45可以用于对于在任务运行环境中运行的任务执行分析处理,以生成性能分析日志。
110.分析模块45可以根据用户输入的运行环境配置来在该环境中运行配置的任务,并在执行过程中对任务进行分析处理,从而生成性能分析日志文件。例如,根据本技术实施例的性能分析方案可以应用于各种分布式调度平台,也支持对接各种命令通道,从而可以通过平台或者命令通道将为用户创建的任务按照用户指定的节点配置而分配到多个工作节点上。
111.可以将例如通过在执行的过程中加入分析命令,例如,可以加入dlprof命令来在任务的执行过程中对任务进行分析并产生对应的性能分析文件。
112.此外,根据本技术实施例的性能分析装置还可以包括记录模块47,其可以用于在任务的运行过程中记录执行日志。
113.在分析模块45生成了性能分析日志的情况下,记录模块47还可以进一步记录执行日志。在本技术实施例中执行日志可以是用于运行该任务的节点的服务器日志等日志文件,从而可以用于与分析模块45生成的性能分析日志一起生成性能分析结果。
114.第三展示模块46可以用于向用户展示性能分析界面。
115.在任务执行完毕之后,第三展示模块46可以向用户展示性能分析界面来展示性能分析结果。例如,根据在执行过程中使用例如dlprof命令获得的性能分析文件来生成性能分析结果,并同样类似地在页面上展示给用户,从而在本技术实施例中,从执行任务到展示性能分析结果,都是通过页面进行操作,不需要用户手工执行命令。
116.此外,在本技术实施例中,性能分析装置可以进一步包括有建议生成模块48和第四展示模块49。
117.建议生成模块48可以用于根据性能分析结果生成节点配置和/或参数配置的调整建议。
118.建议生成模块48可以根据分析模块45生成的性能分析文件来生成调整建议,例如可以建议用户调整的参数配置,或者调整运行该任务的环境配置,以便于用户可以根据该建议在下一轮迭代时对参数进行调整。
119.第四展示模块49可以用于向用户展示调整建议界面。
120.第四展示模块49可以进一步允许用户通过网页来查看与性能分析结果相关的调整建议。例如,第四展示模块49可以向用户展示调整建议界面,并且在该界面上可以显示建议生成模块48生成的调整建议,从而用户可以参考该调整建议以及显示的性能分析结果来调整下一轮迭代时使用的任务配置参数和/或环境参数。
121.本技术实施例提供的性能分析装置,通过向用户展示任务创建界面和运行环境配置界面,并接收用户通过这两个界面分别指定的任务配置和运行环境配置,以在指定的运行环境中运行用户配置的任务,同时在任务的运行过程中对任务进行分析,生成性能分析日志,并最终向用户展示性能分析界面,从而用户可以通过在任务创建界面上输入配置参数的方式来创建任务并在运行环境界面上输入运行环境配置参数来创建运行环境以运行
任务,因此大大简化了现有技术中繁琐的任务和环境配置过程,减少了需要用户手工操作的数量,并且在配置完成后可以自动在用户指定的环境中运行任务,无需用户手工输入执行命令,大大提高了性能分析的效率,并且也方便了用户根据性能分析结果来及时调整参数配置和硬件配置并进行反复迭代,从能可以便捷地对进行调整。
122.实施例五
123.以上描述了性能分析装置的内部功能和结构,该装置可实现为一种电子设备。图5为本技术提供的电子设备实施例的结构示意图。如图5所示,该电子设备包括存储器51和处理器52。
124.存储器51,用于存储程序。除上述程序之外,存储器51还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
125.存储器51可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
126.处理器52,不仅仅局限于处理器(cpu),还可能为图形处理器(gpu)、现场可编辑门阵列(fpga)、嵌入式神经网络处理器(npu)或人工智能(ai)芯片等处理芯片。处理器52,与存储器51耦合,执行存储器51所存储的程序,以执行上述实施例二或三的性能分析方法。
127.进一步,如图5所示,电子设备还可以包括:通信组件53、电源组件54、音频组件55、显示器56等其它组件。图5中仅示意性给出部分组件,并不意味着电子设备只包括图5所示组件。
128.通信组件53被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如wifi、3g、4g或5g,或它们的组合。在一个示例性实施例中,通信组件53经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件53还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
129.电源组件54,为电子设备的各种组件提供电力。电源组件54可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
130.音频组件55被配置为输出和/或输入音频信号。例如,音频组件55包括一个麦克风(mic),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器51或经由通信组件53发送。在一些实施例中,音频组件55还包括一个扬声器,用于输出音频信号。
131.显示器56包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
132.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程
序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
133.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1