为什么云计算如此吸引科学家,在这篇文章中,经验丰富的科学家将教你如何使用云。
二月,计算机科学家马克·豪伊森准备分析从两打管水母类动物(同水母和珊瑚有密切联系的海洋动物)身上分离出的RNA物质。位于当地的布朗大学有一台高性能计算机,然而它在维护后并不完全可靠。因此豪伊森决定使用亚马逊的EC2云计算平台,并参与一些“spot instances”的竞价,“spot instances”是亚马逊以折扣价竞价销售的空余计算能力。折腾了两个小时之后,他终于设置成功一台用于运行软件的虚拟机,并上传了管水母类动物的RNA序列。历时14个小时,花费了61美元之后,他最终完成了RNA序列分析。
豪伊森这样的科学家正在越来越多地租借亚马逊、谷歌以及微软等互联网服务商提供的计算资源,而不只是作为应急措施。正如一份由美国国家科学基金会(NSF)资助的调查报告所指出的,云服务的运营商们给实验室提供了无法通过其他途径获得的计算能力(详见go.nature.com/mxh4xy)。
某些领域的科学家需要强大的计算能力,如地震学家,需要在地震过后整理来自传感器的数据,如天文学家,需要处理太空望远镜的观测数据。他们可以按自身需求租借额外的计算能力,而不是购买昂贵的硬件设备。
科学家可以通过配置云环境,以适应自身的需求。尽管并不足以完成需要使用先进的超级计算机或设备间快速通信才能完成的分析,但或许云计算正适合处理哪些台式机无法搞定,而劳驾超级计算机又过于浪费的项目。而且在网上工作还能共享数据、软件和运算的配置,使组员间的合作更加方便。
但将科学研究移至云端并非易事。“你需要有技术背景,因为云并不是为科学家这样的终端用户设计的,”豪伊森说道。尽管入门困难,但通过学习一些攻略,科学家为自己的研究团队和实验室设置云环境并非难事。
云计算DIY攻略
大多数的云平台要求使用者具备一些基础的计算机技能,比如理解如何使用命令行,并且熟悉操作系统以及文件结构。一旦科学家具备了扎实的计算机基础,下一步就是尝试在云环境中工作。
植物生物学家安德里亚斯·马德隆认为最便于使用的云当属Atmosphere平台,它是名叫iPlant的协作型网络设施工程的一部分。iPlant由美国科学基金会资助,由三所美国大学以及纽约州长岛的冷泉港实验室牵头研发。从2008年开始,科学家就开始使用iPlant共享软件和免费运行分析程序了。
Atmosphere平台的设计充分考虑了科学家的需求,平台的界面附带预加载的软件,全套的训练数据集以及使用者交流的论坛。麦德隆在位于华盛顿塔科马市的普吉特湾大学任教,负责教授本科生一门生物信息学课程,课程中有一节是关于云计算。他首先介绍了Unix操作系统,然后让学生们使用Atmosphere平台分析RNA序列。
用户订购了iPlant后,将会自动获得每个月大约168小时的处理时间,而且如果需要更多时间,也可以申请。用户可以根据需要加载带有任何软件的虚拟机,而且当标准设备不足以完成工作,任务会被移交给德克萨斯州先进计算研究中心的一台超级计算机,在该计算机中,iPlant有专属的处理空间。
麦克·科温顿是加利福利亚大学戴维斯分校的一名生物学家,在服务器多次因为不堪重负而崩溃之后,他将实验室的计算工作转移至iPlant平台。他还复制了自己的虚拟机上传至平台,这样他的同事(其实所有的iPlant用户)可以登录并获得完全一致的软件、数据和计算设置。“如果我花费数个小时设置虚拟机,使之能完成从头测序(用很短的DNA片段重构完整长度的DNA序列),那么其他想用自己的数据进行从头测序的科学家都能按照我的设置完成任务。”
这种虚拟副本或许会成为需要计算的项目的标准解决方案。比如,一篇论文中描述了微生物基因的分析,任何想重复分析过程的人只需购买亚马逊的计算时间,就能从亚马逊的云端下载论文作者的虚拟机副本。
云的挑选
对于一些研究者,云的选择很简单。欧洲粒子研究中心粒子物理实验室的科学家们从2013年开始就能享受到大容量、内部专用的云,它在软件平台OpenStack上运行。还有几所大学,如位于纽约州的康奈尔大学和位于印第安纳州的圣母大学,也开发了计算云,包括圣母大学在内的一些研究机构甚至将自己的云外包给Rackspace Private Cloud之类的云服务公司,Rackspace Private Cloud是一家位于德克萨斯州圣安东尼奥市的跨国公司,为用户构建和管理云。但对于另一些科学家,他们所在的研究机构无法提供可靠的校园云平台,在“云堆”中苦苦寻找合适的云是非常痛苦的过程(详见“致困惑者的指南”)。云系统的设置方法也千差万别,熟悉其中一家服务商的云系统并不能保证可以轻松使用其他服务商的云。
凯西·顿恩是一位进化生物学家,同豪伊森一样都在布朗大学工作。他喜欢让学生使用商业平台。“当学生们去其他地方做博士后或是创建自己的实验室时,他们依然可以登录亚马逊。”他说。
索马里·达塔是斯坦福大学基因学及个人化医疗研究中心生物信息学部的负责人,她并没有选择完全依赖斯坦福校内的服务器,而是使用谷歌的云平台,以满足研究中心海量基因数据的维护和计算需求。她陈述了选择谷歌的几个原因:谷歌的研发人员非常积极地改进平台工具,使其更方便基因科学家使用;谷歌对医疗保健研究非常感兴趣;还有,谷歌的报价也很合理。
对云平台的顾虑
对于达塔以及其他人,云计算的关键问题是它的安全性。“我们对此很担心,”她说到,“黑客们知道有价值的信息在哪,并会关注它们。”尽管如此,达塔仍然认为同其他任何计算机网络相比,云的安全性并不逊色。举例来说,大学云系统的安全性取决于学校防火墙的安全性能。虽然斯坦福有专门的工程师团队监控网络安全,但达塔还是认为:“如果我单干,在不知名的大学或小企业工作,也许我会觉得谷歌云更安全。”事实上,任何与绝密数据打交道的工作,最好能在网络完全断开的条件下进行。
对冒险进入云计算领域的人来说,另一个关键问题是技术支持。软件在新系统上运行可能需要数天时间,而确定一台虚拟机所需要的计算能力和内存则需要反复尝试。所有云服务商都会提供培训和指导,但专职的技术支持人员更多是在大学里,负责维护学校的云。
尽管面临这些挑战,云计算越来越受到科学家们的欢迎。“过去几年中,人们大多对这项前沿技术一无所知,”Rackspace PrivateCloud公司的副总裁说,“而现在人们开始争相使用它。”
顿恩表示这并不奇怪,我们对云其实并没有想象的那么陌生。“几乎所有的消费电子产品都有云部件,或是手机应用,或是类似Netflix的流媒体服务,或是类似于Dropbox的桌面工具,”他说,“云应用于科学研究计算并不属于疯狂冒险的前沿科技,它只是科研领域和其他行业以及消费市场一样,正在经历一场由互联网带来的变革而已。
资料来源Nature
责任编辑 粒 灰
●致困惑者的指南●
可供科学家使用的云
关于云计算的最大的几家服务商包括:
亚马逊的ElasticComputeCloud,微软的Azure以及谷歌的CloudPlatform(附带详细的基因分析程序)。
其他的服务商还有Terminal.com(为科研提供云服务);美国国家科学基金会支持,iPlant共同开发的免费平台Atmosphere;SageMathCloud;康奈尔大学的RedCloud;以云应用快速部署而著称的Digital Ocean;还有使用OpenStack设置云的公司Rackspace,OpenStack是由该公司和美国宇航局(NASA)合作开发的开源云软件平台。
对云开发人员有用的信息
StarCluster是由麻省理工学院开发,用于在亚马逊平台上搭建虚拟研究计算集群的软件。Docker是一个研究者们共享分析所需的代码、计算环境和数据的开源平台。Project Jupyter是可共享的云笔记,使数据、代码和分析程序变得方便获取和交互(详见H. Shen, Nature 515,151-152; 2014)。还有Nimbus,Nimbus,部分由伊利诺伊州的阿贡国家实验室开发,它可将普通的计算集群转变成可供远程用户使用的云系统。
其他资源
《生物科学家计算实例》 凯西·顿恩,史蒂文·哈多克合著(帕尔格雷夫·麦克米兰出版社,2011年)
Software Carpentry计算工作室(详见go.nature.com/jg86jj)
华盛顿大学的科研信息化研究所关于计算平台的建议“我该使用哪种计算平台?”( “Which compute platform should I use?”)