[發明專利]一種基于并行應用階段檢測的虛擬時間片調度方法及系統有效
| 申請號: | 201710290453.6 | 申請日: | 2017-04-28 |
| 公開(公告)號: | CN107193631B | 公開(公告)日: | 2019-09-13 |
| 發明(設計)人: | 金海;吳松;趙新宇 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455;G06F9/48;G06F9/50 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 李智;曹葆青 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 并行應用 緩存缺失 時間片 虛擬機 時間片調度 虛擬化環境 運行過程 虛擬 緩存信息 階段動態 歷史數據 通信階段 通信需求 性能問題 虛擬化 運行時 自適應 檢測 采集 | ||
本發明公開了一種基于并行應用階段檢測的虛擬時間片調度方法及系統,其中方法的實現包括:采集并行應用在虛擬機內運行過程中產生的緩存缺失數據;根據當前收集的緩存信息和已經收集到的歷史數據判斷并行應用處于計算階段還是通信階段;針對并行應用的不同執行階段采取自適應的虛擬機時間片調節策略,最大限度地滿足并行應用在運行過程中的計算和通信需求。本發明針對不同類型的并行應用在虛擬化環境下的性能問題,根據并行應用在運行時的緩存缺失信息來區分其執行階段并根據不同階段動態調節虛擬機的時間片,在不打破虛擬化透明性的前提下,可以有效降低并行應用的同步開銷以及短時間片造成的緩存缺失,可以提高并行應用在虛擬化環境下的性能。
技術領域
本發明屬于虛擬化計算技術領域,更具體地,涉及一種基于并行應用階段檢測的虛擬時間片調度方法及系統。
背景技術
隨著多核架構和虛擬化技術的快速發展,眾多學術機構和企業開始嘗試將不同的應用負載放到云端來運行,其中就包含并行應用。為了提高資源的利用率,虛擬化技術可以將多個獨立的應用負載整合到同一個物理硬件系統中,然而這將會導致遠超物理CPU數量的虛擬CPU被運行在這些物理CPU上,這種資源的過載現象使得并行應用在運行過程中受到嚴重的性能損失。
眾所周知,一個并行應用在運行過程中,計算階段和通信階段交替執行,通常情況下通信階段的同步開銷對整體性能有著很重要的影響。并行應用的同步方法可以用幾種方式實現,例如在共享內存多線程模型中使用鎖或在分布式內存模型中使用消息傳遞接口(Message Passing Interface,MPI)。
在一個多線程應用中,高性能低開銷的自旋鎖(spinlock)或者屏障(barrier)通常被用來解決多個線程訪問同一資源時的競爭問題。在原生操作系統中,自旋鎖的使用是為了保護較短的臨界區,當自旋鎖已經被占用時,其他試圖獲取此鎖的線程將會忙等待直到鎖被釋放;當一個線程獲取自旋鎖后,操作系統將會禁用搶占以避免臨界區代碼的執行被打斷。然而在虛擬化環境中,一個持有自旋鎖的線程可能會由于虛擬機CPU(即vCPU)調度被虛擬機監控器(virtual machine monitor,VMM)搶占,此時等待獲取鎖的vCPU將會忙等待很長的時間直到持有鎖的vCPU被再次調度并釋放此鎖,這將會導致大量的CPU資源被浪費,嚴重影響了并行應用的性能。在使用屏障的多線程應用中也存在類似的問題。例如,OpenMP中使用屏障進行同步的線程將會在被阻塞之前自旋指定的次數(默認值為300000)。在過載的虛擬化環境下,即使一個線程已經到達屏障,但如果其他線程被VMM搶占,那么該線程也得忙等待很長時間直到其他線程也到達此屏障,這將會使同步點被大幅延后并嚴重影響并行應用的性能。
在使用消息傳遞編程模型的并行應用中,多機上進程間的同步需要通過網絡消息的收發來進行,例如,一個虛擬機上運行的消息發送進程在執行發送操作時,必須收到其他虛擬機中消息接收進程的確認信息后才能發送消息。當應用程序需要進行大量的通信操作并處于過載的虛擬化環境中時,消息收發例程會給內核的網絡協議棧和I/O復用機制造成很大的壓力,具體來說,網絡協議棧和I/O復用機制在內核實現中使用的自旋鎖也會被VMM搶占,從而造成CPU資源的浪費和應用程序性能的損失。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710290453.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種移動機器人多點調度通信方法
- 下一篇:一種圖算法友善的強連通圖劃分方法





