瓦里安Eclipse计划系统中基于云计算的ARC技术的剂量计算时间的探讨

2018-07-18 09:39韩阿蒙张彦秋李金旺李秀梅顾涛付占昭毛羽梁华刚
中国医疗设备 2018年7期
关键词:分布式计算射野计算资源

韩阿蒙,张彦秋,李金旺,李秀梅,顾涛,付占昭,毛羽,梁华刚

1.燕山大学 信息技术中心,河北 秦皇岛 066004;2.秦皇岛市第一医院 a.肿瘤放疗科;b.胸外科,河北 秦皇岛 066000

引言

近些年来,云计算技术发展日臻成熟,其在医学领域的应用[1]越来越广泛,主要包括:用作计算和大型应用程序系统运行平台,辅助开展远程医疗活动,医疗资料的保存及数据挖掘的深入,在医学实验室中实现自动化以及“生物信号智能化”处理,辅助医师进行诊断及决策以及在医学治疗上的手段以及控制。根据美国国家标准与技术研究院对于云计算的定义,它指的是一种通过网络对共享且可配置的计算资源池(包括计算资源、网络资源、存储资源、应用程序等资源)进行无处不在的、便捷的、按需访问的模式,提供者可以通过最简化的管理工作进行快速的配置和发布,使用者可以通过最小化的交互工作获取相关计算服务[2],其基本特征包括:按需服务,广泛的网络接入,资源池化,快速弹性和可控服务[3]。国内外云计算平台发展日新月异,主要包括:亚马逊云、谷歌云、IBM蓝云、百度云、阿里云和腾讯云[4]等。本文初步探讨的ARC技术,即容积旋转调强技术[5],其在剂量计算时是基于云计算技术,主要由分布式计算技术实现。云计算用于计算平台时,其计算速度和计算时间是临床中关注的主要问题之一,这关系到临床实践中的工作效率。本文就本院放疗中心基于云计算的分布式计算时间问题进行初步探讨,以期为临床提供参考。

1 材料和原理

1.1 瓦里安Eclipse计划系统中分布式计算框架环境

瓦里安Eclipse计划系统中涉及的复杂计算,如剂量分布计算和剂量体积优化,由分布式计算框架(Distributed Calculation Framework,DCF)执行。DCF使用外部进程(external processes),使得Eclipse能够计算剂量[6-7]。这些进程可以在Eclipse中相同工作站中和(或)网络中其他的工作站中运行[8]。由于计算工作由多台工作站和多个处理器同时进行,因此,DCF使得剂量计算的速度得到了提高。例如,External Dose Planning进行多个射野的治疗计划的剂量计算时,Eclipse为每个射野分别分配计算线程(thread),对于每个计算线程,Eclipse发出需要的计算服务。如果没有可用的计算资源,线程等待资源的到来。DCF环境中不同工作站配置的例子,见图1。

图1 DCF环境的例子

上面的例子中,类型1工作站装有Eclipse,每个工作站包含一个本地的计算配置文件,使得该工作站能够进行计算。除了本地计算,这些工作站还可以在DCF网络中的其他工作站上进行远程计算[9]。类型1工作站还安装了一个代理程序(Agent)作为系统服务。代理程序使得Eclipse能够在其他工作站上执行类型1工作站上的计算[10]。此外,代理程序使用位于DCF服务器上的DCF文件夹中的配置文件。类型2工作站没有安装Eclipse,用作计算服务器。每个类型2工作站都安装有一个代理程序,意味着其他工作站上的Eclipse能够在类型2工作站上进行计算。代理程序使用位于DCF服务器上的DCF文件夹中的配置文件。

1.2 DCF工作的原理

DCF服务器包含一个分配器(Distributor)和一个计算配置文件,计算配置文件被DCF网络中的代理程序使用[11]。分配器分配可用的计算资源用于计算。DCF服务器里的DCF文件夹包括计算算法、射野数据模板、配置的射野数、全局配置文件夹。此外,DCF服务器的位置在每个用于剂量计算的工作站上都必须定义。

由字及意,分布式计算框架配置定义计算的框架。在这个框架中使用安装的计算算法进行计算,需要配置安装在你的治疗计划系统中的每个计算算法[12],例如AAA算法或PBC算法[13-14]。配置包括把算法和合适的配置射束数据连接。这个连接的结果叫做计算模型。几个计算模型可以基于一个计算算法。每个计算模型从一个具体的数据目录中读取配置的射野数据。一个四野计划的计算在DCF中执行的具体例子,见图2。

图2 四野计划的计算在DCF中执行的具体例子

2 方法和结果

2.1 局域网分布情况及其硬件配置

本放疗中心局域网中包含一台服务器,其硬件配置为:Intel(R) Xeon(R)CPU E5-2690 0 @2.90GHz 2.90GHz(2个处理器),RAM:32.0 GB,HDDM:4.08 TB,用于日常的计划设计和剂量计算的有两台带有Eclipse的工作站,其硬件配置为:处理器:Intel(R) Xeon(R)CPU E5-2620 0 @2.00GHz 2.00GHz(两个处理器),RAM:32.0 GB,HDDM:829.9 GB;用于肿瘤靶区勾画的带有Eclipse的4台电脑:其硬件配置为:处理器:Intel(R)Core(TM)DuoCPU E8400 @3.00GHz 2.00GHz,RAM:8.0 GB,HDDM:375 GB;局域网中还有2台未装有Eclipse的工作站,用于日常的排程和数据统计,其利用率较低,其硬件配置为:处理器:Intel(R) Core(TM)i5-3470 CPU@3.20GHz 3.20GHz,RAM:8 GB,HDDM:464 GB。

2.2 15例鼻咽癌患者剂量计算时间测试结果

安装有Eclipse的2台电脑用于日常的剂量计算,为缩短计算时间,充分利用局域网中的硬件资源,在其它6台工作站上安装代理程序DCF_Agent.msi,使得在Eclipse工作站上剂量计算的时候,不仅可以调用另一台装有Eclipse的工作站,还可以调用其它6台工作站。随机选择15例鼻咽癌患者,计划方式选择ARC技术,为使计算时最多能调用8台工作站,射野选择四个弧度,计算网格大小选择2.5 mm,对于每一例患者剂量计算时,先选择调用带有Eclipse的2台工作站,记录剂量计算时间,再通过设置本地工作站中的DCF参数,剂量计算时依次选择调用4,5,6,7,8台工作站,并记录剂量计算时间。相关数据,见表1及图3。图3是基于表1的数据做的图,由表1和图3可见,剂量计算选择调用6台工作站时计算时间最短,选择7台工作站和8台工作站计算时间不但没有缩短,反而略有增加。选择调用6台工作站比2台工作站计算时间平均缩短约19′06″。同时,采用Mann-Whitney U检验,6台工作站分别与2,4,5,7,8台工作站相比较,Z=-4.667,-2.634,-1.348,-0.415,-1.390,P=0.000,0.008,0.178,0.678,0.165。可见调用6台工作站时所用的计算时间短于2台和4台,具有统计学差异(P<0.05);调用6台工作站时所用的计算时间短于5台、7台和8台,但不具有统计学差异(P>0.05),详见表2。

3 讨论

本研究中分布式计算框架是基于云计算,而不是真正意义上的云计算,云计算是由分布式计算技术、网格技术等发展起来的先进技术。分布式计算又称网络计算,它是充分利用网络资源的计算模型。该模型旨在提供一套有组织的系统方法,以实现一种开放型的标准化系统结构,使程序和数据都具有透明的分布能力和网络联结能力,以及互操作性和可移植性的能力[15]。本放疗中心的瓦里安分布式计算主要由服务器根据分配器分配给网络中有计算资源的工作站,而每个工作站之所以能够被调用,是因为本地安装了代理程序,否则就不能被调用。Na[16]等在验证了在亚马逊云平台环境中优化和计算固定野调强计划和容积旋转调强计划的可行性,实质性的提高了计算速度,使得将来在线自适应计划成为可能。

图3 15例鼻咽癌患者ARC计划剂量计算时间柱状图

容积旋转调强技术由于剂量学上的优势,其在临床上的应用越来越广泛,而剂量计算时间直接影响到临床实践中的工作效率[17-18]。本研究一定程度上缩短了剂量计算时间,约19′06″左右,随所需计算时间的增加,缩短的计算时间越长。计算时间的长短一方面与本身的计算工作量有关,另一方面与调用的工作站数量和工作站本身的硬件配置有关。在具体临床实践中,四台用于勾画靶区的工作站上也安装上代理程序,使得其也能够被调用,提高闲置资源的利用率。值得注意的是,本地工作站在剂量计算时,并不是调用所有的闲置工作站,而是优先调用硬件配置较高的工作站,以免某一进程计算速度较慢而影响整体的计算时间。当所需计算资源一定时,没有必要无限制的增加工作站的数量。

表1 15例鼻咽癌患者ARC计划剂量计算时间

表2 6台工作站计算时间与其它各台工作站计算时间的比较

总之,在本研究中,调用6台工作站时所用的计算时间短于2台和4台,具有统计学差异;调用6台工作站时所用的计算时间短于5台、7台和8台,但不具有统计学差异。局域网中增加一定数量用于计算调用的工作站,能够一定程度的缩短剂量计算的时间,提高肿瘤放疗计划设计的效率。希望在不久的将来能够在放射治疗剂量计算方面能够真正的实现云计算,促进医学的进步。

猜你喜欢
分布式计算射野计算资源
自动羽化技术在射野衔接处的剂量鲁棒性研究
基于模糊规划理论的云计算资源调度研究
射野大小对全脑调强放疗计划EPID验证结果的影响
改进快速稀疏算法的云计算资源负载均衡
射野分裂技术对宫颈癌术后静态调强放射治疗计划的影响
基于Wi-Fi与Web的云计算资源调度算法研究
耦合分布式系统多任务动态调度算法
三维蓝水箱(BPH)扫描测量系统在螺旋断层加速器质量控制检测中的应用
基于云计算的大数据处理与分析综述
基于云计算的移动学习平台设计与实现