ServerlessBench 2.0:華為雲聯合上海交大發布Serverless基準測試平台

摘要:華為雲聯合上海交大重磅推出ServerlessBench 2.0,為社區提供涵蓋12類基準測試用例、新增5大類跨平台測試用例、4大類關鍵特性指標、且多平台兼容的Serverless開放基準測試集。

Highlights

  1. 華為雲聯合上海交大研究團隊,發布業界首個面向多平台的Serverless基準測試系統ServerlessBench 2.0;
  2. ServerlessBench 2.0聚焦Serverless計算中的關鍵特性和指標,提供統一測試介面,兼容多平台的異構性,提供完善的測試指標和豐富的場景用例;
  3. 作為「伺服器無感知創新計劃」的首個亮相項目,ServerlessBench 2.0旨在為Serverless平台和應用的設計提供度量依據和有效啟發;
  4. 此次發布同時展示了ServerlessBench 2.0針對四大開源Serverless平台的測評報告,作為首批測評結果。

背景

受益於其按用付費 (pay-per-use)、自動彈性伸縮 (auto-scaling)、以及屏蔽後端複雜性的特徵,Serverless 正成為下一代雲計算的新範式[1]。與此同時,能夠封裝併兼容多平台、支援關鍵指標度量的基準測試系統,對於Serverless計算實現可持續的降本增效而言,至關重要。一方面,Serverless系統設計者可以利用基準測試平台,刻畫系統的關鍵性能指標,如冷/熱啟動時延、彈性速度、QoS保證下的最大並發等,為增強系統架構的性能提供 「度量先行」的有效工具;另一方面,Serverless應用開發者可以藉助基準測試對不同的Serverless平台進行對比和選擇,從而設計並開發出更加高性能、低成本的Serverless應用程式。

ServerlessBench 2.0 發布

ServerlessBench 1.0是業界首個針對Serverless計算的關鍵特性和指標而設計的基準測試平台,由上海交通大學的研究團隊發表於雲計算頂級會議SoCC 2020[2]。此次,華為雲聯合上海交大,在ServerlessBench 1.0的基礎上,通過進一步的封裝、抽象、擴展和強化,重磅推出ServerlessBench 2.0,為社區提供涵蓋12類基準測試用例、新增5大類跨平台測試用例、4大類關鍵特性指標、且多平台兼容的Serverless開放基準測試集。

同時,ServerlessBench 2.0是「伺服器無感知創新計劃」的首個亮相項目成果。伺服器無感知創新計劃由中國信通院、上海交大、華為雲等主導成立,旨在聯合產學研用各方,凝聚社區力量,圍繞技術研究和標準制定等,促進Serverless的蓬勃發展和規範化建設[3]。

ServerlessBench 2.0 介紹

ServerlessBench考慮Serverless計算中的四大類關鍵指標:通訊性能(communication performance),啟動時延(startup latency),無狀態開銷 (stateless overhead),和資源使用效率 (resource utilization)。複雜的Serverless應用一般由多個函數組合實現,因此,通訊性能指標主要度量函數間通訊的效率問題,如常見的函數組合模型sequence chain和nested chain等。Serverless函數通常運行時間較短,大多集中在百毫秒級至秒級的範圍[4],且函數執行環境按需載入,自動擴容,因此冷啟動、熱啟動等時延開銷是Serverless系統和應用最為關注的性能指標之一。在無狀態開銷指標中,通常包括依賴外部存儲服務進行傳遞的顯式狀態(如函數邏輯本身所涉及的狀態),以及可能影響系統性能的隱式狀態(如會話快取等)。資源使用效率指標主要衡量性價比問題,對於平台,如何在函數混合部署且保證業務QoS的前提下提升資源利用率,對用戶而言,如何配置資源數量來使得應用性能和成本之間取得最佳平衡。

圍繞四大類關鍵指標,ServerlessBench提供包括資源需求(Test Case 1-varied resource needs),數據遷移開銷(Test Case 5-Data transfer costs), 和 CPU爭用(Test Case 12-CPU contention)等在內的12類基準測試用例,如表1所示。

表1:ServerlessBench 1.0 提供的12類基準測試用例

為良好地兼容多平台, ServerlessBench 2.0提供了統一的測試介面,對不同Serverless平台之間的異構性進行封裝,包括統一的函數介面、統一的返回格式,統一的資源配置,以及統一的依賴包裝等,如圖1所示。這裡以開源Serverless系統為例。

圖1:ServerlessBench 2.0的多平台兼容性(以開源Serverless系統為例)

具體以函數調用入口為例,如圖2所示,四大開源Serverless平台OpenWhisk,OpenFaaS, Knative,Fission的入口函數都不相同。針對該場景,ServerlessBench 2.0通過介面抽象,封裝了統一的入口函數 def handler(event, context)(這裡以Python為例),從而使得在跨平台的對比中,無須再關心平台之間的介面差異性。

圖2:ServerlessBench 2.0為多平台提供統一的函數調用入口(以Python為例)

在多平台兼容的基礎上,ServerlessBench 2.0對錶1所列的測試用例進行了擴展,新增了冷熱啟動開銷、冷熱執行開銷、保證QoS的最大並發、擴容速度、性價比等5大類跨平台的新用例,如表2所示;同時,更多跨平台用例還在持續擴展中,如帶有函數鏈的Serverless應用等。

表2:ServerlessBench 2.0 新增5類跨平台測試用例

首批針對開源Serverless平台的評測結果

作為ServerlessBench 2.0的首批測評結果,我們此次選取四大serverless開源平台OpenWhisk,OpenFaaS,Knative,Fission,作為評測對象,部分關鍵測評結果展示如下。

1.冷、熱啟動時延

測試從調用 invoke 指令到函數的第一條指令的時間差。圖3所展示的結果為 p90 的時延開銷。可以看到,OpenFaaS在冷熱啟動性能上表現最差;得益於資源池預熱技術,Fission在冷啟動性能上表現最佳。

圖3:四大Serverless開源平台「冷、熱啟動時延」測評結果對比

2.冷、熱執行時延

利用 Float Operation,測量函數本身的運行時延,考察冷、熱啟動對函數執行時間的影響,結果如圖4所示。OpenWhisk和OpenFaaS上函數執行時延基本不受冷熱啟動的影響。但相比於冷啟動,Knative和Fission在熱啟動的情況下,執行時延都有所改善。

圖4:四大Serverless開源平台「冷、熱執行時延」測評結果對比

3.請求並發數對QoS的影響

利用 Float Operation,計算不同並發數下函數實例的p90時延,該用例度量的是平台的函數密度支援能力。從圖5可以看到,除Fission外,其它三大平台上,隨並發請求數的增長,函數實例的p90時延基本呈線性增長。同「冷、熱啟動時延」的結果相似,由於Fission預置了一部分通用資源池,在並發請求數增長的初期,函數p90時延沒有明顯增長;但隨著並發數的繼續增長,資源池被逐步消耗,直至需要進行補充時,時延出現顯著增長。

圖5:四大Serverless開源平台「請求並發數對QoS的影響」測評結果對比

這裡需要指出,在各大雲服務提供的Serverless或函數系統中,請求並發數對函數執行時延或業務QoS的影響是一個更加複雜的過程,還包括其它多個影響因素,如單實例並發數,最大並發實例數限制,平台擴容策略,實例調度策略等。

4.彈性擴容能力

利用 Float Operation,測試並觀察實例數量從1伸縮到某個較大值的過程中,多實例啟動尾時延的大小。圖6展示OpenFaaS和Knative從1個實例彈性擴容到10個實例的結果。

圖6:OpenFaaS和Knative 「彈性擴容能力」測評結果對比

5.平台性價比

利用Numpy Matmul,逐步調整給函數所分配的資源數量,測量並觀察函數的執行時延與分配資源的對應關係,該用例反映的是相同資源開銷下的性能表現。圖7展示了在OpenFaaS和Knative上的部分結果。

圖7:OpenFaaS和Knative 「平台性價比」測評結果對比

未來規劃

ServerlessBench 2.0建立在開源開放的理念之上,將由社區共同運營並持續共建。同時,華為雲將繼續聯合上海交大,推出針對各大公有雲服務的Serverless平台的測評報告,並貢獻給社區。另外,我們正在為ServerlessBench 2.0建立項目主頁,並推動源碼開源等工作。關於ServerlessBench 1.0的詳細資訊,可參見項目主頁[5]和github主頁[6]。

[1].   Schleier-Smith, et al. (2021). What serverless computing is and should become: The next phase of cloud computing. Communications of the ACM, 64(5), 76-84.

[2].   Yu, T., et al. (2020). Characterizing serverless platforms with ServerlessBench. In Proceedings of the 11th ACM Symposium on Cloud Computing (pp. 30-44).

[3].   //mp.weixin.qq.com/s/vuhqCweenT7sozNzInavyQ

[4].   Shahrad, M., et al. (2020). Serverless in the wild: Characterizing and optimizing the serverless workload at a large cloud provider. In 2020 USENIX Annual Technical Conference (USENIX ATC 20) (pp. 205-218).

[5].   //serverlessbench.systems/

[6].   //github.com/SJTU-IPADS/ServerlessBench

 

點擊關注,第一時間了解華為雲新鮮技術~