丁翔宇/編譯
如何抓住一片“云”
——科研云計算指南
丁翔宇/編譯

●為什么云計算如此吸引科學家,在這篇文章中,經驗豐富的科學家將教你如何使用云。
二月,計算機科學家馬克·豪伊森準備分析從兩打管水母類動物(同水母和珊瑚有密切聯系的海洋動物)身上分離出的RNA物質。位于當地的布朗大學有一臺高性能計算機,然而它在維護后并不完全可靠。因此豪伊森決定使用亞馬遜的EC2云計算平臺,并參與一些“spot instances”的競價,“spot instances”是亞馬遜以折扣價競價銷售的空余計算能力。折騰了兩個小時之后,他終于設置成功一臺用于運行軟件的虛擬機,并上傳了管水母類動物的RNA序列。歷時14個小時,花費了61美元之后,他最終完成了RNA序列分析。
豪伊森這樣的科學家正在越來越多地租借亞馬遜、谷歌以及微軟等互聯網服務商提供的計算資源,而不只是作為應急措施。正如一份由美國國家科學基金會(NSF)資助的調查報告所指出的,云服務的運營商們給實驗室提供了無法通過其他途徑獲得的計算能力(詳見go.nature.com/mxh4xy)。
某些領域的科學家需要強大的計算能力,如地震學家,需要在地震過后整理來自傳感器的數據,如天文學家,需要處理太空望遠鏡的觀測數據。他們可以按自身需求租借額外的計算能力,而不是購買昂貴的硬件設備。
科學家可以通過配置云環境,以適應自身的需求。盡管并不足以完成需要使用先進的超級計算機或設備間快速通信才能完成的分析,但或許云計算正適合處理哪些臺式機無法搞定,而勞駕超級計算機又過于浪費的項目。而且在網上工作還能共享數據、軟件和運算的配置,使組員間的合作更加方便。
但將科學研究移至云端并非易事。“你需要有技術背景,因為云并不是為科學家這樣的終端用戶設計的,”豪伊森說道。盡管入門困難,但通過學習一些攻略,科學家為自己的研究團隊和實驗室設置云環境并非難事。
大多數的云平臺要求使用者具備一些基礎的計算機技能,比如理解如何使用命令行,并且熟悉操作系統以及文件結構。一旦科學家具備了扎實的計算機基礎,下一步就是嘗試在云環境中工作。
植物生物學家安德里亞斯·馬德隆認為最便于使用的云當屬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?”)