一种系统的性能分析方法及装置与流程

文档序号:11407010阅读:177来源:国知局
一种系统的性能分析方法及装置与流程

本发明实施例涉及计算机技术,尤其涉及一种系统的性能分析方法及装置。



背景技术:

整个ct(computedtomography,计算机断层扫描)系统由数据采集,流程控制及图像重建三个子系统组成。其中,数据采集子系统控制机架旋转以及探测器对不同方向穿过物体的射线进行采集。探测器某个角度上一次采集得到的数据叫做一个视图(view)数据,一次放射所有视图的集合称为生数据。ct的图像重建子系统包括数据读取,前处理,图像重建,后处理和图像存储五个部分。其中数据读取部分读取流程控制子系统传来的生数据或者从磁盘读取生数据。前处理部分对生数据进行去伪影等处理。图像重建部分使用一定的重建算法把生数据转化成物体的断层图像。后处理部分对生成的断层图像进行去噪或者去伪影等处理。最后,图像存储单元将最终的图像存储在磁盘中。

当前的ct图像重建子系统采用的技术是pipeline(管道)技术,pipeline中包含节点和管道。pipeline处理的对象我们称为object,object可以是任何实体,在图像重建子系统中,object为view数据(数据读取和前处理与图像重建部分处理的object为view数据)或者image(后处理和图像存储中处理的object为image)。节点可以是对object进行任何处理的算法。在图像重建子系统中,一个节点可以是数据读取,图像存储,或者是前处理,图像重建,后处理中的任意一个具体的算法,一条pipeline可以有任意数量个节点。pipeline运行时,每个节点至少占用一个计算机线程,pipeline中的各个节点是并行运行的。管道用于连接pipeline中的节点,用以两个节点之间object的缓存和传递。图1为现有技术中pipeline的拓扑示意图。其中,f1,f2,f3,f4,f5代表pipeline中的节点,具体的pipeline中节点数可以是大于两个的任意数(读取数据和图像存储是必须的),每个节点的输入/输出管道的个数可以是一个或者多个。在重建过程中,读取节点(reader)依次读取生数据中的object(view数据)并将其传递给下一个节点,然后下一个节点运行完成,将输出结果object继续向下传递直到图像存储节点。所有生数据都经过上述过程后,图像存储节点将得到的object(image)存储到磁盘,该次重建过程结束。

pipeline中的节点组织关系反映了其性能,为了对整条pipeline进行性能优化,需要快速得到pipeline的重建性能及瓶颈。现有的性能分析方法需要在每个节点对每个待处理数据的处理均进行计时,而后根据计时结果进行统计,再分析确定瓶颈节点。这样处理,计时执行次数很多,影响整个ct图像重建子系统的性能。



技术实现要素:

本发明实施例提供一种系统的性能分析方法及装置,解决当前ct图像重建子系统在获取重建性能指标时,计时执行次数多,影响整个ct图像重建子系统的性能的问题。

第一方面,本发明实施例提供了一种系统的性能分析方法,该方法包括:

记录数据读取节点获取目标待处理对象的时刻,作为基准时刻;

将所述基准时刻发送至除数据读取节点之外的数据处理节点和/或数据存储节点;

根据性能统计指标对应的统计规则,记录所述数据处理节点和/或数据存储节点参照所述基准时刻确定的目标统计时间段;

根据所述目标统计时间段计算性能统计指标。

进一步的,所述目标待处理对象为接收到的第一个待处理对象,相应的,所述根据性能统计指标对应的统计规则,记录所述数据处理节点和/或数据存储节点参照所述基准时刻确定的目标统计时间段包括下述至少一项:

记录从基准时刻到所述数据处理节点和/或数据存储节点获取各自的第一个待处理对象的获取时刻的获取时间段,作为目标时间段;

记录从基准时刻到所述数据处理节点和/或数据存储节点完成对各自的第一个待处理对象的处理,并向下一个节点传递数据的传递时刻的传递时间段,作为目标时间段;

记录从所述数据处理节点和/或数据存储节点获取各自的第一个待处理对象的获取时刻到所述数据处理节点和/或数据存储节点完成对各自的所有待处理对象的处理的完成时刻的完成时间段,作为目标时间段。

进一步的,根据所述目标统计时间段计算性能统计指标包括:

根据数据存储节点的获取时间段、传递时间段和完成时间段计算得到第一个数据成功存储结束到所有数据成功存储结束的存储时间段;

根据所述存储时间段和所述存储时间段内完成存储的数据的数量,计算得到每秒数据存储的数量。

进一步的,根据所述目标统计时间段计算性能统计指标包括:

根据数据存储节点的传递时间段和数据读取节点的获取时间段计算得到从第一个待处理对象的获取到第一个数据的存储所用的时间。

进一步的,所述方法还包括:

记录各节点从获取各自的第一个待处理对象到完成对各自的所有待处理对象的处理所占用的cpu时间段;

根据所述cpu时间段中的最大值,确定系统的瓶颈节点。

第二方面,本发明实施例还提供了一种系统的性能分析装置,该装置包括:

基准时刻获取模块,用于记录数据读取节点获取目标待处理对象的时刻,作为基准时刻;

基准时刻发送模块,用于将所述基准时刻发送至除数据读取节点之外的数据处理节点和/或数据存储节点;

目标统计时间段记录模块,用于根据性能统计指标对应的统计规则,记录所述数据处理节点和/或数据存储节点参照所述基准时刻确定的目标统计时间段;

性能统计指标计算模块,用于根据所述目标统计时间段计算性能统计指标。

进一步的,所述目标待处理对象为接收到的第一个待处理对象,相应的,所述目标统计时间段记录模块包括下述至少一项:

获取时间段记录单元,用于记录从基准时刻到所述数据处理节点和/或数据存储节点获取各自的第一个待处理对象的获取时刻的获取时间段,作为目标时间段;

传递时间段记录单元,用于记录从基准时刻到所述数据处理节点和/或数据存储节点完成对各自的第一个待处理对象的处理,并向下一个节点传递数据的传递时刻的传递时间段,作为目标时间段;

完成时间段记录单元,用于记录从所述数据处理节点和/或数据存储节点获取各自的第一个待处理对象的获取时刻到所述数据处理节点和/或数据存储节点完成对各自的所有待处理对象的处理的完成时刻的完成时间段,作为目标时间段。

进一步的,所述性能统计指标计算模块具体用于:

根据数据存储节点的获取时间段、传递时间段和完成时间段计算得到第一个数据成功存储结束到所有数据成功存储结束的存储时间段;

根据所述存储时间段和所述存储时间段内完成存储的数据的数量,计算得到每秒数据存储的数量。

进一步的,所述性能统计指标计算模块具体用于:

根据数据存储节点的传递时间段和数据读取节点的获取时间段计算得到从第一个待处理对象的获取到第一个数据的存储所用的时间。

进一步的,所述装置还包括:

cpu时间段记录模块,用于记录各节点从获取各自的第一个待处理对象到完成对各自的所有待处理对象的处理所占用的cpu时间段;

瓶颈节点确定模块,用于根据所述cpu时间段中的最大值,确定系统的瓶颈节点。

本发明实施例通过将数据读取节点获取目标待处理对象的时刻发送给数据处理节点和/或数据存储节点,减少了数据处理节点和/或数据存储节点的计时次数;数据处理节点和/或数据存储节点只需根据性能统计指标对应的统计规则,记录目标统计时间段,无需对每一处理时刻都进行记录,提高了时间记录的有效性,减少存储记录数据的空间;并且由数据处理节点和/或数据存储节点的目标统计时间段直接计算得到性能统计指标,提高了系统性能分析的速度和准确度。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是现有技术中pipeline的拓扑示意图;

图2是本发明实施例一提供的一种系统的性能分析方法的流程示意图;

图3是本发明实施例二提供的一种系统的性能分析方法的流程示意图;

图4是本发明实施例三提供的一种系统的性能分析装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

图1是本发明实施例一提供的一种系统的性能分析方法的流程图。本实施例的技术方案可以适用于对应用pipeline技术的系统的性能进行分析的情况,其中应用pipeline技术的系统例如可以是ct图像重建子系统或pet-ct(positronemissiontomography-computertomography,正电子发射计算机断层扫描)图像重建子系统。该方法可以由本发明实施例提供的一种系统的性能分析装置来执行,该装置可以采用软件和/或硬件的方式实现,并配置于应用pipeline技术的系统中应用。该方法具体包括如下操作:

s110、记录数据读取节点获取目标待处理对象的时刻,作为基准时刻。

pipeline中的节点可以分为数据读取节点,数据处理节点和数据存储节点,其中,数据读取节点可以用reader节点表示,数据存储节点可以用saver节点表示。数据读取节点和数据存储节点必须存在,数据处理节点可以不存在,也可以存在,优选存在的情况。以ct图像重建子系统为例,其中目标待处理对象可以是探测器在某一角度上的一次采集得到的数据,可以用object表示。目标待处理对象可以是数据读取节点读取的第一个目标待处理对象,也可以不是第一个。示例性的,对应一次重建任务,在reader节点中,还需要记录的参数有:图像重建数目(imagenum),机架旋转一圈所采集的view数目(viewperrevolution),view总数目(viewnum),探测器z方向尺寸(collimation),机架每转一圈病床移动的距离与collimation的比值,即螺距(pitch),图像信息如图像矩阵大小(matrixsize)、图像大小(imagefov)、图像厚度(imagethickness)、图像增量(imageincrement),pipeline中节点配置信息是否做了自适应滤波(isaf),是否加入图像去噪(iskarl)。

s120、将所述基准时刻发送至除数据读取节点之外的数据处理节点和/或数据存储节点。

将所述基准时刻发送至数据处理节点和/或数据存储节点包括将基准时刻发送至数据处理节点;将基准时刻发送至数据存储节点;将基准时刻发送至数据处理节点和数据存储节点。优选的,将基准时刻发送至数据处理节点和数据存储节点,数据处理节点和数据存储节点根据该基准时刻开始计时。以此,保证了各节点的开始记录时间一致,便于对个节点的处理进程所用时间进行统一分析。

s130、根据性能统计指标对应的统计规则,记录所述数据处理节点和/或数据存储节点参照所述基准时刻确定的目标统计时间段。

性能统计指标例如可以是每秒数据存储的数量,还可以是第一个数据成功存储结束到所有数据成功存储结束的存储时间段。示例性的,在ct图像重建子系统中即是每秒出图数,用ips(imagepersecond)表示,和从reader节点获取第一个object到saver节点完成第一幅图像存储需要的时间,用ttfi(timetofirstimage)表示。

目标统计时间段例如可以是从reader节点获取第一个object到某节点获取第一个object的时间,称为该节点得到第一个object的时间,用ttfg(timetofirstget)表示;某节点从reader获取第一个object的时间到某节点完成第一个object向下一个节点传递的时间,称为该节点传递第一个object的时间,用ttfs(timetofirstsend)表示;定义某节点获取第一个object到传递完所有object的时间,称为该节点工作结束的时间,用ttjd(timetojobdown)表示。对应reader节点有readerttfg、readerttfs和readerttjd,对应reader节点有saverttfg、saverttfs和saverttjd。统计规则可以是统计与计算性能统计指标相关的量,例如统计规则可以是统计与计算ips和ttfi相关的量。

s140、根据所述目标统计时间段计算性能统计指标。

在计算性能统计指标时,需要从日志中读取相关参数,然后将最终计算结果打印存储到文件中。示例性的,在ct图像重建子系统中,每秒出图数ips由下面公式得到:

其中,imagenum为图像重建数目;saverttjd为saver节点获取第一个object到传递完所有object的时间;saverttfg为从reader节点获取第一个object到saver节点获取第一个object的时间;saverttfs为从reader获取第一个object的时间到saver节点完成第一个object向下一个节点传递的时间。其中,分母指的是第一幅图成功存储结束到所有图存储结束的时间长度(单位为秒),分子表示该时间长度内存储的图像数量。ips体现了图像重建子系统每秒的出图数量。在实际应用中,该指标越大说明图像重建子系统的性能越优。

从reader节点获取第一个object到saver节点完成第一幅图像存储需要的时间ttfi由下面公式得到:

ttfi=saverttfs-readerttfg

其中,saverttfs为从reader获取第一个object的时间到saver节点完成第一个object向下一个节点传递的时间,readerttfg为从reader节点获取第一个object到reader节点获取第一个object的时间,理想情况下,readerttfg为0,但是由于系统存在误差,所以readerttfg存在不为零的情况,因此ttfi用saverttfs减去readerttfg可以做到计算结果更准确。这个指标体现了用户的等待时间长短。该指标越小越好。

本发明实施例通过将数据读取节点获取目标待处理对象的时刻发送给数据处理节点和/或数据存储节点,减少了数据处理节点和/或数据存储节点的计时次数;数据处理节点和/或数据存储节点只需根据性能统计指标对应的统计规则,记录目标统计时间段,无需对每一处理时刻都进行记录,提高了时间记录的有效性,减少存储记录数据的空间;并且由数据处理节点和/或数据存储节点的目标统计时间段直接计算得到性能统计指标,提高了系统的性能分析的速度和准确度。

在本实施例的另一优选实施方式中,所述方法还包括:

记录各节点从获取各自的第一个待处理对象到完成对各自的所有待处理对象的处理所占用的cpu时间段;

根据所述cpu时间段中的最大值,确定系统的瓶颈节点。

获取各自的第一个待处理对象到完成对各自的所有待处理对象的处理所占用的cpu时间段可以用tct(totalcputime)表示。

从日志中提取每个节点的tct,对所有节点的tct进行排序,可以得到重建中tct最大的节点,即整个重建中的瓶颈节点,就可以针对该节点进行整个重建的优化。最后,将从日志获取的参数如collimation,imagefov,imagethickness,imageincrement,pitch,viewnum,imagenum,ips,ttfi,瓶颈节点名称及每圈需要的cputime输出到表格中。该表格可以起到记录不同参数配置下当前图像重建子系统的性能,方便优化前后性能的对比,以及寻找当前代码的瓶颈节点的作用。

实施例二

图2是本发明实施例二提供的一种系统的性能分析方法。本发明实施例在上述实施例的基础上,进一步优化了所述目标待处理对象为接收到的第一个待处理对象,相应的,对所述根据性能统计指标对应的统计规则,记录所述数据处理节点和/或数据存储节点参照所述基准时刻确定的目标统计时间段的操作进行了优化,并且对所述根据所述目标统计时间段计算性能统计指标的操作进行了优化。

相应的,本实施例的方法包括:

s210、记录数据读取节点获取目标待处理对象的时刻,作为基准时刻,所述目标待处理对象为接收到的第一个待处理对象。

s220、将所述基准时刻发送至除数据读取节点之外的数据处理节点和/或数据存储节点。

s230、记录从基准时刻到所述数据处理节点和/或数据存储节点获取各自的第一个待处理对象的获取时刻的获取时间段,作为目标时间段。

s240、记录从基准时刻到所述数据处理节点和/或数据存储节点完成对各自的第一个待处理对象的处理,并向下一个节点传递数据的传递时刻的传递时间段,作为目标时间段。

s250、记录从所述数据处理节点和/或数据存储节点获取各自的第一个待处理对象的获取时刻到所述数据处理节点和/或数据存储节点完成对各自的所有待处理对象的处理的完成时刻的完成时间段,作为目标时间段。

其中,至少执行s230、s240和s250中的一项,并且s230、s240和s250的执行顺序不限定。

s260、根据数据存储节点的获取时间段、传递时间段和完成时间段计算得到第一个数据成功存储结束到所有数据成功存储结束的存储时间段。

第一个数据成功存储结束到所有数据成功存储结束的存储时间段由数据存储节点的完成时间段减去处理时间段之后再加上获取时间段得到,即第一个数据成功存储结束到所有数据成功存储结束的存储时间段=数据存储节点的完成时间段-处理时间段+获取时间段。

s270、根据所述存储时间段和所述存储时间段内完成存储的数据的数量,计算得到每秒数据存储的数量。

每秒数据存储的数量由存储时间段内完成存储的数据的数量除以存储时间段得到。

s280、根据数据存储节点的传递时间段和数据读取节点的获取时间段计算得到从第一个待处理对象的获取到第一个数据的存储所用的时间。

从第一个待处理对象的获取到第一个数据的存储所用的时间由数据存储节点的传递时间段减去数据读取节点的获取时间段得到。

其中,s260和s270顺序执行。示例性的,可以只执行s260和s270,不执行s280;也可以只执行s280,不执行s260和s270;优选s260和s270与s280都执行,且执行s260和s270与执行s280的顺序不限定。

本发明实施例通过将数据读取节点获取到的第一个待处理对象的时刻发送至数据处理节点和/或数据存储节点,并记录获取时间段、传递时间段和完成时间短三者中的至少一项作为目标时间段,计算系统的性能分析指标,提高了系统的性能分析效率;以第一个数据成功存储结束到所有数据成功存储结束的存储时间段、每秒数据存储的数量和从第一个待处理对象的获取到第一个数据的存储所用的时间中的至少一项来表征系统的性能指标,提高了对系统性能分析的准确度。

实施例三

图3是本发明实施例三提供的一种系统的性能分析装置的结构框图。该装置用于执行上述任意实施例所提供的一种系统的性能分析方法。该装置包括:

基准时刻获取模块310,用于记录数据读取节点获取目标待处理对象的时刻,作为基准时刻;

基准时刻发送模块320,用于将所述基准时刻发送至除数据读取节点之外的数据处理节点和/或数据存储节点;

目标统计时间段记录模块330,用于根据性能统计指标对应的统计规则,记录所述数据处理节点和/或数据存储节点参照所述基准时刻确定的目标统计时间段;

性能统计指标计算模块340,用于根据所述目标统计时间段计算性能统计指标。

进一步的,所述目标待处理对象为接收到的第一个待处理对象,相应的,所述目标统计时间段记录模块330包括下述至少一项:

获取时间段记录单元,用于记录从基准时刻到所述数据处理节点和/或数据存储节点获取各自的第一个待处理对象的获取时刻的获取时间段,作为目标时间段;

传递时间段记录单元,用于记录从基准时刻到所述数据处理节点和/或数据存储节点完成对各自的第一个待处理对象的处理,并向下一个节点传递数据的传递时刻的传递时间段,作为目标时间段;

完成时间段记录单元,用于记录从所述数据处理节点和/或数据存储节点获取各自的第一个待处理对象的获取时刻到所述数据处理节点和/或数据存储节点完成对各自的所有待处理对象的处理的完成时刻的完成时间段,作为目标时间段。

进一步的,所述性能统计指标计算模块340具体用于:

根据数据存储节点的获取时间段、传递时间段和完成时间段计算得到第一个数据成功存储结束到所有数据成功存储结束的存储时间段;

根据所述存储时间段和所述存储时间段内完成存储的数据的数量,计算得到每秒数据存储的数量。

进一步的,所述性能统计指标计算模块340具体用于:

根据数据存储节点的传递时间段和数据读取节点的获取时间段计算得到从第一个待处理对象的获取到第一个数据的存储所用的时间。

进一步的,所述装置还包括:

cpu时间段记录模块,用于记录各节点从获取各自的第一个待处理对象到完成对各自的所有待处理对象的处理所占用的cpu时间段;

瓶颈节点确定模块,用于根据所述cpu时间段中的最大值,确定系统的瓶颈节点。

本发明实施例三提供的系统的性能分析装置,实现了提高系统的性能分析的速度和准确度。

本发明实施例所提供的系统的性能分析装置可执行本发明任意实施例所提供的系统的性能分析方法,具备执行方法相应的功能模块和有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1