一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Serverless 冷啟動(dòng):如何讓函數(shù)計(jì)算更快更強(qiáng)?

jf_81200783 ? 來源:jf_81200783 ? 作者:jf_81200783 ? 2023-09-06 23:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

問題背景

Serverless 計(jì)算也稱服務(wù)器無感知計(jì)算或函數(shù)計(jì)算,是近年來一種新興的編程模式。其致力于大幅簡(jiǎn)化云業(yè)務(wù)開發(fā)流程,使得應(yīng)用開發(fā)者從繁雜的服務(wù)器運(yùn)維工作中解放出來(例如自動(dòng)伸縮、日志和監(jiān)控等)。借助 Serverless 計(jì)算,開發(fā)者僅需上傳業(yè)務(wù)代碼并進(jìn)行簡(jiǎn)單的資源配置便可實(shí)現(xiàn)服務(wù)的快速構(gòu)建部署,云服務(wù)商則按照函數(shù)服務(wù)調(diào)用量和實(shí)際資源使用收費(fèi),從而幫助用戶實(shí)現(xiàn)業(yè)務(wù)的快速交付(fastbuilt&Relia.Deliv.)和低成本運(yùn)行。

然而,Serverless 計(jì)算的無狀態(tài)函數(shù)編程在帶來高度彈性和靈活性的同時(shí),也導(dǎo)致了不可避免的冷啟動(dòng)問題。由于函數(shù)通常在執(zhí)行完請(qǐng)求后被釋放,當(dāng)請(qǐng)求到達(dá)時(shí),如果沒有可用實(shí)例則需要從零開始啟動(dòng)新的實(shí)例處理請(qǐng)求(即冷啟動(dòng))。當(dāng)冷啟動(dòng)發(fā)生時(shí),Serverless 平臺(tái)需要執(zhí)行實(shí)例調(diào)度、鏡像分發(fā)、實(shí)例創(chuàng)建、資源配置、運(yùn)行環(huán)境初始化以及代碼加載等一系列操作,這一過程引發(fā)的時(shí)延通常可達(dá)請(qǐng)求實(shí)際執(zhí)行時(shí)間的數(shù)倍。相對(duì)于冷啟動(dòng)調(diào)用,熱調(diào)用(即請(qǐng)求到達(dá)時(shí)有可用實(shí)例)的準(zhǔn)備時(shí)間可以控制在亞毫秒級(jí)。在特定領(lǐng)域例如 AI 推理場(chǎng)景,冷啟動(dòng)調(diào)用導(dǎo)致的高時(shí)延問題則更為突出,例如,使用 TensorFlow 框架的啟動(dòng)以及讀取和加載模型可能需要消耗數(shù)秒或數(shù)十秒。

wKgaomT3Py6AX8QLAANxG8UqQdQ951.png

因此,如何緩解 Serverless 函數(shù)的冷啟動(dòng)問題,改善函數(shù)性能是當(dāng)前 Serverless 領(lǐng)域面臨的主要挑戰(zhàn)之一。

解決方案

從研究思路上看,目前工業(yè)界和學(xué)術(shù)界主要從兩個(gè)方面入手解決冷啟動(dòng)問題:

(1)加快實(shí)例啟動(dòng)速度:當(dāng)冷啟動(dòng)調(diào)用發(fā)生時(shí),通過加速實(shí)例的初始化過程來減少啟動(dòng)時(shí)延;

當(dāng)冷啟動(dòng)發(fā)生時(shí),Serverless 平臺(tái)內(nèi)部實(shí)例的初始化過程可以劃分為準(zhǔn)備和加載兩個(gè)階段。其中,準(zhǔn)備階段主要包括控制面決策調(diào)度/鏡像獲取、Runtime 運(yùn)行時(shí)初始化、應(yīng)用數(shù)據(jù)/代碼傳輸幾個(gè)部分。而加載階段位于實(shí)例內(nèi)部,包括用戶應(yīng)用框架和代碼的初始化過程。在工業(yè)界和學(xué)術(shù)界公開的研究成果中,針對(duì)實(shí)例啟動(dòng)過程中的每個(gè)階段都有大量的技術(shù)手段和優(yōu)化方法。如下圖所示,經(jīng)過優(yōu)化,實(shí)例冷啟動(dòng)的準(zhǔn)備階段和加載階段時(shí)間可被極大得縮短。

wKgZomT3Py-APKKHAAINSvP5RBw082.png

下面列舉了一些近年來發(fā)表在計(jì)算機(jī)系統(tǒng)領(lǐng)域知名會(huì)議的相關(guān)工作,主要可以分為五個(gè)方面:

1、調(diào)度優(yōu)化/鏡像快速分發(fā)/本地池化:

例如基于樹結(jié)構(gòu)的跨節(jié)點(diǎn)快速鏡像分發(fā)FaasNet[ATC'21];Pod 池+特化實(shí)例跳過鏡像傳輸[華為 FunctionGraph]。其中,快速鏡像分發(fā)依賴于 VM 節(jié)點(diǎn)的上/下行網(wǎng)絡(luò)帶寬,Pod 池特化技術(shù)則是典型的以空間換時(shí)間的做法。

2、輕量級(jí)虛擬化/安全容器:

例如針對(duì)傳統(tǒng)容器 Docker 的精簡(jiǎn)優(yōu)化工作 SOCK[ATC'21];更側(cè)重安全性的輕量級(jí)虛擬化技術(shù)(KataContainers,gVisor 等);基于安全容器的進(jìn)一步的精簡(jiǎn)優(yōu)化工作(Catalyzer[ASPLOS'20],REAP[ASPLOS'21])。通過裁剪優(yōu)化,安全容器的啟動(dòng)時(shí)延最快可以被壓縮至亞毫秒級(jí)。

3、數(shù)據(jù)共享/跨節(jié)點(diǎn)傳輸優(yōu)化:

例如基于 RDMA 共享內(nèi)存減少跨節(jié)點(diǎn)啟動(dòng)過程的數(shù)據(jù)拷貝RemoteFork[OSDI'23];或者利用本地代碼緩存跳過代碼傳輸[華為 FunctionGraph,字節(jié) ByteFaaS 等]。基于 RDMA 技術(shù)的跨節(jié)點(diǎn)數(shù)據(jù)傳輸時(shí)延可降低至微妙級(jí)。

4、用戶代碼精簡(jiǎn)/快速加載:

例如針對(duì) Java 語言的 JVM(JavaVirtualMachine)運(yùn)行時(shí)優(yōu)化技術(shù)[FunctionGraph];以及針對(duì) Python 運(yùn)行時(shí)庫的裁剪優(yōu)化工作 FaasLight[arxiv'23]。通過特定的優(yōu)化,JVM 啟動(dòng)時(shí)間可由數(shù)秒降低至數(shù)十毫秒,而 Python 代碼的啟動(dòng)加載時(shí)延可降低約 1/3。

5、其它非容器運(yùn)行時(shí)技術(shù):

例如 WASM(即 WebAssembly)技術(shù)以及針對(duì) WASM 的內(nèi)存隔離方面的優(yōu)化工作 Faasm[ATC'20]。相比容器化技術(shù),直接以進(jìn)程和線程方式組織運(yùn)行函數(shù),可在保證低開銷函數(shù)運(yùn)行的同時(shí)具備高度靈活性。

(2)降低冷啟動(dòng)發(fā)生率:通過函數(shù)預(yù)熱、復(fù)用或?qū)嵗蚕淼确椒ㄌ岣邔?shí)例的利用效率,減少冷啟動(dòng)調(diào)用的發(fā)生

盡管已有的一些實(shí)例啟動(dòng)加速方法已經(jīng)可以將運(yùn)行時(shí)環(huán)境的初始化時(shí)間壓縮至數(shù)十毫秒甚至是數(shù)毫秒,然而用戶側(cè)的延遲卻仍然存在,例如程序狀態(tài)的恢復(fù),變量或者配置文件的重新初始化,相關(guān)庫和框架的啟動(dòng)。具體來講,在機(jī)器學(xué)習(xí)應(yīng)用中,TensorFlow 框架的啟動(dòng)過程往往需要花費(fèi)數(shù)秒,即使實(shí)例運(yùn)行時(shí)環(huán)境的啟動(dòng)時(shí)間再短,應(yīng)用整體的冷啟動(dòng)時(shí)延對(duì)用戶而言依然是無法接受的(注:通常大于 200ms 的時(shí)延可被用戶察覺)。在這種情況下,可以從另一個(gè)角度入手解決冷啟動(dòng)問題,即降低冷啟動(dòng)調(diào)用的發(fā)生率。例如,通過緩存完整的函數(shù)實(shí)例,請(qǐng)求到達(dá)時(shí)可以快速恢復(fù)并處理請(qǐng)求,從而實(shí)現(xiàn)近乎零的初始化時(shí)延(例如 Dockerunpause 操作時(shí)延小于 0.5ms)。

wKgaomT3Py-ASHWIAADvv2mnULY181.png

降低冷啟動(dòng)發(fā)生率的相關(guān)研究可以分為如下幾個(gè)方面:

1、實(shí)例保活/實(shí)例預(yù)留:

例如基于 Time-to-Live 的 keepalive ?;顧C(jī)制[AWSLambda,OpenWhisk];或者通過并發(fā)配置接口預(yù)留一定數(shù)量的實(shí)例[AWSLabmda 等];這些方法原理簡(jiǎn)單,易于實(shí)現(xiàn),但是在面對(duì)負(fù)載變化時(shí)緩存效率較低。

2、基于負(fù)載特征學(xué)習(xí)的動(dòng)態(tài)緩存:

例如基于請(qǐng)求到達(dá)間隔預(yù)測(cè)的動(dòng)態(tài)緩存方案ServerlessintheWild[ASPLOS'20];學(xué)習(xí)長(zhǎng)短期負(fù)載變化特征的動(dòng)態(tài)緩存方案INFless[ASPLOS'22];基于優(yōu)先級(jí)的可替換緩存策略 FaasCache[ATC'21];面向異構(gòu)服務(wù)器集群的低成本緩存方案IceBreaker[ASPLOS'22]。這些動(dòng)態(tài)緩存方案根據(jù)負(fù)載特征學(xué)習(xí)決定實(shí)例緩存數(shù)量或時(shí)長(zhǎng),從而在降低冷啟動(dòng)調(diào)用率的同時(shí)改善緩存資源消耗。

3、優(yōu)化請(qǐng)求分發(fā)提高命中率:

例如兼顧節(jié)點(diǎn)負(fù)載和本地化執(zhí)行的請(qǐng)求調(diào)度算法CH-RLU[HPDC'22]。通過權(quán)衡節(jié)點(diǎn)負(fù)載壓力和緩存實(shí)例的命中率來對(duì)請(qǐng)求的分發(fā)規(guī)則進(jìn)行優(yōu)化設(shè)計(jì),避免節(jié)點(diǎn)負(fù)載過高導(dǎo)致性能下降,同時(shí)兼顧冷啟動(dòng)率。

4、改善并發(fā)/實(shí)例共享或復(fù)用:

例如允許同一函數(shù)工作流的多個(gè)函數(shù)共享 Sandbox 環(huán)境SAND[ATC'18];使用進(jìn)程或線程編排多個(gè)函數(shù)到單個(gè)實(shí)例中運(yùn)行Faastlane[ATC'21];提高實(shí)例并發(fā)處理能力減少實(shí)例創(chuàng)建Fifer[Middle'20];允許租戶復(fù)用其它函數(shù)的空閑實(shí)例減少冷啟動(dòng)時(shí)間Pagurus[ATC'22]。這些實(shí)例共享或者復(fù)用技術(shù)可以同緩存方案結(jié)合使用,降低冷啟動(dòng)帶來的性能影響。

總結(jié)

Serverless 的無狀態(tài)設(shè)計(jì)賦予了函數(shù)計(jì)算高度彈性化的擴(kuò)展能力,然而也帶來了難以避免的冷啟動(dòng)問題。消除 Serverless 函數(shù)的冷啟動(dòng)開銷還是從降低函數(shù)冷啟動(dòng)率和加速實(shí)例啟動(dòng)過程兩個(gè)角度綜合入手。對(duì)于冷啟動(dòng)開銷比較大的函數(shù),在函數(shù)計(jì)算框架的設(shè)計(jì)機(jī)制中進(jìn)行優(yōu)化,盡量避免冷啟動(dòng)發(fā)生;當(dāng)冷啟動(dòng)發(fā)生時(shí),采用一系列啟動(dòng)加速技術(shù)來縮短整個(gè)過程進(jìn)行補(bǔ)救。在 Serverless 平臺(tái)的內(nèi)部,冷啟動(dòng)的管理在實(shí)踐中可以做進(jìn)一步精細(xì)的劃分,例如針對(duì) VIP 大客戶,針對(duì)有規(guī)律負(fù)載的,或是針對(duì)冷啟動(dòng)開銷小的函數(shù),通過分類做定制化、有目的的管理可以進(jìn)一步改善系統(tǒng)效率。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【HarmonyOS 5】鴻蒙中的UIAbility詳解(三)

    冷啟動(dòng)與熱啟動(dòng)的Want數(shù)據(jù)處理 1. 冷啟動(dòng)(Cold Start) 應(yīng)用首次啟動(dòng)或被系統(tǒng)完全終止后重新創(chuàng)建。 冷啟動(dòng),應(yīng)用會(huì)從onCr
    的頭像 發(fā)表于 06-14 22:32 ?56次閱讀

    鴻蒙5開發(fā)寶藏案例分享---冷啟動(dòng)優(yōu)化案例分享

    鴻蒙冷啟動(dòng)優(yōu)化大揭秘!這些官方寶藏案例我效率翻倍 ? 大家好呀!最近在優(yōu)化鴻蒙應(yīng)用時(shí),我偶然發(fā)現(xiàn)了官方文檔里隱藏的性能優(yōu)化寶藏案例。這些實(shí)戰(zhàn)經(jīng)驗(yàn)我的應(yīng)用啟動(dòng)速度直接起飛!今天就把這
    發(fā)表于 06-12 17:22

    能效提升3倍!異構(gòu)計(jì)算架構(gòu)AI跑得更快更省電

    電子發(fā)燒友網(wǎng)報(bào)道(文/李彎彎)異構(gòu)計(jì)算架構(gòu)通過集成多種不同類型的處理單元(如CPU、GPU、NPU、FPGA、DSP等),針對(duì)不同計(jì)算任務(wù)的特點(diǎn)進(jìn)行分工協(xié)作,從而在性能、能效和靈活性之間實(shí)現(xiàn)最優(yōu)平衡
    的頭像 發(fā)表于 05-25 01:55 ?2812次閱讀

    HarmonyOS5云服務(wù)技術(shù)分享--Serverless抽獎(jiǎng)模板部署

    (Serverless)\"功能 小貼士:項(xiàng)目地區(qū)目前只能選\"中國(guó)\" 2?? ??云函數(shù)雙保險(xiǎn)?? 如果要用自定義抽獎(jiǎng)邏輯,提前創(chuàng)建兩個(gè)云函數(shù): 開始抽獎(jiǎng)回調(diào)函數(shù)(比如
    發(fā)表于 05-22 20:25

    HarmonyOS5云服務(wù)技術(shù)分享--Serverless搭建抽獎(jiǎng)

    startDraw) 結(jié)束抽獎(jiǎng)回調(diào)函數(shù)(比如命名finishDraw) 記好函數(shù)名稱備用(后面配置參數(shù)要用到) ? 二、三步部署法(跟著做就行) Step 1?? 模板選擇 進(jìn)入Serverless
    發(fā)表于 05-22 20:20

    HarmonyOS5云服務(wù)技術(shù)分享--ArkTS開發(fā)Node環(huán)境

    ? 性能優(yōu)化 ??冷啟動(dòng)優(yōu)化??:保持函數(shù)輕量(建議代碼包<10MB),使用require按需加載模塊。 ??緩存機(jī)制??:利用云數(shù)據(jù)庫存儲(chǔ)高頻訪問數(shù)據(jù),減少重復(fù)計(jì)算。 ?? 常見問題
    發(fā)表于 05-22 17:21

    第六屆“先導(dǎo)杯”智能計(jì)算創(chuàng)新設(shè)計(jì)賽啟動(dòng)

    今天,2025全國(guó)大學(xué)生計(jì)算機(jī)系統(tǒng)能力大賽在重慶正式啟動(dòng),由系統(tǒng)能力培養(yǎng)研究專家組發(fā)起、全國(guó)高校計(jì)算機(jī)教育研究會(huì)主辦、中科曙光與中國(guó)科學(xué)技術(shù)大學(xué)聯(lián)合承辦的第六屆“先導(dǎo)杯”智能計(jì)算創(chuàng)新設(shè)
    的頭像 發(fā)表于 05-20 17:22 ?582次閱讀

    【Simcenter流體和熱解決方案】利用CFD和計(jì)算化學(xué)軟件,更快地創(chuàng)新出更出色的產(chǎn)品

    Simcenter流體和熱解決方案——利用CFD和計(jì)算化學(xué)軟件,更快地創(chuàng)新出更出色的產(chǎn)品。Simcenter流體和熱解決方案域軟件適用于計(jì)算機(jī)輔助設(shè)計(jì)(CAD)設(shè)計(jì)師、計(jì)算流體力學(xué)(C
    的頭像 發(fā)表于 03-07 16:52 ?399次閱讀
    【Simcenter流體和熱解決方案】利用CFD和<b class='flag-5'>計(jì)算</b>化學(xué)軟件,<b class='flag-5'>更快</b>地創(chuàng)新出更出色的產(chǎn)品

    鴻蒙原生頁面高性能解決方案上線OpenHarmony社區(qū) 助力打造高性能原生應(yīng)用

    ,大幅縮短了冷啟動(dòng)時(shí)間。此外,它提供通用本地緩存庫,幫助開發(fā)者更快實(shí)現(xiàn)緩存邏輯,提高開發(fā)效率與應(yīng)用體驗(yàn)。某頭部網(wǎng)盤APP使用該方案后,首頁冷啟動(dòng)時(shí)間達(dá)到0.7秒,縮短50%。 HarmonyOS
    發(fā)表于 01-02 18:00

    更快更強(qiáng) | HP15加熱臺(tái)新品78折!Max溫度350度,200度只需60秒!30~150W功率可調(diào),恒溫加熱和回流焊雙模式!

    正點(diǎn)原子HP15加熱臺(tái)更快更強(qiáng)!最高溫度可達(dá)350度,200度只需60秒!30~150W功率可調(diào),恒溫加熱和回流焊雙模式! HP15是正點(diǎn)原子全新推出的迷你恒溫加熱臺(tái),設(shè)備支持30~150W功率可調(diào)
    發(fā)表于 11-07 17:18

    SUMIF函數(shù)與SUMIFS函數(shù)的區(qū)別

    SUMIF函數(shù)和SUMIFS函數(shù)都是Excel中用于條件求和的函數(shù),它們可以幫助用戶根據(jù)特定的條件對(duì)數(shù)據(jù)進(jìn)行求和。盡管它們的基本功能相似,但在使用場(chǎng)景和功能上存在一些差異。以下是對(duì)這兩個(gè)函數(shù)
    的頭像 發(fā)表于 10-30 09:51 ?7545次閱讀

    Python常用函數(shù)大全

    在 Python 世界里,有一些寶藏函數(shù)和模塊,它們可以你編程更輕松、代碼更高效。這篇文章將帶你一一認(rèn)識(shí)這些神器,你的開發(fā)生活瞬間輕松不少!
    的頭像 發(fā)表于 10-27 17:20 ?926次閱讀

    華為云全域 Serverless 8 月更新盤點(diǎn)

    CCE Autopilot、Serverless 應(yīng)用托管 CAE、云數(shù)據(jù)倉庫 DWS、事件網(wǎng)格 EventGrid 等。華為云函數(shù)工作流 FunctionGraph 一項(xiàng)基于事件驅(qū)動(dòng)的函數(shù)托管
    的頭像 發(fā)表于 09-27 00:06 ?1195次閱讀
    華為云全域 <b class='flag-5'>Serverless</b> 8 月更新盤點(diǎn)

    基于DPU的容器冷啟動(dòng)加速解決方案

    Serverless計(jì)算方式,極大地簡(jiǎn)化了開發(fā)人員的工作,使他們能夠?qū)W⒂趹?yīng)用的構(gòu)建與運(yùn)行,而不再需要承擔(dān)服務(wù)器管理的負(fù)擔(dān)。 然而,F(xiàn)aaS模式也并非沒有缺陷,其中最為人詬病的便是“冷啟動(dòng)”問題。所謂
    的頭像 發(fā)表于 09-13 11:50 ?887次閱讀
    基于DPU的容器<b class='flag-5'>冷啟動(dòng)</b>加速解決方案

    bq05504冷啟動(dòng)電壓600mV,在微弱光線下小型太陽能板達(dá)不到這么大怎么辦?

    bq05504管理芯片數(shù)據(jù)手冊(cè)顯示冷啟動(dòng)電壓600mV,在微弱光線下小型太陽能板達(dá)不到這么大怎么辦,那就是啟動(dòng)不了,那還怎么收集uW級(jí)~mW的電能?
    發(fā)表于 08-13 07:28