[發(fā)明專利]一種虛擬化下的中斷動態(tài)分發(fā)方法有效
| 申請?zhí)枺?/td> | 201210537454.3 | 申請日: | 2012-12-12 |
| 公開(公告)號: | CN103049333A | 公開(公告)日: | 2013-04-17 |
| 發(fā)明(設計)人: | 金海;邵志遠;魯志強;鄭龍 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/445 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 朱仁玲 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 虛擬 中斷 動態(tài) 分發(fā) 方法 | ||
技術領域
本發(fā)明屬于虛擬化領域,更具體地,涉及一種虛擬化下的中斷動態(tài)分發(fā)方法。
背景技術
虛擬化技術是云計算技術的基礎,I/O虛擬化的性能將直接影響虛擬化技術的發(fā)展,特別是網絡I/O的虛擬化性能。在服務器虛擬化領域,高速網絡設備(如千兆以太網卡等)短時間內會帶來內大量的中斷請求;因此高效的中斷虛擬化技術就顯得更加重要了。在X86平臺的SMP架構中,外設的中斷線連接到一個名為I/O高級可編程中斷控制器(Input/OutputAdvanced?Programmable?Interrupt?Controller,簡稱I/O?APIC)上。此外,X86微處理器當前所有CPU都含有一個本地高級可編程中斷控制器(Advanced?Programmable?Interrupt?Controller,簡稱APIC)。每個本地APIC都有32位的寄存器、一個內部時鐘、一個本地定時設備及為本地APIC保留的兩條額外的IRQ線LINT0和LINT1。所有的本地APIC都連接到一個外部I/O?APIC,形成一個多APIC的系統。I/O?APIC其中最重要的是中斷重定向表,表中的信息負責將每個外部IRQ轉化成一條消息并通過APIC總線發(fā)送給一個或者多個APIC單元。因此,在非虛擬化的情況下,外設的IRQ由I/O?APIC負責分發(fā)。
如圖1所示,在引入了虛擬化技術后,由于CPU虛擬化增加了虛擬微處理器,中斷的處理響應的增加了虛擬中斷層。但目前的中斷虛擬化技術沒有完全對I/O?APIC多APIC系統進行虛擬化,導致了虛擬化中斷都只能簡單的進行靜態(tài)分發(fā),默認都是分發(fā)給第一個虛擬微處理器,而不能進行動態(tài)分發(fā)。具體來說,就是虛擬機管理器只能將所有的物理中斷發(fā)送給驅動域的第一個虛擬微處理器,即所有的物理中斷請求都需要由驅動域的第一個微處理器來處理;虛擬域只能將所有的域間中斷都發(fā)送給其他域的第一個虛擬微處理器,即所有的域間中斷請求都需要由虛擬域的第一個微處理器來處理。
然而,現有的虛擬化下的中斷分發(fā)方法存在以下問題:
1、中斷請求集中在第一個微處理器上,造成中斷分發(fā)在多核虛擬域的負載不均衡;
2、虛擬I/O的服務延遲增大,由于中斷請求在單一微處理器上排隊,排隊的延遲比非虛擬化下的增大,造成I/O的服務延遲增大;
3、分離驅動模型的中斷請求不能并發(fā)處理,即域間中斷只能在驅動域的第一個虛擬微處理器和其他域的第一個微處理器之間發(fā)送,沒有充分利用虛擬域的多核特性,從而造成了分離驅動模型的I/O性能下降。
發(fā)明內容
針對現有技術的缺陷,本發(fā)明的目的在于提供一種虛擬化下的中斷動態(tài)分發(fā)方法,旨在解決現有方法中存在的中斷請求負載不均衡、中斷請求延遲和分離驅動模型的并發(fā)處理的問題。
為實現上述目的,本發(fā)明提供了一種虛擬化下的中斷動態(tài)分發(fā)方法,包括以下步驟:
(1)虛擬機管理器對其虛擬高級可編程中斷處理器進行初始化,并且虛擬域對其本地可高級編程中斷控制器進行初始化;
(2)虛擬機管理器接收來自于外設的物理中斷請求;
(3)虛擬機管理器根據物理中斷請求判斷其分發(fā)方式是靜態(tài)分發(fā)方式,還是動態(tài)分發(fā)方式,如果是靜態(tài)分發(fā)方式,則進入步驟(5),如果是動態(tài)分發(fā)方式,則進入步驟(4);
(4)虛擬機管理器檢查驅動域中虛擬微處理器的配置,并根據配置確定目的虛擬微處理器,然后進入步驟(6);
(5)虛擬機管理器根據物理中斷請求確定目的虛擬微處理器;
(6)虛擬機管理器通過目的虛擬微處理器的事件通道將物理中斷請求發(fā)送到該目的虛擬微處理器;
(7)驅動域根據物理中斷請求生成對應的域間中斷請求;
(8)驅動域根據域間中斷請求判斷其分發(fā)方式是靜態(tài)分發(fā)方式,還是動態(tài)分發(fā)方式;如果是靜態(tài)分發(fā)方式,則進入步驟(10),如果是動態(tài)分發(fā)方式,則進入步驟(9);
(9)驅動域檢查其他域中虛擬微處理器的配置,并根據配置確定目的虛擬微處理器,然后進入步驟(11);
(10)驅動域根據域間中斷請求確定目的虛擬微處理器;
(11)驅動域通過目的虛擬微處理器的事件通道將域間中斷請求發(fā)送到該目的虛擬微處理器。
在步驟(1)中,虛擬機管理器將虛擬I/O?APIC的分發(fā)方式設置為動態(tài)分發(fā)方式,并且虛擬域設置本地PIC中的優(yōu)先級和仲裁優(yōu)先級。
虛擬域包括驅動域和其他域,外設包括外部存儲器、網絡設備,物理中斷請求包括物理請求編號、物理請求地址。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210537454.3/2.html,轉載請聲明來源鉆瓜專利網。





