亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        無服務(wù)器計算技術(shù)研究綜述*

        2022-04-21 05:06:52楊柏藹
        計算機(jī)工程與科學(xué) 2022年4期
        關(guān)鍵詞:實例容器調(diào)度

        楊柏藹,趙 山,劉 芳

        (1.湖南大學(xué)設(shè)計藝術(shù)學(xué)院,湖南 長沙 410006;2.國防科技大學(xué)計算機(jī)學(xué)院,湖南 長沙 410073)

        1 引言

        云計算因提供了可靠實惠的遠(yuǎn)程計算資源服務(wù)而受到越來越多開發(fā)者的青睞,形成如基礎(chǔ)設(shè)施即服務(wù)IaaS(Infrastructure as a Service)、平臺即服務(wù)PaaS(Platform as a Service)和軟件即服務(wù)SaaS(Software as a Service)等多種經(jīng)典云服務(wù)模式[1]。這些模式存在諸如費(fèi)用高、專業(yè)性要求高、基礎(chǔ)設(shè)施管理事務(wù)繁雜(如IaaS),應(yīng)用及微服務(wù)[2,3]部署、調(diào)度事務(wù)復(fù)雜(如PaaS),高度封裝、難以拓展等問題。

        為了兼顧基礎(chǔ)設(shè)施集成、應(yīng)用管理、性價比和可拓展性等指標(biāo),無服務(wù)器計算應(yīng)運(yùn)而生,這項新興計算模式專注于基礎(chǔ)設(shè)施透明化,減輕服務(wù)器管理負(fù)擔(dān),解耦應(yīng)用程序,節(jié)省云服務(wù)成本[4],讓開發(fā)者更關(guān)注自身業(yè)務(wù)創(chuàng)新[4]。

        無服務(wù)器計算技術(shù)與服務(wù)蘊(yùn)涵巨大潛力[5]:

        (1) 其應(yīng)用直接由函數(shù)組成,具有解耦、直觀和動態(tài)的特點(diǎn),帶來了開發(fā)方式的創(chuàng)新;

        (2) 基礎(chǔ)設(shè)施管理事務(wù)向云服務(wù)提供商轉(zhuǎn)移,對開發(fā)者透明,帶來了運(yùn)維方式的創(chuàng)新;

        (3) 它能有效統(tǒng)一設(shè)備差異,靈活調(diào)度閑置計算資源,降低設(shè)備折舊率,避免能源空耗;

        (4) 以函數(shù)運(yùn)行時長作為計費(fèi)的指標(biāo),具有較高的性價比,帶來了服務(wù)運(yùn)營方式的創(chuàng)新;

        (5) 新興技術(shù)社區(qū)將進(jìn)一步發(fā)展出成熟的生態(tài)體系和函數(shù)應(yīng)用市場。

        在技術(shù)進(jìn)步與市場需求的推動下,云原生計算基金會、亞馬遜和谷歌等機(jī)構(gòu)提供了豐富的服務(wù)器計算開源框架。學(xué)術(shù)屆也在密切參與相關(guān)技術(shù)研究。本文對近年來無服務(wù)器計算的學(xué)術(shù)研究展開調(diào)查研究,整理了無服務(wù)器技術(shù)在軟件工程、大數(shù)據(jù)、科學(xué)計算、人工智能和物聯(lián)網(wǎng)等前沿領(lǐng)域的先進(jìn)應(yīng)用案例,同時簡要介紹了當(dāng)前流行的無服務(wù)器計算開源平臺及其選型策略,并展開敘述了無服務(wù)器計算當(dāng)前所面臨的挑戰(zhàn)及其對策。為無服務(wù)器計算技術(shù)的后續(xù)研究與應(yīng)用提供參考。

        2 概念定義與技術(shù)特性

        2.1 概念定義

        “Serverless”常與“Serverful”[6]一詞相對,用于描述具有服務(wù)器透明化特性的技術(shù)與應(yīng)用[7,8]。2014年Serverless首次以云服務(wù)概念被提出[9],它實現(xiàn)了應(yīng)用開發(fā)者與服務(wù)器的分離,減輕了開發(fā)者在服務(wù)器管理、安全等方面的負(fù)擔(dān)[10];另一方面,云提供商托管所有基礎(chǔ)設(shè)施,消除了底層設(shè)備差異對上層應(yīng)用造成的不良影響。

        Serverless服務(wù)主要指函數(shù)即服務(wù)FaaS(Function as a Service),通常還包括了為FaaS配套的后端即服務(wù)BaaS(Backend as a Service)。

        FaaS提供函數(shù)管理平臺和運(yùn)行平臺[11],前者包含函數(shù)代碼托管與調(diào)度工具,兼容多種主流編程語言與開發(fā)庫;后者本質(zhì)是改進(jìn)的PaaS[12],維持一批函數(shù)專用容器,支持事件驅(qū)動、自動伸縮等能力。與傳統(tǒng)中心化單體應(yīng)用相比,F(xiàn)aaS函數(shù)應(yīng)用由互相獨(dú)立的函數(shù)顯式編排組成,能直觀地表現(xiàn)應(yīng)用的業(yè)務(wù)邏輯控制流和數(shù)據(jù)流。

        BaaS本質(zhì)是后端服務(wù)(認(rèn)證鑒權(quán)、安全控制和云存儲等)的集成庫,可適應(yīng)多種應(yīng)用場景,如支持移動應(yīng)用的M-BaaS(Mobile BaaS)[13]。

        表1總結(jié)了Serverless技術(shù)與其他經(jīng)典云服務(wù)模式的對比。

        Table 1 Comparison of cloud services in various modes

        2.2 系統(tǒng)架構(gòu)與工作流程

        Serverless系統(tǒng)主要由事件觸發(fā)器、調(diào)度器、函數(shù)代碼倉庫、運(yùn)行環(huán)境和BaaS平臺組成。函數(shù)代碼倉庫托管開發(fā)者提交的函數(shù)及其觸發(fā)規(guī)則。系統(tǒng)通過觸發(fā)器-調(diào)度器結(jié)構(gòu)實時監(jiān)聽與規(guī)則匹配的事件,調(diào)度器會把接收到的事件映射成指定函數(shù),然后把函數(shù)實例調(diào)度到運(yùn)行環(huán)境中執(zhí)行。BaaS平臺提供如云認(rèn)證、云存儲和云監(jiān)控等集成服務(wù)。無服務(wù)器計算系統(tǒng)架構(gòu)如圖1所示。

        Figure 1 Architecture of serverless computing

        為了高效應(yīng)對函數(shù)業(yè)務(wù)請求,提升函數(shù)運(yùn)行效率,無服務(wù)器計算系統(tǒng)一方面緩存函數(shù)實例和計算結(jié)果,以減少讀寫頻率與網(wǎng)絡(luò)傳輸;另一方面直接采取從容器環(huán)境中復(fù)制活躍實例的方式進(jìn)行快速擴(kuò)容,節(jié)省重新生成函數(shù)實例的時間。

        2.3 技術(shù)特性

        Serverless系統(tǒng)具有以下重要技術(shù)特性:

        (1) 基于函數(shù)。輕量化、細(xì)粒度和短周期的函數(shù)是使Serverless系統(tǒng)簡易、穩(wěn)定和保持高性能的基礎(chǔ)。

        (2) 無狀態(tài)特性。函數(shù)實例互相獨(dú)立,單個異常函數(shù)不影響系統(tǒng)正常運(yùn)行,具備一定的容錯能力。

        (3) 自動伸縮。函數(shù)實例可以從活躍節(jié)點(diǎn)直接擴(kuò)容,以應(yīng)對批量事件,提升系統(tǒng)吞吐性能。

        (4) 事件驅(qū)動。觸發(fā)器定義并量化事件-業(yè)務(wù)的關(guān)系,提供實時事件監(jiān)聽服務(wù)。

        (5) 高兼容性。系統(tǒng)能提供對異構(gòu)基礎(chǔ)設(shè)施、運(yùn)行環(huán)境和編程方式[14]等多層次的兼容機(jī)制。

        可以看出,Serverless技術(shù)既適用于短周期、訪問量隨機(jī)波動的即時服務(wù)場景,也適用于高吞吐、高并發(fā)、數(shù)據(jù)密集、算力有限和環(huán)境多樣化等高要求應(yīng)用場景。

        3 國內(nèi)外研究現(xiàn)狀

        3.1 Serverless關(guān)鍵技術(shù)研究現(xiàn)狀

        相比傳統(tǒng)計算模式,Serverless技術(shù)的主要優(yōu)勢表現(xiàn)在極易實現(xiàn)的高并發(fā)、低時延等方面,因此,函數(shù)與容器的調(diào)度、資源管理和分布式應(yīng)用實踐等都是其重要研究內(nèi)容。圖2統(tǒng)計整理了Google Scholar近幾年Serverless相關(guān)學(xué)術(shù)成果發(fā)表情況。可以看出,這些領(lǐng)域持續(xù)有穩(wěn)定數(shù)量的相關(guān)成果產(chǎn)出,同時隨著Serverless技術(shù)日益成熟,結(jié)合Serverless技術(shù)的創(chuàng)新應(yīng)用研究成果的數(shù)量仍在逐年增加。

        Figure 2 Academic achievements related to Serverless in recent years

        (1)函數(shù)與容器調(diào)度相關(guān)技術(shù)研究。

        由于早期Serverless系統(tǒng)底層基礎(chǔ)設(shè)施封裝程度較高,對函數(shù)應(yīng)用的支持存在限制,如限定編程語言、依賴庫加載瓶頸等,造成應(yīng)用開發(fā)效率低、管理困難等問題。文獻(xiàn)[15]列舉了面向資源利用、面向響應(yīng)時延、面向成本等多個不同目標(biāo)的Serverless資源調(diào)度研究。文獻(xiàn)[16]設(shè)計了支持容器感知的無服務(wù)器架構(gòu),定制化地創(chuàng)建和管理函數(shù)應(yīng)用所在的容器鏡像,以實現(xiàn)容器鏡像實例的靈活調(diào)度,細(xì)化容器管控粒度,拓展了Serverless系統(tǒng)管控容器的能力。另外,該文獻(xiàn)還設(shè)計了基于緩存感知的機(jī)制,有效縮短了容器鏡像實例啟動時間,協(xié)同容器并發(fā)與緩存可以提高系統(tǒng)吞吐量。

        針對Serverless系統(tǒng)在容器環(huán)境中的安全性與運(yùn)算性能均不如在虛擬機(jī)環(huán)境中的問題,AWS的研究人員設(shè)計了輕量的工作流管理系統(tǒng) Firecracker[16,17],其本質(zhì)是一個新型的虛擬機(jī)管理器,維持一批微型虛擬機(jī),提供底層的安全隔離特性,結(jié)合虛擬化技術(shù)的可控性與容器化技術(shù)的兼容性,實現(xiàn)了多租戶場景下容器、函數(shù)應(yīng)用或其他計算工作流實體間的安全隔離;同時,面向更底層的系統(tǒng)設(shè)計也提升了Serverless系統(tǒng)的性能,最小化系統(tǒng)開銷。目前,該系統(tǒng)已被集成到了AWS Lambda 產(chǎn)品中。

        (2)資源管理相關(guān)技術(shù)研究。

        Microsoft Azure團(tuán)隊在文獻(xiàn)[18]中總結(jié)了函數(shù)應(yīng)用與觸發(fā)器類型、調(diào)用頻率、調(diào)用模式和資源開銷的關(guān)系與特征模型。為了解決實際工作場景中函數(shù)應(yīng)用在調(diào)用頻率、資源分配失衡時帶來的資源管理瓶頸,該文獻(xiàn)以特征模型為指導(dǎo),采取了一系列實用資源管理策略:①自適應(yīng)異構(gòu)調(diào)用模式,從函數(shù)的實際調(diào)用頻率和模式中學(xué)習(xí)函數(shù)實例的活躍時間;②預(yù)測觸發(fā)條件,追蹤函數(shù)調(diào)用時間,使函數(shù)實例能在調(diào)用前“預(yù)熱”,以減少函數(shù)冷啟動次數(shù)、時延和資源開銷。

        (3)分布式Serverless相關(guān)技術(shù)研究。

        在異構(gòu)的邊緣環(huán)境中,早期Serverless系統(tǒng)由于節(jié)點(diǎn)算力有限、內(nèi)部同步通信開銷占用大等問題,并不能表現(xiàn)出比中心化Serverless架構(gòu)更好的性能。文獻(xiàn)[19]對中心化與分布式這2類重要的無服務(wù)器計算目標(biāo)場景進(jìn)行了深入研究,設(shè)計了混合的分布式Serverless服務(wù)機(jī)制。當(dāng)邊緣節(jié)點(diǎn)發(fā)生空間移動或配置變更時,Serverless系統(tǒng)以中心化的全局視角,為客戶端提供最優(yōu)的邊緣無服務(wù)器計算環(huán)境;當(dāng)客戶端發(fā)生空間移動時,以局部的視角委托當(dāng)前最優(yōu)的服務(wù)器提供不中斷的函數(shù)調(diào)度Serverless服務(wù)。

        在實際應(yīng)用場景中,智能手機(jī)、車載設(shè)備和無人機(jī)等終端在運(yùn)行中會不斷發(fā)生空間移動,因此需要實時保障終端與Serverless服務(wù)器間的連接。此外,來自不同提供商的邊緣設(shè)備呈現(xiàn)出多樣化的特征,導(dǎo)致多種設(shè)備混合組網(wǎng)時系統(tǒng)兼容性差。針對上述問題,文獻(xiàn)[20]提出了Serverless和霧計算相結(jié)合的融合方案——霧函數(shù),即在霧節(jié)點(diǎn)上部署分布式函數(shù)服務(wù)。該研究的主要優(yōu)勢有:①縮短服務(wù)端與客戶端的空間距離,降低服務(wù)時延,在近場應(yīng)用場景中支持彈性伸縮和高容錯;②函數(shù)實例可以在霧節(jié)點(diǎn)之間轉(zhuǎn)移,當(dāng)設(shè)備發(fā)生空間移動時,系統(tǒng)定位出空間上更近的霧節(jié)點(diǎn),將函數(shù)實例與服務(wù)連接轉(zhuǎn)移到新的環(huán)境中,實現(xiàn)業(yè)務(wù)的無縫銜接;③借助容器技術(shù),模糊各類底層邊緣設(shè)備和環(huán)境的差異性,解決系統(tǒng)兼容問題,保證使用者對基礎(chǔ)設(shè)施無感。

        3.2 開源框架

        云原生計算基金會致力于推廣開源容器技術(shù)在云計算上的應(yīng)用,提供了Kubernetes[21]等眾多項目,近年來也在積極布局Serverless生態(tài)[22],文獻(xiàn)[23]指出,65%的受訪者表示在用或已關(guān)注,公有云Serverless服務(wù)平臺占比63%,其余為自建的私有云Serverless平臺,一般通過開源的可安裝式的集成框架[24]搭建。

        (1)Apache OpenWhisk[25]。

        OpenWhisk是IBM公有云Serverless服務(wù) Cloud Functions的核心框架,是由IBM、Apache等機(jī)構(gòu)提供的,可直接安裝于各類物理機(jī)、操作系統(tǒng)和容器等環(huán)境,集成了Docker、Nginx和Kafka等組件,支持負(fù)載均衡、消息隊列等拓展功能。OpenWhisk基于訂閱源服務(wù)的方式支持事件驅(qū)動特性,基于包管理的方式實現(xiàn)函數(shù)管理,是最完整的Serverless解決方案之一,適用于構(gòu)建以數(shù)據(jù)中心、大型云平臺為基礎(chǔ)的Serverless系統(tǒng)。

        其技術(shù)優(yōu)勢表現(xiàn)在:①借助容器編排技術(shù)兼容多種底層環(huán)境,使用者對復(fù)雜的底層環(huán)境無感;②組件模塊化,通過模塊化集成套件,降低管理與監(jiān)控復(fù)雜度;③訂閱源服務(wù)支持豐富的事件源類型,包括消息源、傳感器、聊天機(jī)器人和規(guī)劃任務(wù)等;④包的管理與運(yùn)行環(huán)境支持安全性與私有性。

        (2)OpenFaaS[26]。

        OpenFaaS框架旨在提供輕量易用的微服務(wù)與函數(shù)服務(wù)平臺[27]。為了兼容容器技術(shù)生態(tài),減少系統(tǒng)重復(fù)配置,OpenFaaS基于Kubernetes的環(huán)境運(yùn)行,并通過Kubernetes自定義資源特性實現(xiàn)了大部分內(nèi)部組件。

        OpenFaaS系統(tǒng)具有體量小、概念簡單、依賴的第三方服務(wù)組件少等優(yōu)點(diǎn),適用于如小微型分布式應(yīng)用等在設(shè)備算力與網(wǎng)絡(luò)資源有限的場景。為了方便開發(fā),還提供了模板系統(tǒng)和函數(shù)商店,受到大量中小型團(tuán)隊的歡迎。

        (3)Knative[28]。

        Knative是由Google、Pivotal和SAP等團(tuán)隊提供的,位于Kubernetes生態(tài)的應(yīng)用服務(wù)層,其內(nèi)核完全基于Kubernetes擴(kuò)展實現(xiàn),提供函數(shù)服務(wù)與微服務(wù)運(yùn)行環(huán)境。Knative旨在解決混合云場景,是為應(yīng)對混合云場景而提出的標(biāo)準(zhǔn)化Serverless架構(gòu),所提供的高兼容度的解決方案有利于實現(xiàn)跨平臺業(yè)務(wù)遷移、自動化混合部署、分布式應(yīng)用構(gòu)建、消除提供商鎖定等目標(biāo)。目前,Knative已實施于Google、Pivotal和SAP等機(jī)構(gòu)的Serverless平臺。

        表2從項目背景、架構(gòu)環(huán)境與組件、應(yīng)用場景等方面對上述開源框架進(jìn)行了對比。

        Table 2 Comparison of OpenWhisk,OpenFaaS and Knative

        3.3 現(xiàn)有公有云Serverless服務(wù)

        2014年AWS率先發(fā)布Amazon Lambda,隨即國內(nèi)外主要公有云提供商相繼推出了Serverless/FaaS服務(wù)[29,30],如表3所示。

        Table 3 Comparison of Serverless/FaaS services in primary public cloud

        4 應(yīng)用案例

        基于輕量化、低時延和高并發(fā)等特點(diǎn),Serverless帶來了開發(fā)方式與科研應(yīng)用的創(chuàng)新,在軟件工程、大數(shù)據(jù)處理、科學(xué)計算、機(jī)器學(xué)習(xí)和物聯(lián)網(wǎng)IoT等領(lǐng)域得到了許多實踐與研究,本節(jié)將展開敘述。

        4.1 Serverless與新型系統(tǒng)開發(fā)

        經(jīng)典“Serverful”模式主要有客戶端-服務(wù)器C-S(Client-Service)[31]和瀏覽器-服務(wù)器B-S(Brouser-Service)[32]2類。人機(jī)交互由C、B端負(fù)責(zé),應(yīng)用業(yè)務(wù)由S端的單體應(yīng)用提供。

        傳統(tǒng)單體應(yīng)用往往耦合度高、迭代與維護(hù)難度大、專業(yè)性要求高,當(dāng)前面臨創(chuàng)新的需要:①受限于移動設(shè)備的算力與能耗,移動即時應(yīng)用面臨輕量化和低能耗要求[33];②為了應(yīng)對數(shù)據(jù)的匯總、監(jiān)控和分發(fā)等需求,管理信息系統(tǒng)有著實時性能敏感、系統(tǒng)組成復(fù)雜等特性。隨著產(chǎn)業(yè)轉(zhuǎn)型與新增需求的推動,眾多舊應(yīng)用將面臨改造或重構(gòu),成本低廉的Serverless服務(wù)被各類社會部門所采納。

        當(dāng)前,陸良縣田地玉米機(jī)械化程度不高,這是由玉米農(nóng)業(yè)經(jīng)濟(jì)發(fā)展不均衡的客觀現(xiàn)實決定的:一些大塊田地多由農(nóng)機(jī)合作社承包,他們自然有實力來選用先進(jìn)的農(nóng)業(yè)機(jī)械來實現(xiàn)玉米全程機(jī)械化,完成高質(zhì)量、高效率的玉米種植機(jī)械操作。但一些小塊田地,一方面是因為經(jīng)濟(jì)實力所限,難以選用到更加先進(jìn)的農(nóng)業(yè)機(jī)械,且一些大型玉米收獲機(jī)在小面積田地中也很難得到充分施展,無法真正發(fā)揮全部性能,極容易造成糧食和資源浪費(fèi)。

        此外,隨著互聯(lián)網(wǎng)應(yīng)用與大數(shù)據(jù)的規(guī)模不斷擴(kuò)大,人們面臨更嚴(yán)峻的數(shù)據(jù)孤島現(xiàn)象,尤其體現(xiàn)在傳統(tǒng)文化、創(chuàng)新設(shè)計和現(xiàn)代科教等眾多細(xì)分領(lǐng)域。為了打通數(shù)據(jù)孤島,充分挖掘這些細(xì)分領(lǐng)域大數(shù)據(jù)的價值,人們有著強(qiáng)烈的在細(xì)分領(lǐng)域建設(shè)大數(shù)據(jù)平臺的需求。以往構(gòu)建大數(shù)據(jù)平臺耗時長、成本高昂且專業(yè)要求高,而Serverless的出現(xiàn)為各類細(xì)分領(lǐng)域大數(shù)據(jù)平臺的建設(shè)帶來了機(jī)遇,使得從業(yè)者能更快速、更經(jīng)濟(jì)、更容易地構(gòu)建大數(shù)據(jù)平臺。

        表4整理了Serverless在多個實際應(yīng)用中的實施情況。

        Table 4 Innovation application cases of Serverless

        4.2 Serverless與大數(shù)據(jù)處理

        大數(shù)據(jù)最顯著的特征是持續(xù)擴(kuò)大的數(shù)據(jù)規(guī)模及其復(fù)雜度,這對傳統(tǒng)數(shù)據(jù)處理系統(tǒng)提出了挑戰(zhàn)。為了解決吞吐率及算力瓶頸,除了縱向增加單臺計算機(jī)的算力,研究人員還嘗試以橫向拓展的方式,組織分布式計算集群來處理數(shù)據(jù)。MapReduce[44]是該類模型中最經(jīng)典的模型之一,其核心思想是先切割數(shù)據(jù)集,再執(zhí)行多線程并發(fā)處理,降低單次作業(yè)的數(shù)據(jù)規(guī)模,以提升系統(tǒng)總體數(shù)據(jù)處理性能。

        傳統(tǒng)場景中,研究人員不僅要設(shè)計算法,還要額外安排大量時間管理眾多設(shè)備,負(fù)責(zé)進(jìn)程管理、負(fù)載均衡和系統(tǒng)容錯等細(xì)節(jié)[45]。因此,研究人員嘗試借助Serverless改變這一現(xiàn)狀,文獻(xiàn)[46]通過云端實現(xiàn)數(shù)據(jù)集、算法代碼和運(yùn)行環(huán)境的顯式管理,同時Serverless的高并發(fā)特性免去了數(shù)據(jù)處理程序中復(fù)雜的多線程配置。文獻(xiàn)[47]提出,在應(yīng)對實時系統(tǒng)、物聯(lián)網(wǎng)等數(shù)據(jù)密集型場景下動態(tài)連續(xù)的數(shù)據(jù)流時,同樣可以先將數(shù)據(jù)流轉(zhuǎn)換成有序且有界的數(shù)據(jù)塊,再執(zhí)行數(shù)據(jù)處理作業(yè)。

        先對數(shù)據(jù)集進(jìn)行切割然后再通過Serverless并發(fā)處理的思路可以推廣到超大型文件處理領(lǐng)域,相關(guān)的研究與實踐還有:Netflix視頻轉(zhuǎn)碼系統(tǒng)[48]、可編程式視頻處理框架Sprocket[49]、生化數(shù)據(jù)(DNA、RNA序列)分析平臺[50,51]和高吞吐文件處理應(yīng)用[52]等。

        4.3 Serverless與科學(xué)計算

        科學(xué)計算涉及數(shù)學(xué)計算、數(shù)字仿真建模和高性能計算等課題,具有高精度、高吞吐和高并發(fā)的需求。為了降低軟件工程開發(fā)難度,研究人員把目光投向了Serverless技術(shù)。

        文獻(xiàn)[54]描述了一些借助Serverless平臺實施的問題求解實驗:(1)根據(jù)貝利-波爾溫-普勞夫公式,計算指定精度的圓周率;(2)通過劃分求解空間,批量運(yùn)行SHA256窮舉碰撞來破解密碼。

        可以發(fā)現(xiàn),上述科學(xué)計算的實驗中,實驗人員先把原始問題分解為計算量更小且邏輯一致的單元問題,再并行求解各單元,最后匯總求出目標(biāo)解。實驗表明,相比于傳統(tǒng)多線程單體應(yīng)用,函數(shù)應(yīng)用效率顯著提高,且單元問題越簡單、并發(fā)規(guī)模越大,效率提升越明顯。

        4.4 Serverless與機(jī)器學(xué)習(xí)

        機(jī)器學(xué)習(xí)仍是近來人工智能領(lǐng)域最熱門的研究課題之一,其核心工作是通過原始數(shù)據(jù)集構(gòu)建達(dá)到目標(biāo)精度的機(jī)器學(xué)習(xí)模型。隨著訓(xùn)練樣本規(guī)模不斷增大,所需計算資源不斷增加,資源管理和性能瓶頸成為其中不可回避的挑戰(zhàn)。

        現(xiàn)有機(jī)器學(xué)習(xí)框架在資源管理方面存在以下限制:(1)各類基礎(chǔ)設(shè)施管理事務(wù)占據(jù)實驗人員相當(dāng)比例的工作量;(2)固定的、過度的資源配置使實驗人員無法為計算集群準(zhǔn)確設(shè)置資源的配額,導(dǎo)致資源浪費(fèi)、負(fù)載不均。文獻(xiàn)[55]在現(xiàn)有技術(shù)基礎(chǔ)上提出了改進(jìn)的機(jī)器學(xué)習(xí)平臺,實現(xiàn)了云端托管算法代碼和訓(xùn)練集,遠(yuǎn)程下發(fā)模型訓(xùn)練作業(yè)等支持。Serverless環(huán)境不僅支持計算節(jié)點(diǎn)與資源動態(tài)調(diào)度,且具備一定的容錯能力。實驗顯示,相較于同等費(fèi)用的虛擬機(jī)集群,該應(yīng)用在同樣的訓(xùn)練任務(wù)中節(jié)省了44%的時間。

        在改進(jìn)機(jī)器學(xué)習(xí)訓(xùn)練效率方面,文獻(xiàn)[56]沿用了函數(shù)應(yīng)用與大數(shù)據(jù)、科學(xué)計算結(jié)合的思路,先拆分原始訓(xùn)練集進(jìn)行耗時更短的局部訓(xùn)練,得到較小的局部梯度計算單元,然后再將并行求解得到的局部梯度合并,經(jīng)過多次迭代得到擬合結(jié)果。在給定內(nèi)存、進(jìn)程數(shù)和迭代次數(shù)的情況下,相比傳統(tǒng)機(jī)器學(xué)習(xí)模型,該模型表現(xiàn)出更高的吞吐率和更低的時延。

        4.5 Serverless與IoT、邊緣計算

        IoT系統(tǒng)通常由處在云端、邊緣端的服務(wù)器以及大量終端設(shè)備組成。終端設(shè)備-邊緣服務(wù)器、邊緣服務(wù)器-云服務(wù)器等方向時刻進(jìn)行著大規(guī)模的數(shù)據(jù)傳輸,這對系統(tǒng)時延、帶寬等性能提出了巨大的挑戰(zhàn)。異構(gòu)的分布式終端與邊緣服務(wù)器還涉及設(shè)備兼容、系統(tǒng)容錯、彈性伸縮和服務(wù)質(zhì)量等需求[57]。

        因此,IoT-Serverless解決方案應(yīng)運(yùn)而生。文獻(xiàn)[43]基于Serverless平臺設(shè)計了跨越云-邊-端架構(gòu)的實時數(shù)據(jù)分析系統(tǒng),結(jié)合了中心云的高性能算力、大容量存儲以及邊緣Serverless系統(tǒng)的高并發(fā)、低時延等優(yōu)點(diǎn),區(qū)分了基于時間敏感的多級的實時數(shù)據(jù)分析工作流。該文獻(xiàn)還實現(xiàn)了由人體穿戴設(shè)備組網(wǎng)的實時人體數(shù)據(jù)分析系統(tǒng),分別模擬了災(zāi)害與日常2類重要場景中人體關(guān)鍵數(shù)據(jù)實時分析的實驗。

        5 面臨的挑戰(zhàn)

        5.1 縮容至零(Scale to Zero)問題

        Serverless系統(tǒng)的高吞吐特性源自函數(shù)實例快速擴(kuò)容機(jī)制。然而,當(dāng)訪問量降至零時,系統(tǒng)將釋放全部函數(shù)實例與計算資源。若之后請求到達(dá)而運(yùn)行環(huán)境中沒有對應(yīng)的活躍函數(shù)實例時,系統(tǒng)將重新生成該函數(shù)實例,該過程稱為冷啟動[58]。相比已有實例的快速擴(kuò)容機(jī)制,冷啟動存在著不可忽視的時延問題。

        問題的關(guān)鍵在于延長函數(shù)實例的活躍期或采用緩存技術(shù)支持失活實例的熱啟動。當(dāng)請求再次到達(dá)時,系統(tǒng)跳過檢索倉庫與生成實例的環(huán)節(jié),直接從緩存中檢出已有的函數(shù)實例副本,縮短響應(yīng)時延。文獻(xiàn)[59]將空閑的尚未釋放的容器節(jié)點(diǎn)和函數(shù)實例組織成隊列結(jié)構(gòu),以提高緩存檢索效率,減小系統(tǒng)時延。文獻(xiàn)[60]提出一種通過管理冷啟動的信號標(biāo)識來控制函數(shù)調(diào)度的方法,根據(jù)函數(shù)依賴關(guān)系和冷啟動次數(shù)等信息提前指示函數(shù)實例的異步加載,減小函數(shù)實例啟動時延。由于緩存組件容量有限,存在超時失效機(jī)制,因此,仍需解決諸如函數(shù)依賴預(yù)加載策略、請求事件預(yù)測等相關(guān)問題。

        5.2 數(shù)據(jù)調(diào)度與緩存性能瓶頸

        函數(shù)運(yùn)行伴隨著數(shù)據(jù)傳輸,當(dāng)數(shù)據(jù)源與函數(shù)運(yùn)行環(huán)境在網(wǎng)絡(luò)、地理空間上相距較遠(yuǎn)且數(shù)據(jù)集規(guī)模足夠大時,則性能瓶頸出現(xiàn)在數(shù)據(jù)集的調(diào)度與傳輸上,造成嚴(yán)重的網(wǎng)絡(luò)負(fù)載與時延。文獻(xiàn)[5]把規(guī)模小得多的函數(shù)文件傳輸?shù)綌?shù)據(jù)源附近的環(huán)境中運(yùn)行,從而降低網(wǎng)絡(luò)負(fù)載。然而該方法只有函數(shù)計算結(jié)果規(guī)模遠(yuǎn)小于輸入數(shù)據(jù)集時才有提升效果。該文獻(xiàn)也遺留了分布式多數(shù)據(jù)源場景中數(shù)據(jù)傳輸、流式Serverless函數(shù)計算等未解決的問題。

        引入緩存組件能有效提升數(shù)據(jù)處理性能,因此還需要研究適用于Serverless系統(tǒng)的動態(tài)分布式數(shù)據(jù)集緩存策略。當(dāng)前,云提供商會為每一個運(yùn)行環(huán)境提供可“就地”使用的數(shù)據(jù)緩存服務(wù),而這種方法價格不菲,且尚未解決多函數(shù)-多數(shù)據(jù)集異步協(xié)作、分布式負(fù)載均衡等場景中的緩存需求。

        5.3 觸發(fā)器-調(diào)度器性能瓶頸

        觸發(fā)器-調(diào)度器是Serverless系統(tǒng)重要結(jié)構(gòu),通常由API網(wǎng)關(guān)和調(diào)度隊列實現(xiàn),負(fù)責(zé)事件監(jiān)聽、任務(wù)分發(fā)等作業(yè)。對比中心化與分布式2種調(diào)度架構(gòu),前者暴露出吞吐瓶頸,而后者存在自治節(jié)點(diǎn)負(fù)載不均的問題[61]。文獻(xiàn)[62]實現(xiàn)了總體負(fù)載均衡的分布式調(diào)度架構(gòu),在并行計算單元隊列的基礎(chǔ)上設(shè)置全局負(fù)載均衡器,實時進(jìn)行隊列負(fù)載監(jiān)控和健康檢查,當(dāng)隊列容量飽和或異常時,當(dāng)前隊列中的任務(wù)可以轉(zhuǎn)移到其他隊列,以兼顧負(fù)載均衡和吞吐性能。

        5.4 系統(tǒng)安全

        文獻(xiàn)[63]列舉了目前應(yīng)用于Serverless系統(tǒng)的安全措施:(1)采用JWT(JSON Web Token)、SSL/TLS(Secure Socket Layer/Transport Layer Security)等網(wǎng)絡(luò)通信加密手段;(2)采用云認(rèn)證方式的租戶隔離與管理;(3)在API網(wǎng)關(guān)處設(shè)置防火墻;(4)借助Serverless服務(wù)自身的并發(fā)機(jī)制來分析和探測可能的網(wǎng)絡(luò)攻擊。

        值得注意的是,Serverless的特性也帶來了一些安全隱患。攻擊者可以通過分析暴露的單個函數(shù)行為而逐步推導(dǎo)出整個函數(shù)應(yīng)用的安全漏洞;高并發(fā)特性給資源耗盡攻擊提供了可能,致使系統(tǒng)資源配額(函數(shù)最大并發(fā)、緩存上限和帶寬上限等)被惡意占用并耗盡,造成系統(tǒng)崩潰。由于Serverless基于容器技術(shù),不可避免地涉及了容器領(lǐng)域的安全難題,例如熔斷攻擊、幽靈攻擊等[64]。

        5.5 生態(tài)體系

        Serverless技術(shù)生態(tài)的構(gòu)建需要軟硬件的支撐。關(guān)于Serverless應(yīng)用調(diào)試工具[65]、函數(shù)依賴管理工具等研究已經(jīng)取得可觀的成果,但實際應(yīng)用場景中,異構(gòu)多樣化的底層基礎(chǔ)設(shè)施、云服務(wù)平臺和編程語言等在Serverless上的兼容方案尚不成熟?,F(xiàn)有的大部分開發(fā)工具庫還不能直接遷移到Serverless平臺上使用。除軟件體系外,Serverless也需要相關(guān)硬件支持,文獻(xiàn)[66]指出現(xiàn)有Serverless技術(shù)尚不支持GPU硬件加速,這在一定程度上影響了其在深度學(xué)習(xí)領(lǐng)域的發(fā)展。

        形成統(tǒng)一的標(biāo)準(zhǔn)與定義是構(gòu)建技術(shù)生態(tài)的重要環(huán)節(jié)。文獻(xiàn)[67]提出爭論,認(rèn)為Serverless更像是PaaS的改進(jìn)應(yīng)用,性能提升有限,在應(yīng)用開發(fā)部署、基礎(chǔ)設(shè)施管理和下一代云架構(gòu)等方面還有很多關(guān)于標(biāo)準(zhǔn)化內(nèi)容需要進(jìn)一步設(shè)計和討論。文獻(xiàn)[68]認(rèn)為目前NIST(National Institute of Standards and Technology)標(biāo)準(zhǔn)中關(guān)于云計算的定義已經(jīng)足夠陳舊,可以考慮將FaaS、BaaS等眾多新興云服務(wù)模式收錄其中,以適應(yīng)當(dāng)前云計算領(lǐng)域快速發(fā)展的需求。

        6 結(jié)束語

        Serverless技術(shù)相比于其他傳統(tǒng)的云服務(wù)模式在基礎(chǔ)設(shè)施管理、軟件開發(fā)、并發(fā)性和專業(yè)性要求等方面存在諸多優(yōu)勢。在云計算快速發(fā)展和傳統(tǒng)產(chǎn)業(yè)轉(zhuǎn)型的背景下,合理選擇Serverless作為應(yīng)用開發(fā)的支撐技術(shù)將有助于業(yè)務(wù)的高效實現(xiàn)。本文首先介紹了Serverless系統(tǒng)架構(gòu)與技術(shù)特性,整理了無服務(wù)器計算當(dāng)前的研究現(xiàn)狀;然后描述了無服務(wù)器計算在新型系統(tǒng)開發(fā)、大數(shù)據(jù)處理、科學(xué)計算、機(jī)器學(xué)習(xí)和邊緣計算等前沿應(yīng)用領(lǐng)域的實施案例;最后梳理了無服務(wù)器計算目前面臨的較為突出的挑戰(zhàn)。

        猜你喜歡
        實例容器調(diào)度
        Different Containers不同的容器
        《調(diào)度集中系統(tǒng)(CTC)/列車調(diào)度指揮系統(tǒng)(TDCS)維護(hù)手冊》正式出版
        難以置信的事情
        一種基于負(fù)載均衡的Kubernetes調(diào)度改進(jìn)算法
        虛擬機(jī)實時遷移調(diào)度算法
        取米
        完形填空Ⅱ
        完形填空Ⅰ
        SVC的RTP封裝及其在NS2包調(diào)度中的應(yīng)用研究
        av蓝导航精品导航| 日韩乱码中文字幕在线| 蜜桃视频成年人在线观看| 精品一区2区3区4区| 人妻少妇偷人精品久久性色av| 狼人香蕉香蕉在线28 - 百度| 亚洲综合婷婷久久| 国产美女久久久亚洲综合| 国产在线观看免费不卡视频| 国产一区二区三区免费av| 中文字幕av伊人av无码av| 中文字幕av一区二区三区人妻少妇| 欧美成人免费全部| 男人的天堂在线无码视频| www久久久888| 国内自拍视频一区二区三区| 亚洲av永久无码一区二区三区| 天天弄天天模| 国产麻豆一精品一AV一免费软件| 日韩av在线不卡一区二区三区| 亚洲精品视频一区二区三区四区| 成人麻豆视频免费观看| 亚洲自偷自拍另类第1页| 国产成人精品无码一区二区老年人 | 女人18片毛片60分钟| 欧美日韩国产精品自在自线| 久久精品岛国av一区二区无码| 亚洲VA欧美VA国产VA综合 | 欧美人做人爱a全程免费| 国内精品久久久影院| 国产激情一区二区三区成人免费| 亚洲黑寡妇黄色一级片| 嫩呦国产一区二区三区av | 成人大片免费视频播放一级| 国产成人亚洲精品| 国产人妻黑人一区二区三区| 国产自在自线午夜精品视频在| 国产无卡视频在线观看| 色综合天天综合欧美综合 | 一级一片内射在线播放| 亚洲精品国产精品乱码视色|