透過您的圖書館登入
IP:3.144.252.203
  • 學位論文

利用函數分群降低容器平台上的資源使用率

Function Clustering to Optimize Resource Utilization on Container Platform

指導教授 : 劉邦鋒
本文將於2028/02/26開放下載。若您希望在開放下載時收到通知,可將文章加入收藏

摘要


近年來,容器技術在軟體行業中獲得了相當多的關注,許多企業選擇使用其彈性、成本效益和易於實作的特點。然而,使用容器並非沒有挑戰。"冷啟動"問題是部署容器時非常重要的問題。冷啟動是從容器被部署到實體伺服器上到準備好運行應用程式的延遲。終端使用者如果在容器剛啟動時,想要使用應用程式就必須忍受延遲。這些延遲導致用戶體驗的下降,可能進一步的對企業盈利產生負面的影響。 確保流暢的用戶體驗最常見的方法是在持續開啟大量的容器在伺服器上,但這會導致資源過度配置。相反的,如果在處理請求後立即關閉容器,可以減少記憶體消耗,但每次有新的請求時都會產生冷啟動。冷啟動的發生和資源使用是一種權衡,並在容器平台上提出了重大挑戰。 為了應對這一挑戰,我們觀察到使用同一個容器處理連續的請求可以顯著減少冷啟動的次數。我們提出了一種名為 TAC (Temporal Adjacency Function Clustering Algorithm) 的「相鄰時間函數分群」算法來應對這一挑戰。TAC 從歷史數據中選擇時間相鄰的請求,將函數進行分群,以減少冷啟動發生的次數並實現最佳化資源利用。實驗結果顯示,與最先進的方法(例如,Defuse 和 Hybrid histogram policy)相比,TAC可以減少8%的冷啟動次數和53%的記憶體使用量。

並列摘要


In recent years, container technology has gained significant attention in the software industry, with many businesses opting for its elasticity, cost-effectiveness, and ease of implementation. However, the use of containers is not without challenges. The "cold-start" problem is the most critical issue in deploying containers. The cold-start time is the delay from a container being provisioned on a physical server to getting ready to run the application. The end users need to endure delays when they run the application at the time the container has just started. These delays cause a negative user experience and may deteriorate the business's profitability. The most common way to ensure a seamless user experience is to keep a substantial number of containers active throughout the day, which causes resource over-provision. Conversely, closing the container right after handling the requests can reduce memory consumption but generate a cold start whenever the request arrives. Cold start occurrence and resource usage is a trade-off and presents a significant challenge on the container platform. To address this challenge, we observe that serving consecutive requests with the same container can notably decrease the number of cold starts. We propose TAC, a Temporal Adjacency Function Clustering algorithm, to meet the challenge. TAC selects the functions with time adjacency requests into a cluster from the historical data. TAC packs functions serving time adjacency requests into a cluster to reduce cold starts and enable efficient resource utilization. The experiment result shows that TAC reduces 8% cold start occurrences and 53% memory usage with the real-world traces compared to the state-of-the-art methods, e.g., Defuse and Hybrid histogram policy.

參考文獻


Amazon. Aws lambda. https://aws.amazon.com/lambda/.
Apache. Openwhisk. https://openwhisk.apache.org/.
E. Caron, F. Desprez, and A. Muresan. Forecasting for grid and cloud computing ondemand resources based on pattern matching. 2010 IEEE Second International Conference on Cloud Computing Technology and Science, 2010.
N. Daw, U. Bellur, and P. Kulkarni. Xanadu: Mitigating cascading cold starts in serverless function chain deployments. Middleware ’20: Proceedings of the 21st International Middleware Conference, pages 356–370, 2020.
A. Fuerst and P. Sharma. Faascache: keeping serverless computing alive with greedydual caching. ASPLOS ’21: Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating System, pages 386–400, 2021.

延伸閱讀