[發明專利]一種多虛擬處理器同步調度的方法及計算機有效
| 申請號: | 200710304034.X | 申請日: | 2007-12-24 |
| 公開(公告)號: | CN101470635A | 公開(公告)日: | 2009-07-01 |
| 發明(設計)人: | 王凱;劉春梅 | 申請(專利權)人: | 聯想(北京)有限公司 |
| 主分類號: | G06F9/52 | 分類號: | G06F9/52;G06F9/445 |
| 代理公司: | 北京銀龍知識產權代理有限公司 | 代理人: | 許 靜 |
| 地址: | 100085北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 虛擬 處理器 同步 調度 方法 計算機 | ||
技術領域
本發明主要涉及虛擬機技術領域,尤其涉及一種多虛擬處理器(VCPU, Virtual?CPU)同步調度的方法及計算機。
背景技術
現有虛擬機環境下,對于多數客戶操作系統(GOS,Guest?Operation System)來說,屬于同一個GOS中的多個VCPU并沒有同步運行。雖然目前 多數操作系統和應用程序都不太關心多核CPU中的每個CPU是否都同時可 用,但是屬于同一個GOS中的多個VCPU的不同步運行會引起下列問題。
首先是超時(Timeout)問題。在同一個GOS運行過程中,虛擬機管理器 (VMM,Virtual?Machine?Monitor)將時鐘中斷僅發給該GOS中的虛擬引導處 理器(VBSP,Virtual?Bootstrap?Processor),如果該GOS中的虛擬應用處理器 (VAP,Virtutal?Application?Processor)的調度與該GOS中的VBSP的調度不 同步,則VAP的定時器的超時問題將不可避免。其原因在于,當GOS中的負 責程序執行和應用的VAP被調度運行時,GOS中負責系統初始化啟動的VBSP 已經接收了虛擬機管理器發送的多個時鐘中斷,這些多個時鐘中斷使整個 GOS的系統時間已經前進了一大段時間,因此,當VAP開始運行時,相對于 VAP的運行時間,整個GOS的系統時間已經跳躍了一大段,從而使VAP的時 間等待隊列上的多個定時器超時。尤其在時鐘中斷補償機制情況下,超時問題 更容易出現。
另外是并發程序執行性能問題。對于并發程序而言,多個線程或進程不但 需要并發執行,而且需要相互同步。例如,當第一個線程需要等待第二個線程 的執行結果才能繼續執行,此時,就需要第二個線程能盡快得到執行結果;而 多個線程會在多個不同的CPU上執行以達到并發。這種情況如果發生在多個 不同步的VCPU上,將很可能出現因一個VCPU上的線程或進程未及時運行 而帶來在其它VCPU上的線程或進程無法運行的現象。顯然,這將大大降低 并發程序的執行性能。
發明內容
有鑒于此,本發明的實施例的目的在于提供一種多虛擬處理器同步調度的 方法及計算機,通過該方法及計算機實現了對同步GOS的多個VCPU的同步 調度。
一方面,提供了一種多虛擬處理器同步調度的方法,包括:
確定第一物理CPU調度到的第一虛擬處理器需要與第二虛擬處理器同步 運行;
采用同步方式通知所述第二虛擬處理器對應的且包含有調度隊列的第二 物理CPU;
所述第二物理CPU在所述調度隊列中搜索到所述第二虛擬處理器;
將所述第二虛擬處理器從所述調度隊列中調出并在所述第二物理CPU上 運行。
該方法所述采用同步方式通知所述第二虛擬處理器對應的且包含有調度 隊列的第二物理CPU具體為:
向所述第二物理CPU發送同步請求;或者,
向所述第一物理CPU發送同步請求,由所述第一物理CPU以預定方式轉 發所述同步請求給所述第二物理CPU。
該方法所述預定方式為處理器間中斷方式。
該方法所述第一虛擬處理器與所述第二虛擬處理器屬于同一個客戶操作 系統,所述客戶操作系統為同步客戶操作系統。
該方法中,在所述確定第一物理CPU調度到的第一虛擬處理器需要與第 二虛擬處理器同步運行前包括:
為所述同步客戶操作系統標記同步標識;
根據所述同步標識確定運行的客戶操作系統為所述同步客戶操作系統。
該方法包括:
根據所述同步客戶操作系統的多個虛擬處理器的運行情況布署多個虛擬 處理器在對應的多個物理CPU的調度隊列中的位置。
另一方面,還提供了一種多虛擬處理器同步調度的裝置,所述計算機包括:
同步通知模塊,用于確定第一物理CPU調度到的第一虛擬處理器需要與 第二虛擬處理器同步運行,并采用同步方式通知所述第二虛擬處理器對應的且 包含有調度隊列的第二物理CPU;
同步調度模塊,當所述第二物理CPU在所述調度隊列中搜索到所述第二 虛擬處理器時,用于將所述第二虛擬處理器從所述調度隊列中調出并在所述第 二物理CPU上運行。
該裝置所述同步通知模塊包括:
第一同步通知單元,用于向所述第二物理CPU發送同步請求;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于聯想(北京)有限公司,未經聯想(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710304034.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:單端串口實現多功能復用的方法
- 下一篇:一種積木式架構應用于系統開發的裝置





