溫亮明 李躍鵬 張麗麗 黎建輝③
(?中國科學(xué)院計算機網(wǎng)絡(luò)信息中心 北京 100190)
(??中國科學(xué)院大學(xué)計算機科學(xué)與技術(shù)學(xué)院 北京 100049)
自亞馬遜發(fā)布AWS(Amazon Web Service)云服務(wù)平臺以來,商業(yè)界就進入了云計算時代。私有云、公有云、混合云等不同的云資源利用方式層出不窮,商業(yè)公司、科研機構(gòu)以及政府部門等單位部署了大量的云數(shù)據(jù)中心為目標(biāo)客戶提供不同形式的服務(wù),工業(yè)界和學(xué)術(shù)界也圍繞云計算技術(shù)展開了大量研究。目前,主流的云服務(wù)模式主要有平臺即服務(wù)(platform as a service,PaaS)、軟件即服務(wù)(software as a service,SaaS)、基礎(chǔ)設(shè)施即服務(wù)(infrastructure as a service,IaaS)等[1],這些云服務(wù)模式雖然為工業(yè)界和學(xué)術(shù)界提供了巨大支撐,但在開放科學(xué)場景下凸顯出一些資源應(yīng)用瓶頸,如資源供給中心化、資源內(nèi)容分散化、資源處理片段化、資源調(diào)度成本高昂化,對現(xiàn)有的云服務(wù)模式進行變革勢在必行。這里所提及資源不僅包括傳統(tǒng)的中央處理器(central processing unit,CPU)、內(nèi)存、網(wǎng)絡(luò)帶寬、磁盤、虛擬機(virtual machine,VM)、鏡像等云計算資源,還包括科學(xué)數(shù)據(jù)、期刊文獻、專利文獻、學(xué)位論文、政策報告、網(wǎng)絡(luò)詞條等科技資源,甚至包括儀器設(shè)備、軟件工具、科學(xué)思維、技術(shù)方法等非常規(guī)資源。
在新科研范式下,云聯(lián)邦模式通過聯(lián)邦軟件和機制將多個科學(xué)云服務(wù)平臺聯(lián)合起來,合作的云服務(wù)提供商(cloud service provider,CSP)對等共享科研資源,按時和可擴展地提供應(yīng)用程序服務(wù),在可變的工作負載、資源和網(wǎng)絡(luò)條件下創(chuàng)建一個計算環(huán)境來支持資源的動態(tài)擴展或收縮,具備了更好的性能優(yōu)勢和效益優(yōu)勢[2]。然而,現(xiàn)有云聯(lián)邦相關(guān)研究仍存在研究數(shù)量較少、理論研究匱乏、研究主題分散等不足,與此同時,開放科學(xué)的興起也對云服務(wù)的資源分類、資源描述、使用范圍、服務(wù)模式、服務(wù)成效等提出新的需求。
本文立足開放科學(xué)大背景,分析科研基礎(chǔ)設(shè)施的新變革,梳理開放科學(xué)云和云聯(lián)邦的發(fā)展脈絡(luò),從概念定義、應(yīng)用場景、應(yīng)用特點、邏輯架構(gòu)、關(guān)鍵技術(shù)等方面對開放科學(xué)云聯(lián)邦(Open Science Cloud Federation,OSCF)進行系統(tǒng)介紹,期望為相關(guān)研究提供參考借鑒。
文獻[3]認為開放科學(xué)是一種知識生產(chǎn)機制,科學(xué)家可以據(jù)此獲得已經(jīng)累計的知識并將其擴展傳承。文獻[4]認為開放科學(xué)是關(guān)于知識自由發(fā)展與傳播的各種階段的總稱。文獻[5]認為開放科學(xué)是一種以開放性為特征的科學(xué)文化,在此文化的浸染下科研人員可以最大范圍交流分享研究結(jié)果。文獻[6]認為開放科學(xué)就是使發(fā)現(xiàn)過程中的一切事物可以充分開放獲取,并允許他人在現(xiàn)有的工作基礎(chǔ)上進一步發(fā)現(xiàn)。文獻[7]認為開放科學(xué)背后的思想是在所有利益相關(guān)者的積極參與下,使科學(xué)信息、數(shù)據(jù)和輸出被更廣泛地訪問和更可靠地利用。文獻[8]認為除了最終研究成品之外,研究人員分享他們在研究過程的每個元素,以促進研究人員之間合作的一種新型科研方式,它能夠促使科研人員自發(fā)地開展新的虛擬合作研究。
縱觀上述各種概念論述可以看出,開放科學(xué)并非是一個完全創(chuàng)新的概念,其與多種科研要素和科研活動有著千絲萬縷的關(guān)系。雖然不同學(xué)者對開放科學(xué)的表達方式和側(cè)重點不同,但開放科學(xué)的概念內(nèi)涵始終圍繞自由、開放、合作、平等、共享等特點而展開。
隨著開放科學(xué)進程不斷推進,不同學(xué)科領(lǐng)域的共性需求更加密集,建設(shè)以海量數(shù)據(jù)資源為基礎(chǔ)、以通用算法模型為核心、以超強計算能力為支撐的信息化基礎(chǔ)設(shè)施成為現(xiàn)實所需,科學(xué)家們設(shè)想構(gòu)建一種軟硬件兼容的平臺來整合已有的科研資源,開放科研基礎(chǔ)設(shè)施理念由此誕生[9]。所謂開放科研基礎(chǔ)設(shè)施,是指將實驗室、大科學(xué)裝置、科研數(shù)據(jù)中心、科研信息化平臺、科學(xué)計算網(wǎng)格等基礎(chǔ)設(shè)施進行開放共享[10]。圖1 展示了部分國家或地區(qū)在開放科研基礎(chǔ)設(shè)施方面的行為舉措。
圖1 開放科研基礎(chǔ)設(shè)施代表性舉措
科研基礎(chǔ)設(shè)施雖然為科研資源開放集成和多邊合作提供技術(shù)架構(gòu)和平臺工具,但在新的時代背景下,開放科學(xué)對科研基礎(chǔ)設(shè)施的資源狀態(tài)、資源供給、資源處理、資源關(guān)系、操作方式等提出了新的要求。(1)資源狀態(tài)FAIR 化:人工智能技術(shù)的效用發(fā)揮需要隨需隨用、無處不在、無縫連接式的科研資源供給作為支撐,云計算固有的管理邊界需要云間無縫融合且可互操作,因此科研資源在流通過程中要易于被人或機器可發(fā)現(xiàn)(findable)、可訪問(accessible)、可互操作(interoperable)和可重用(reusable)[11]。(2)資源供給聯(lián)邦化:科研用戶對多樣性且不可替代的資源實例需求在不斷提升,單一的資源供給顯然已不能滿足全局需求,需要將物理上分散的科研資源聯(lián)合起來,形成邏輯上集成的科研資源網(wǎng)絡(luò)體系,資源由各機構(gòu)自主管理和維護,聯(lián)邦系統(tǒng)提供統(tǒng)一的資源索引目錄[12]。(3)資源處理集成化:科研工作者對科研平臺的功能需求不再局限于基本的數(shù)據(jù)存儲與共享,未來的科研處理平臺應(yīng)該朝著多功能融合化趨勢發(fā)展,將是一個集存儲、計算、共享等多種功能于一體、滿足紛繁復(fù)雜的技術(shù)標(biāo)準(zhǔn)、系統(tǒng)間實時交互的融合型系統(tǒng)[13]。(4)資源關(guān)系生態(tài)化:世界各國正在積極倡導(dǎo)全民參與、共同構(gòu)建一個具有正向反饋機制的、互惠互利的開放科學(xué)生態(tài)體系框架,每個參與者通過某種特定關(guān)系與其他開放性網(wǎng)絡(luò)進行連接,這種競合機制最終促進開放科學(xué)生態(tài)系統(tǒng)完成自我“進化”[14]。(5)資源操作云端化:2020 年全球新型冠狀病毒肺炎防控期間的實踐已經(jīng)表明,在面對突發(fā)重大公共衛(wèi)生事件時,通過云端進行科研資料傳輸、聯(lián)邦分析、成果共享、交流討論十分必要且具有一定可行性,資源開放共享與跨域協(xié)作創(chuàng)新將成為社會新常態(tài)[15]。
隨著開放科學(xué)對資源操作云端化處理的需求不斷加快,以開放科學(xué)(數(shù)據(jù))云為代表的開放科研基礎(chǔ)設(shè)施開始出現(xiàn)。2009 年,美國率先發(fā)起了開放科學(xué)數(shù)據(jù)云(Open Science Data Cloud,OSDC)項目,這是一個提供科學(xué)數(shù)據(jù)集資源存儲、共享和分析的數(shù)據(jù)科學(xué)生態(tài)系統(tǒng),研究人員可以存儲科學(xué)數(shù)據(jù),訪問補充公共數(shù)據(jù)集,創(chuàng)建、共享和定制虛擬機。2015年10 月,歐洲網(wǎng)格基礎(chǔ)設(shè)施(European Grid Infrastructure,EGI)、GéANT、歐洲數(shù)據(jù)基礎(chǔ)設(shè)施(European Data Infrastructure,EUDAT)、歐洲研究圖書館協(xié)會(Association of European Research Libraries,LIBER)和歐洲科研開放獲取基礎(chǔ)設(shè)施(Open Access Infrastructure for Research in Europe,OpenAIRE)等5家科學(xué)組織聯(lián)合發(fā)布開放科學(xué)云聲明,闡述了合作伙伴對開放科學(xué)云的組織、可持續(xù)發(fā)展和治理方面的愿景,聲明了歐洲開放科學(xué)云的目標(biāo)導(dǎo)向。2016年,歐洲正式啟動“歐洲云計劃”,借助云的理念將歐洲現(xiàn)有的信息化基礎(chǔ)設(shè)施、數(shù)據(jù)資源、云戰(zhàn)略和高性能戰(zhàn)略成果等聯(lián)合起來,形成一體化的信息化基礎(chǔ)設(shè)施環(huán)境。在“歐洲云計劃”的帶動下,“歐洲開放科學(xué)云(European Open Science Cloud,EOSC)”作為其重要組成部分開始部署,170 萬歐洲科研人員和7000 萬領(lǐng)域人士可跨境、跨領(lǐng)域?qū)崿F(xiàn)科研數(shù)據(jù)的訪問、存儲、管理、分析和再利用。2017 年12 月,中國啟動“中國科技云(China Science and Technology Cloud,CSTCloud)”工程建設(shè),當(dāng)前可面向眾多學(xué)科領(lǐng)域提供計算服務(wù)、存儲服務(wù)、網(wǎng)絡(luò)服務(wù)、平臺社區(qū)、科學(xué)軟件、運行維護、數(shù)據(jù)信息、安全認證等服務(wù)內(nèi)容,已為多個重大科研項目提供支撐服務(wù),初步顯現(xiàn)出“科研專有云”、“開放云”、“全球合作云”特征。歐洲委員會于2018 年3 月提交的EOSC 計劃路線圖指出,將在自愿原則基礎(chǔ)上,把現(xiàn)有的科研云基礎(chǔ)設(shè)施整合為一個可以向全歐洲提供服務(wù)的云結(jié)構(gòu)基礎(chǔ)設(shè)施聯(lián)邦,幫助歐洲在科學(xué)數(shù)據(jù)基礎(chǔ)設(shè)施方面獲得全球領(lǐng)先地位。
與PaaS 模式和SaaS 模式相比,開放科學(xué)云屬于IaaS 模式的典型代表,其以提供計算資源、存儲空間、網(wǎng)絡(luò)帶寬等硬件資源為主要功能[16],用戶可以采用即用即付的方式租用基礎(chǔ)設(shè)施資源。然而,隨著邊緣側(cè)對“大連接、低時延、大帶寬”的云資源需求更加旺盛,這些中心化的云服務(wù)模式在擴展性、負載均衡、服務(wù)效能等方面逐漸顯現(xiàn)出局限性,云服務(wù)提供商已難達到承諾的服務(wù)質(zhì)量(Quality of Service,QoS)水平且難以滿足動態(tài)型的資源請求。
為了突破當(dāng)前PaaS、SaaS、IaaS 模式的技術(shù)瓶頸,必須對現(xiàn)有的云服務(wù)模式進行改造,設(shè)想將具有不同專業(yè)和標(biāo)準(zhǔn)化服務(wù)的云進行聚合,云服務(wù)商通過協(xié)作來構(gòu)建基于云的體系結(jié)構(gòu),而創(chuàng)建聯(lián)邦型的云服務(wù)環(huán)境也許是可行途徑之一。2009 年,歐洲第七框架計劃(7th Framework Programme,FP7)率先提出了聯(lián)邦云(Federation Cloud)構(gòu)思,設(shè)想實現(xiàn)跨地域、跨管理域、跨服務(wù)、無邊界的資源移動,在此基礎(chǔ)上構(gòu)建了第一個完全開源的聯(lián)邦云平臺——OpenNueblua。2011 年,歐洲核子研究組織(European Organization for Nuclear Research,CERN)發(fā)起了EGI 聯(lián)邦云項目并制定了聯(lián)邦云框架,用戶可通過EGI 的集中管理工具對全球科研資源進行統(tǒng)一訪問。同年,文獻[17]提出了“云聯(lián)邦”的定義,認為云聯(lián)邦是一種具有互操作性特征的服務(wù)聚合,通過地理分布方法來應(yīng)對性能和災(zāi)難恢復(fù)挑戰(zhàn),通過云聯(lián)邦可將部分任務(wù)外包給更具成本效益的群體來完成。文獻[18]認為云聯(lián)邦是將2 個或多個云服務(wù)環(huán)境互連在一起的方法,一個CSP 可將科研資源批發(fā)或出租給另一云提供商,根據(jù)提供商之間的特定協(xié)議,這些資源將成為買方的臨時或永久擴展性資源。2017 年,文獻[19]提出了云聯(lián)邦即服務(wù)(Cloud Federation as a Service,CFaaS)思想,認為云聯(lián)邦可以透明地實現(xiàn)云客戶端與云之間的通信,可以實現(xiàn)服務(wù)抽象層(service abstraction layer,SAL)以簡化客戶端通信,云/云服務(wù)可以選擇支持SAL 以促進其服務(wù)的聯(lián)邦。此外,美國國家標(biāo)準(zhǔn)與技術(shù)研究院(National Institute of Standards and Technology,NIST)于2020 年發(fā)布了云聯(lián)邦系統(tǒng)參考架構(gòu)概念模型[20]。由此可見,云聯(lián)邦是一種按照特定協(xié)議將私有云、公有云和混合云中2 個或多個CSP 邏輯組合的生態(tài)系統(tǒng),實現(xiàn)資源功能互相調(diào)用動態(tài)擴展的協(xié)作型、分散型云計算服務(wù)環(huán)境。云聯(lián)邦使CSP 突破了資源數(shù)量限制,允許根據(jù)需求變化將資源外包給其他提供者、將免費資源租給其他提供者或關(guān)閉未使用的節(jié)點,為分布式云資源服務(wù)的動態(tài)性、擴展性、可靠性和效能性管理提供了一個實用平臺[21]。
面對開放科學(xué)云的發(fā)展困境,結(jié)合云聯(lián)邦的應(yīng)用優(yōu)勢,科學(xué)家在探索構(gòu)建開放科學(xué)云聯(lián)邦的可能性。2019 年10 月,CSTCloud 提出了建設(shè)“全球開放科學(xué)云(Global Open Science Cloud,GOSC)”構(gòu)想并于2020 年6 月與EGI 基金會正式簽署合作協(xié)議,雙方共同推動中歐跨洲際開放科學(xué)云的協(xié)作與聯(lián)邦服務(wù),圍繞共建“全球開放科學(xué)云”的遠景目標(biāo)開展培育與示范工作。盡管開放科學(xué)云聯(lián)邦已進行了初步探索,但對其概念未有明確定義,本文認為開放科學(xué)云聯(lián)邦是一種為滿足科研活動的特定需求和規(guī)則要求而制定的、可擴展的開放型、虛擬化、服務(wù)型云際交互平臺。加入開放科學(xué)云聯(lián)邦系統(tǒng)的節(jié)點通過身份驗證后即可訪問不同的系統(tǒng)資源,其由存儲和管理數(shù)據(jù)的基礎(chǔ)架構(gòu)、傳輸數(shù)據(jù)的高帶寬網(wǎng)絡(luò)、用于處理數(shù)據(jù)的計算設(shè)備等3 個相互依賴的核心元素組合而成。圖2 給出了開放科學(xué)云聯(lián)邦的概念模型。
圖2 開放科學(xué)云聯(lián)邦概念模型
開放科學(xué)云聯(lián)邦的共享理念在各個領(lǐng)域具有通用性,這為云聯(lián)邦在科學(xué)研究領(lǐng)域的實踐探索提供了一種虛擬化的云際互聯(lián)協(xié)作環(huán)境,此環(huán)境集成了多種科研資源,橫跨多個利益相關(guān)者,應(yīng)用場景和應(yīng)用特點也更加符合科學(xué)研究需求,研究人員將能夠處理大量科研資源并共享其科學(xué)成果,同時改善知識獲取途徑,從而提高創(chuàng)新能力。與傳統(tǒng)的中心化開放科學(xué)云平臺相比,開放科學(xué)云聯(lián)邦模式在資源供給、服務(wù)質(zhì)量、治理機制等方面均體現(xiàn)出一定優(yōu)勢,表1 展示了2 種方式的異同之處。
表1 開放科學(xué)云聯(lián)邦與中心化平臺的比較分析
立足開放科學(xué)發(fā)展需求并結(jié)合開放科學(xué)云聯(lián)邦的概念架構(gòu),本文認為開放科學(xué)云聯(lián)邦有以下典型應(yīng)用場景。(1)算力共享:當(dāng)科學(xué)計算任務(wù)無法由單個科研機構(gòu)獨立完成時,可將科學(xué)數(shù)據(jù)拆分成若干模塊,根據(jù)不同計算中心的負載狀態(tài)將分片數(shù)據(jù)傳輸給最優(yōu)計算中心執(zhí)行計算[22]。以大型強子對撞機(large hadron collider,LHC)為例,其每秒鐘會采集到的PB 級對撞實驗原始數(shù)據(jù)被切分成塊后通過LHC 計算網(wǎng)格分發(fā)到全球40 多個國家的170 個數(shù)據(jù)中心進行計算分析,分析結(jié)果按照處理層級分布式存儲在計算網(wǎng)格中的數(shù)據(jù)中心。(2)多任務(wù)計算:多任務(wù)計算是同時滿足高性能計算(用最短的時間完成某一項科學(xué)計算任務(wù))和高通量計算(在同一時間內(nèi)盡可能完成多個計算任務(wù))的一種計算方式[23]。例如某研究所常規(guī)配置的數(shù)據(jù)中心的響應(yīng)速度難以滿足對大規(guī)模人群隊列基因組數(shù)據(jù)進行快速精準(zhǔn)分析,這就需要科研機構(gòu)根據(jù)負載與其他計算中心進行動態(tài)合作,實現(xiàn)高性能與高通量的科學(xué)計算任務(wù)。(3)聯(lián)邦學(xué)習(xí):聯(lián)邦學(xué)習(xí)是指原始數(shù)據(jù)不離開本地節(jié)點但將科學(xué)計算所需算法、軟件及運行環(huán)境傳輸給聯(lián)邦成員,聯(lián)邦成員對本地數(shù)據(jù)計算處理后將中間結(jié)果提供給外部機構(gòu)進一步處理[24]。例如聯(lián)合國可持續(xù)發(fā)展目標(biāo)(sustainable development goals,SDGs)的計算分析過程中各國家的詳細人口數(shù)據(jù)在本地留存但算法共享,共同訓(xùn)練機器學(xué)習(xí)模型,最后再將模型訓(xùn)練結(jié)果回傳給聯(lián)邦中心。(4)云功能集成:云集成指科研用戶或機構(gòu)將多個異構(gòu)云平臺中的部分資源合并形成一個新的云平臺,當(dāng)某科研機構(gòu)申請科研項目時,共同參與單位可以根據(jù)需要提供相應(yīng)的資源,項目內(nèi)資源可統(tǒng)一訪問管理[25]。例如國家重點研發(fā)計劃“科學(xué)大數(shù)據(jù)管理系統(tǒng)”項目將27 所高等院校/科研院所的不同學(xué)科領(lǐng)域的數(shù)據(jù)進行研究并形成統(tǒng)一的數(shù)據(jù)集成系統(tǒng)。(5)云平臺拓展:云擴展是指通過借租其他單位或公有云資源對其自身資源進行擴展以解決單個科研機構(gòu)在處理某些復(fù)雜的科學(xué)任務(wù)時在存儲、傳輸、計算等方面存在明顯瓶頸[26]的問題。例如科研機構(gòu)A需要在短時間內(nèi)完成海量科學(xué)數(shù)據(jù)的存儲和分析,租用商業(yè)云服務(wù)商B提供的云空間進行數(shù)據(jù)備份,調(diào)用超級計算中心C提供的算力進行高性能計算,待項目結(jié)束后即終止使用B、C提供的服務(wù)。
根據(jù)開放科學(xué)云聯(lián)邦的應(yīng)用場景,可以將開放科學(xué)云聯(lián)邦的應(yīng)用特點歸納為云際交互、跨越平臺、動態(tài)可變、負載擴展、分布共治5 個方面。(1)云際交互:開放科學(xué)應(yīng)用部署運行在不同科研機構(gòu)的云服務(wù)平臺之上,科學(xué)應(yīng)用的計算與存儲資源均位于不同位置,聯(lián)邦系統(tǒng)集成了各類系統(tǒng)資源,為用戶提供統(tǒng)一服務(wù),不同云服務(wù)平臺之間進行協(xié)議通訊和資源交互傳輸。(2)跨越平臺:既支持各層次(IaaS、PaaS、SaaS)的跨平臺計算,也支持各操作系統(tǒng)(Windows、Unix、IOS、Linux)的跨平臺交互,計算資源由不同格式的VM、容器或分布式計算節(jié)點提供,數(shù)據(jù)資源以分布式的數(shù)據(jù)庫、接口、磁盤等形式提供。(3)動態(tài)可變:聯(lián)邦系統(tǒng)的構(gòu)成層次分為核心層和松散層,松散層的成員數(shù)量相對動態(tài)可變,可隨時加入或退出,聯(lián)邦成員的服務(wù)需求與資源供給亦具有不確定性,當(dāng)某一機構(gòu)的服務(wù)資源不足時可隨時調(diào)用另一機構(gòu)資源。(4)負載擴展:很多科學(xué)應(yīng)用場景中系統(tǒng)所需處理的計算任務(wù)量具有不可預(yù)知性,如果不及時響應(yīng)就可能錯過科學(xué)發(fā)現(xiàn)的關(guān)鍵機會,聯(lián)邦系統(tǒng)提供了靈活的資源擴展機制,可根據(jù)系統(tǒng)負載動態(tài)地擴展與激活聯(lián)邦成員。(5)分布共治:聯(lián)邦成員均主動加入并了解聯(lián)邦的建設(shè)目標(biāo),同意并履行聯(lián)邦運行規(guī)則,同時對系統(tǒng)的決策運行進行共同管理,成員可以加入開放科學(xué)云提供資源服務(wù),也可以從科研人員對其服務(wù)的使用中獲得收益。
從概念定義、應(yīng)用場景、應(yīng)用特點可知,開放科學(xué)云聯(lián)邦是網(wǎng)絡(luò)、計算、數(shù)據(jù)、軟件、工具、應(yīng)用、規(guī)則等科研元素的綜合生態(tài)體,圖3 刻畫了開放科學(xué)云聯(lián)邦系統(tǒng)的邏輯架構(gòu)。
圖3 開放科學(xué)云聯(lián)邦邏輯架構(gòu)圖
邏輯架構(gòu)主要由云平臺層、科學(xué)資源層、資源協(xié)調(diào)層、應(yīng)用協(xié)調(diào)層、科學(xué)應(yīng)用層等構(gòu)成。云平臺層互聯(lián)了現(xiàn)有的開放科研基礎(chǔ)設(shè)施(如EOSC、CSTCloud、AOSP、ARDC、MOSP、ESCAPE 等),它們與科學(xué)資源層之間進行交互映射;科學(xué)資源層主要匯聚了各類開放科學(xué)數(shù)據(jù)并集成了現(xiàn)有流行的云端操作軟件工具包(如Git、Hadoop、HPCC、MongDB、DMPTool 等);資源協(xié)調(diào)層主要實現(xiàn)對異構(gòu)資源的標(biāo)準(zhǔn)化封裝和組織管理,如資源存儲、資源查詢、資源索引、資源映射等;應(yīng)用協(xié)調(diào)層主要實現(xiàn)對服務(wù)應(yīng)用的標(biāo)準(zhǔn)化抽象和云間操作,如資源排序、資源調(diào)度、資源交互、資源交易、使用計量等;科學(xué)應(yīng)用層主要支持云聯(lián)邦在具體科研場景中的落地應(yīng)用,如聯(lián)合國可持續(xù)發(fā)展目標(biāo)、人類基因組計劃、“一帶一路”倡議等。不同層級之間通過特定的協(xié)議規(guī)則進行交互,如科學(xué)資源層與資源協(xié)調(diào)層之間通過FTP、HTTP、UDP 等協(xié)議實現(xiàn)資源傳輸,資源協(xié)調(diào)層與應(yīng)用協(xié)調(diào)層之間通過SASL、SSL、TLS 等協(xié)議保障資源安全,在遵循服務(wù)水平協(xié)議(service level agreement,SLA)和QoS 要求的前提下應(yīng)用協(xié)調(diào)層與應(yīng)用層通過應(yīng)用程序接口(application programming interface,API)實現(xiàn)服務(wù)調(diào)度。
開放科學(xué)涉及諸多利益相關(guān)者,各利益相關(guān)者身份復(fù)雜、需求各異。開放科學(xué)云聯(lián)邦系統(tǒng)要想正常運行,必須首先對眾多利益相關(guān)者的身份屬性和行為權(quán)限進行約束,只有具備特定身份并驗證通過的用戶、機構(gòu)才被允許加入聯(lián)邦系統(tǒng)并共享資源。認證授權(quán)的基本流程如下[27]:首先通過OAuth 協(xié)議實現(xiàn)所有通信實體之間的身份驗證并同步信任,然后通過預(yù)配機制實現(xiàn)應(yīng)用程序服務(wù)器、授權(quán)服務(wù)器以及客戶端之間的信任建立,最后引入token 實現(xiàn)跨組織的應(yīng)用程序資源聯(lián)邦。在具體的身份認證環(huán)節(jié),使用完全哈希驗證、Menezes-Qu-Vanstone(FHMQV)協(xié)議和AES-256 算法實現(xiàn)單點登錄(single sign on,SSO)身份驗證,用戶在訪問來自多個CSP的各種服務(wù)或從同一服務(wù)提供者訪問多個服務(wù)時,僅需要對一次云服務(wù)使用者(cloud service customer,CSC)進行身份驗證即可。但這種單一登錄身份管理方案無法解決多個參與者的身份驗證,核心身份驗證協(xié)議(Caucus)引入了多方計算(multi-party computation,MPC)思想[28],將每個參與者看作聯(lián)邦系統(tǒng)的子集,對于加入云聯(lián)邦系統(tǒng)的節(jié)點,CSC 可以直接從CSP 處獲得服務(wù)而無需要求它們分別與每個CSP 再進行身份驗證。通過云聯(lián)邦認證授權(quán),不僅可以判斷參與者的身份真?zhèn)?還可以判斷這些參與者能夠?qū)υ瀑Y源執(zhí)行哪些操作[29]。在聯(lián)邦層中,確定用戶是否可以訪問請求私有云或聯(lián)邦中其他云中的服務(wù)資源;在本地云層,確定用戶是否可以以其數(shù)據(jù)庫中存在的本地用戶身份訪問請求私有云中的資源;在云之間,確定不同云是否能夠接受來自同一聯(lián)邦中其他云的請求,或創(chuàng)建針對其他云的請求。
開放科學(xué)云聯(lián)邦的最終目的是將諸多利益相關(guān)者聚合,實現(xiàn)不可信環(huán)境下科研資源的可信交互,但不同利益相關(guān)者之間缺乏預(yù)先存在的信任關(guān)系是影響QoS 的因素之一。為了確保各類關(guān)鍵和敏感資源的安全性,必須在將云CSC 的請求從一個CSP 傳遞到另一CSP 之前就評估和建立起信任機制[30]。博弈論被認為是構(gòu)建開放科學(xué)云聯(lián)邦信任機制的經(jīng)典理論:基于博弈論方法的CSP 分類機制將各類資源參數(shù)的可信賴特征確定為合作要素,任何希望破壞聯(lián)邦的不信任成員都將被移除,這解決了異構(gòu)云中CSP 的信任識別問題[31]。基于信任合作博弈理論的新型云聯(lián)邦形成機制使得CSP 可以選擇利潤最大化/成本最小化來動態(tài)地形成信任聯(lián)邦[32]。聯(lián)合博弈的可信云聯(lián)邦方案通過考慮客觀和主觀因素來評估其他CSP 的可信度,與貝葉斯推理集成的Dempster-Shafer 理論用于沒有先驗交互的信任值計算[33]。聯(lián)邦圖游戲也被引入來模擬CSP 之間的合作[34],享有較高信譽的CSP 組織成服務(wù)聯(lián)邦,在降低聯(lián)邦成本的前提下確保聯(lián)邦參與者獲得最高利益并保證聯(lián)邦在執(zhí)行應(yīng)用程序時具有較高的可靠性。集成了多種技術(shù)的信任管理系統(tǒng)TrustyFeer 允許根據(jù)使用對等方的信譽和SLA 的主觀邏輯意見來評估其他對等方的可信度[35],幫助可信賴的通信伙伴互相查找,在降低不符合SLA 的服務(wù)百分比以及提升交換服務(wù)的成功率方面具有更強的魯棒性。通過建立信任機制,云提供商可以快速評估彼此之間的信任度,從而使參與者以可信任和可靠的方式共享其科研資源。
將開放科學(xué)云聯(lián)邦資源從一個CSP 到另一個CSP 的遷移對于負載均衡處理、運營維護、電源管理、VM 故障排除等都至關(guān)重要,這種遷移應(yīng)用不僅限于單個CSP 之間,而且存在于不同的云平臺API之間,需要一系列復(fù)雜的操作流程,因為它包含許多具有不同標(biāo)準(zhǔn)、規(guī)則和協(xié)議自治的CSP。靜態(tài)遷移方法利用可信計算技術(shù)實現(xiàn)異構(gòu)云之間的可信聯(lián)邦,使用遠程認證協(xié)議來實現(xiàn)VM 遷移[36]。動態(tài)遷移方法使用VM 作為聯(lián)邦容器,在計算和通信成本的約束下,實現(xiàn)高層體系結(jié)構(gòu)(high level architecture,HLA)負載均衡[37]。綜合遷移法則根據(jù)網(wǎng)絡(luò)容量構(gòu)建分析評估模型,可實現(xiàn)多VM 的順序遷移和并行遷移[38]。針對關(guān)鍵任務(wù)程序遷移,利用聯(lián)邦系統(tǒng)中資源的高可用性來定義SLA,提前預(yù)訂重新配置計劃和根據(jù)監(jiān)視的參數(shù)授予和分配必要的資源,針對預(yù)測失敗概率較大的屬性則自動優(yōu)化服務(wù)級別從而動態(tài)地重新配置云基礎(chǔ)架構(gòu)。集成化的遷移軟件也為云聯(lián)邦資源遷移提供了可能,以FIWARE Lab 為例,其由多個聯(lián)邦管理工具和組件構(gòu)成[39],可以最大程度地自動化服務(wù)供應(yīng)并實時獲取與所供應(yīng)服務(wù)生命周期相關(guān)的所有信息,具備了跨云服務(wù)無縫部署、資源利用監(jiān)控、資源與數(shù)據(jù)結(jié)構(gòu)聚合等能力,已在17 個歐洲云基礎(chǔ)設(shè)施中應(yīng)用部署。綜合而言,無論選擇哪種遷移策略,都是遷移成本和利潤導(dǎo)向之間的博弈,博弈模型的效用函數(shù)取決于利潤和遷移成本,理想的情形是在提高云資源可移植性和服務(wù)獨立性的同時實現(xiàn)利潤最大化和遷移成本最小化。
開放科學(xué)云聯(lián)邦參與者和資源環(huán)境具有異構(gòu)和動態(tài)屬性,而且物理分布的私有云資源具有異質(zhì)性,在面對防火墻和網(wǎng)絡(luò)地址轉(zhuǎn)換協(xié)議時通常難以發(fā)現(xiàn),因此如何在動態(tài)環(huán)境下規(guī)劃、調(diào)整和調(diào)度云資源以滿足用戶多樣化的服務(wù)需求成為云服務(wù)環(huán)境必須解決的問題。針對平面動態(tài)云聯(lián)邦(Horizontal Dynamic Cloud Federation,HDCF)平臺的復(fù)雜性資源分配問題,基于博弈論的多目標(biāo)優(yōu)化算法實現(xiàn)了HDCF 環(huán)境下云提供商(cloud provider,CP)之間的交互以及對應(yīng)用程序全生命周期的動態(tài)管控[40]。首先,使用云模型將定性概念轉(zhuǎn)換為定量值;其次,根據(jù)多準(zhǔn)則評估信息計算提供者和需求者的滿意度,初步識別出合格的資源;然后,基于擴展理論在單個云內(nèi)部及不同云之間建立雙層異步規(guī)劃模型,引入高優(yōu)先級隊列定義不同云的貢獻份額;最后,根據(jù)個別應(yīng)用程序的需求調(diào)整份額相對權(quán)重,在云聯(lián)邦中選擇最佳的資源組合。代理機制在資源匹配中應(yīng)用廣泛[41],云經(jīng)紀(jì)人(Broker)綜合考慮服務(wù)質(zhì)量、服務(wù)請求分發(fā)和服務(wù)歷史等因素,將服務(wù)請求發(fā)送給聯(lián)邦中的所有CSP,依據(jù)各種負載條件對多個私有CSP 的服務(wù)進行匹配和組合,CSC 在提出下一個服務(wù)請求之前消費服務(wù)并清算所有債務(wù)。在此基礎(chǔ)上衍生出的智能代理機制中引入沖突自動解決協(xié)商框架——選擇、匹配、協(xié)商和擴展(SMNE)協(xié)議[42],Broker 可以“遠程”提供有關(guān)云資源狀態(tài)的各類信息,CSP 和CSC 之間無需直接接觸甚至無需間接接觸即可完成資源交互。
隨著使用率的增加和工作負載的不可預(yù)測性,某些服務(wù)可能變得不再可用,但又可能會出現(xiàn)新的服務(wù)。開放科學(xué)云聯(lián)邦系統(tǒng)的成功很大程度上取決于CSP 能否在其SLA 中兌現(xiàn)對用戶的承諾,其挑戰(zhàn)之一是如何在異構(gòu)環(huán)境中將動態(tài)資源分配給資源請求流,最大化實現(xiàn)資源優(yōu)化[43]?;谡麛?shù)線性規(guī)劃的啟發(fā)式算法將云聯(lián)邦形成框架抽象為一個多目標(biāo)優(yōu)化問題,試圖在保持QoS 與聯(lián)邦成員利益平衡的同時最大化聯(lián)邦利益[44]。針對服務(wù)級別協(xié)議沖突問題[45],在聯(lián)邦體系結(jié)構(gòu)的協(xié)調(diào)層中使用基于市場的分布式仿真方法來協(xié)調(diào)各實體,能夠以最少的SLA 違規(guī)來實現(xiàn)資源供應(yīng)。針對云資源動態(tài)擴展問題[46],多代理框架Elastic-JADE 允許本地Java 代理開發(fā)框架平臺在負載較重的情況下使用Amazon EC2 資源自動地按比例放大和縮小。針對資源調(diào)用效率問題[47],基于地域組法定人數(shù)制度(geographic group quorum system,GGQS)的混合算法使用混合協(xié)議將基于地域組的廣播與基于法定人數(shù)的多播相結(jié)合,提高了事件分發(fā)服務(wù)中云間的互操作性。針對系統(tǒng)消耗問題[48],“偏斜度”概念被用來度量服務(wù)器多維資源利用中的不均勻性,根據(jù)應(yīng)用程序需求動態(tài)分配數(shù)據(jù)中心資源,較好地組合了不同類型的工作負載并提高了資源的整體利用率。針對云需求預(yù)測問題[49],使用泊松-伽馬吉布斯采樣器的馬爾可夫鏈蒙特卡洛模擬器確定每種類型的VM 實例化請求的到達率,借助到達率確定傳入實例化請求的最佳VM 位置,實現(xiàn)了對未來資源需求的隨機預(yù)測。針對服務(wù)可靠性問題[50],聯(lián)邦容錯系統(tǒng)被建模為一個多目標(biāo)的優(yōu)化問題,優(yōu)先級故障管理算法根據(jù)CPU 溫度來鎖定聯(lián)邦中故障。
開放科學(xué)時代,傳統(tǒng)的中心化平臺模式已難以滿足更加自由、開放、合作、平等、共享的科研服務(wù)需求,云聯(lián)邦是開放科學(xué)云服務(wù)模式的必然選擇。目前,開放科學(xué)云聯(lián)邦因具備云際交互、跨越平臺、動態(tài)可變、負載未知、分布共治等特點,已在算力共享、多任務(wù)計算、聯(lián)邦學(xué)習(xí)、云功能集成、云平臺拓展等科研場景中開始應(yīng)用。與通用型云聯(lián)邦技術(shù)相比,開放科學(xué)云聯(lián)邦關(guān)鍵技術(shù)具有以下若干鮮明特點。(1)開放科學(xué)云聯(lián)邦的身份認證授權(quán)面向更廣泛的科研群體,有別于傳統(tǒng)的云聯(lián)邦系統(tǒng)僅對CSP、CSC、Broker 的身份進行認證授權(quán)。(2)開放科學(xué)云聯(lián)邦的資源節(jié)點信任感知的粒度更加細碎,除了對傳統(tǒng)的參與角色身份信息進行確認之外,還包括對資源安全、角色聲譽、參與收益等進行感知確認。(3)開放科學(xué)云聯(lián)邦的資源遷移調(diào)度更加考慮遷移成本和效率之間的均衡,而傳統(tǒng)的云聯(lián)邦遷移或僅注重遷移成本,或僅注重遷移效率。(4)開放科學(xué)云聯(lián)邦的資源精準(zhǔn)匹配講求資源的個性化、動態(tài)化、精準(zhǔn)化匹配,為此可能會犧牲時間效率或匹配成本,而傳統(tǒng)的云聯(lián)邦則注重對通用化、靜態(tài)化資源的模糊適配。(5)開放科學(xué)云聯(lián)邦的資源動態(tài)優(yōu)化更加注重復(fù)雜科研環(huán)境下斷點型資源需求的優(yōu)化,而傳統(tǒng)的云聯(lián)邦資源優(yōu)化更多注重對規(guī)律性商業(yè)活動云資源的優(yōu)化。
不可否認,場景和技術(shù)雙驅(qū)動型的開放科學(xué)云聯(lián)邦還處于早期階段,仍有諸多問題需要解決。例如,如何從邏輯上映射聯(lián)邦云數(shù)據(jù)中心中托管的虛擬資源,如何以安全的方式交換數(shù)據(jù)以使云只能訪問允許的外部資源。未來研究可從以下方面入手,虛擬化引擎之間的互操作性實現(xiàn)、云聯(lián)邦環(huán)境工作負載和VM 行為評估建模、聯(lián)邦分布式環(huán)境中實體資源信息的精確預(yù)測等。