近年来,云计算(Cloud Computing)已经成为高性能计算的新潮流。云计算是一种基于互联网的计算方式,通过这种方式,用户可以按需来申请由供应商提供的各种软硬件资源,进行大规模计算。云计算具有超大规模、虚拟化、高可靠性、按需服务、极其廉价等诸多优点,这使它成为科学计算的重要工具。
在医学影像技术及其交叉学科领域,有许多问题需要借助高性能计算才能得到解决,如医学影像重建、放疗剂量评估、影像基因组学等。苏州医工所医学影像室高欣研究员所带领的数字介入诊疗课题组从2014年就开始了云计算技术在医学影像计算领域的应用研究,取得了进展,并已应用于医学影像的数据处理。
以放疗剂量评估为例,课题组成员刘仰川等人针对在本地计算机上进行放疗剂量评估耗时严重的问题,开展了基于云计算加速的放疗剂量评估研究。研究人员提出了利用在云计算平台Amazon EC2上构建Hadoop集群(见图1),来实现基于MapReduce的GATE仿真加速的方案(见图2)。在该方案中,GATE是一款Monte Carlo仿真软件,具备完善的放疗剂量评估功能;Hadoop是一款开源软件,它不仅提供了分布式计算框架MapReduce,还提供了大数据储存框架HDFS。
图1. 云端Hadoop集群构建示意图。
在云端Hadoop集群中,节点(又称主机、实例)均来自同一个机器镜像(Amazon Machine Image,AMI),且被分配了不同的角色,其中一个Master节点负责计算任务的分配、一个Secondary NameNode节点负责对Master节点进行备份、多个Slave节点负责计算。本地计算机通过SSH通讯协议实现跟云端集群之间的数据上传与下载。
图2. 基于MapReduce的GATE仿真加速方案
在MapReduce框架中,包含Map和Reduce两种任务,它们均在worker节点内运行,分别负责计算和合并。Map任务首先从HDFS中下载仿真代码文件(sub-macro),再调用GATE进行仿真,并将中间结果(sub-dose、sub-dose uncertainty)以键值对(key-value pairs)的形式发送出去。Reduce任务将具有相同键(key)的中间结果合并,并将最终结果传输至HDFS。
为了验证基于MapReduce的GATE仿真加速方案的有效性,构建了18 MeV的X光束入射水模实验,分别进行了本地单线程仿真、云端多集群仿真、云端多光束强度仿真、以及集群可靠性仿真。实验结果中,作为云计算加速的典型结果,含有64个worker节点的集群,相对单个worker节点集群和本地计算机,分别取得了41倍和32倍的加速比。 该方案除了能应用于医学影像领域外,还可应用于生物医学领域的诸多方面,如基因测序、蛋白质分析等。
上述研究成果发表在期刊《Australasian Physical & Engineering Sciences in Medicine》(SCI Q3 1.171)上:
Yangchuan Liu, Yuguo Tang, Xin Gao*, GATE Monte Carlo simulation of dose distribution using MapReduce in a cloud computing environment. DOI 10.1007/s13246-017-0580-0
论文链接:http://www.springer.com/-/3/AV5HSmNspRR8A1ooSeqa
该研究工作得到了国家自然科学基金(81571772)、中科院科研装备研制项目(YZ201342)、以及苏州科技计划项目(SYG201501)资助。