[發(fā)明專利]基于用戶空閑進(jìn)程的提高虛擬機(jī)性能與可伸縮性的方法有效
| 申請(qǐng)?zhí)枺?/td> | 201010595152.2 | 申請(qǐng)日: | 2010-12-20 |
| 公開(kāi)(公告)號(hào): | CN102012834A | 公開(kāi)(公告)日: | 2011-04-13 |
| 發(fā)明(設(shè)計(jì))人: | 陳海波;宋翔;臧斌宇 | 申請(qǐng)(專利權(quán))人: | 復(fù)旦大學(xué) |
| 主分類號(hào): | G06F9/455 | 分類號(hào): | G06F9/455;G06F9/46 |
| 代理公司: | 上海正旦專利代理有限公司 31200 | 代理人: | 陸飛;盛志范 |
| 地址: | 200433 *** | 國(guó)省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 用戶 空閑 進(jìn)程 提高 虛擬機(jī) 性能 伸縮性 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)操作系統(tǒng)和虛擬化技術(shù)領(lǐng)域,具體為一種提高客戶虛擬機(jī)在多核環(huán)境下性能以及可伸縮性的方法。
背景技術(shù)
多核技術(shù)的出現(xiàn)給操作系統(tǒng)的開(kāi)發(fā)帶來(lái)了新的機(jī)遇和挑戰(zhàn)。隨著處理器處理核心數(shù)目的增多,操作系統(tǒng)的整體性能能否隨著硬件計(jì)算能力的增強(qiáng)而增強(qiáng)成為當(dāng)今計(jì)算機(jī)操作系統(tǒng)發(fā)展的一個(gè)重要問(wèn)題,即操作系統(tǒng)的可伸縮性問(wèn)題。現(xiàn)有操作系統(tǒng)普遍存在著在多核環(huán)境下可伸縮性差的現(xiàn)象,即當(dāng)物理處理核心數(shù)目增加到一定數(shù)目時(shí),操作系統(tǒng)的整體性能的提升開(kāi)始放緩,甚至產(chǎn)生下降的現(xiàn)象。現(xiàn)在,雙核和四核處理器已經(jīng)被普遍應(yīng)用在服務(wù)器,桌面乃至嵌入式平臺(tái)。而在可預(yù)見(jiàn)的將來(lái),我們將看到上百個(gè)處理器核(CPU?core)被封裝在一個(gè)芯片上。?因而隨著多核技術(shù)的發(fā)展,操作系統(tǒng)在多核環(huán)境下的可伸縮性會(huì)變得越來(lái)越重要。
系統(tǒng)虛擬化是一種將一臺(tái)物理計(jì)算機(jī)系統(tǒng)虛擬化為一臺(tái)或多臺(tái)虛擬計(jì)算機(jī)系統(tǒng)(簡(jiǎn)稱虛擬機(jī),Virtual?Machine)的技術(shù)。作為一種現(xiàn)代操作系統(tǒng)技術(shù),虛擬化技術(shù)近年來(lái)已經(jīng)在產(chǎn)業(yè)界被廣泛運(yùn)用,例如:服務(wù)器整合(server?consolidation)、多租戶云(multi-tenant?cloud)、專署虛擬化設(shè)備(virtual?appliances)等等。而在系統(tǒng)虛擬環(huán)境下,由于系統(tǒng)增加了虛擬化層,客戶虛擬機(jī)的性能及可伸縮性會(huì)受到嚴(yán)重的影響。具體表現(xiàn)為:在虛擬環(huán)境下客戶虛擬機(jī)操作系統(tǒng)的性能及可伸縮性相對(duì)于運(yùn)行在物理機(jī)器上的操作系統(tǒng)會(huì)產(chǎn)生非常嚴(yán)重的下降。
本發(fā)明主要用于解決多核環(huán)境下由于虛擬化層導(dǎo)致的客戶虛擬機(jī)的性能及可伸縮性嚴(yán)重的下降問(wèn)題。造成客戶虛擬機(jī)性能及可伸縮性嚴(yán)重下降的主要原因是操作系統(tǒng)的空閑線程(idle?thread)和虛擬機(jī)監(jiān)控器的空閑虛擬機(jī)(idle?Virtual?Machine)的協(xié)作問(wèn)題。(空閑線程主要用于當(dāng)操作系統(tǒng)在某個(gè)處理器核心上進(jìn)入空閑狀態(tài)時(shí),占用處理器核心并使之進(jìn)入休眠狀態(tài)。空閑虛擬機(jī)在虛擬機(jī)監(jiān)控器中的角色類同于空閑線程在操作系統(tǒng)中的角色。)造成該協(xié)作問(wèn)題的主要原因是客戶虛擬機(jī)的空閑線程無(wú)法直接使用處理器核心休眠指令(該指令的作用在于使處理器核心進(jìn)入休眠狀態(tài)以節(jié)約能耗),而必須切換至虛擬機(jī)監(jiān)控器并調(diào)度到空閑虛擬機(jī)由空閑虛擬機(jī)來(lái)執(zhí)行處理器核心休眠指令。此外喚醒一個(gè)空閑虛擬機(jī)也需要切換至虛擬機(jī)監(jiān)控器。
當(dāng)客戶虛擬機(jī)在執(zhí)行多線程任務(wù)時(shí),虛擬機(jī)操作系統(tǒng)內(nèi)部往往會(huì)產(chǎn)生對(duì)資源的競(jìng)爭(zhēng),一些虛擬處理器核心上的線程不得不進(jìn)入空閑以等待其他虛擬處理器核心上的線程釋放其所需的資源。這會(huì)導(dǎo)致某些處理器核心進(jìn)入空閑狀態(tài),并誘發(fā)操作系統(tǒng)的空閑線程和虛擬機(jī)監(jiān)控器的空閑虛擬機(jī)的協(xié)作問(wèn)題。額外的客戶虛擬機(jī)和虛擬機(jī)監(jiān)控器的切換會(huì)增加等待線程的等待時(shí)間從而導(dǎo)致執(zhí)行在客戶虛擬機(jī)上的多線程任務(wù)的執(zhí)行時(shí)間變長(zhǎng),使得客戶虛擬機(jī)的整體性能及可伸縮性下降。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種適用于客戶虛擬機(jī)的輕量級(jí)用戶態(tài)空閑后臺(tái)進(jìn)程的設(shè)計(jì)與使用方式,以提高多核環(huán)境下客戶虛擬機(jī)的性能和伸縮性。
本發(fā)明通過(guò)使用適用于客戶虛擬機(jī)的輕量級(jí)用戶態(tài)空閑后臺(tái)進(jìn)程,來(lái)解決操作系統(tǒng)的空閑線程和虛擬機(jī)監(jiān)控器的空閑虛擬機(jī)的協(xié)作問(wèn)題。圖1描述了在虛擬處理器核心處于空閑狀態(tài)時(shí),客戶虛擬機(jī)的執(zhí)行行為,即空閑線程和虛擬機(jī)監(jiān)控器的空閑虛擬機(jī)的協(xié)作的過(guò)程。虛線部分表示了在該協(xié)作過(guò)程中增加的客戶虛擬機(jī)和虛擬機(jī)監(jiān)控器的切換所導(dǎo)致的額外的處理器資源的開(kāi)銷。通過(guò)該發(fā)明,虛線部分的開(kāi)銷將被完全消除。
該發(fā)明的主要原理為:使用一個(gè)輕量級(jí)用戶態(tài)空閑后臺(tái)進(jìn)程,在虛擬處理器核心上沒(méi)有負(fù)載時(shí),占用虛擬處理器核心以避免客戶虛擬機(jī)切換至虛擬機(jī)監(jiān)控器,從而避免由于額外的客戶虛擬機(jī)和虛擬機(jī)監(jiān)控器的切換而帶來(lái)的開(kāi)銷。
本發(fā)明方法的具體實(shí)現(xiàn)過(guò)程為:
1)?在客戶虛擬機(jī)中執(zhí)行一個(gè)低優(yōu)先級(jí)的用戶態(tài)空閑后臺(tái)進(jìn)程,該進(jìn)程會(huì)在每個(gè)虛擬處理器核心上部署一個(gè)空閑后臺(tái)子線程。
2)?空閑后臺(tái)子線程在虛擬處理器核心上有負(fù)載時(shí)不會(huì)得到執(zhí)行。這樣實(shí)現(xiàn)使得在虛擬處理器核心上有用戶線程負(fù)載時(shí),空閑后臺(tái)子線程不會(huì)對(duì)用戶線程造成任何影響。
3)?在虛擬處理器核心上沒(méi)有負(fù)載時(shí),空閑后臺(tái)子線程執(zhí)行占用虛擬處理器核心。這樣實(shí)現(xiàn)使得在虛擬處理器核心上沒(méi)有負(fù)載時(shí),不會(huì)調(diào)度到空閑線程,因此不會(huì)切換至虛擬機(jī)監(jiān)控器,從而避免了由于額外的客戶虛擬機(jī)和虛擬機(jī)監(jiān)控器的切換而帶來(lái)的開(kāi)銷。
圖2描述了使用了空閑進(jìn)程后,虛擬處理器核心處于空閑狀態(tài)時(shí),客戶虛擬機(jī)的執(zhí)行行為:
1)?當(dāng)客戶虛擬機(jī)中的一個(gè)處理器核心處于空閑狀態(tài)時(shí),該處理器核心直接從用戶線程切換到后臺(tái)空閑線程;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于復(fù)旦大學(xué),未經(jīng)復(fù)旦大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010595152.2/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 用于移動(dòng)終端的空閑屏幕布置結(jié)構(gòu)和空閑屏幕顯示方法
- 一種RNC配置空閑間隔的方法和系統(tǒng)
- 存儲(chǔ)器系統(tǒng)和控制存儲(chǔ)器系統(tǒng)的方法
- 一種內(nèi)存管理方法及裝置
- 內(nèi)存分配的方法及裝置
- 文件系統(tǒng)級(jí)的非揮發(fā)性存儲(chǔ)器磨損均衡空閑塊管理方法
- 用于空閑狀態(tài)確定的系統(tǒng)和方法
- 空閑產(chǎn)能的發(fā)布、交易管理方法及系統(tǒng)和存儲(chǔ)介質(zhì)
- 終端配置方法、平臺(tái)、系統(tǒng)和終端以及存儲(chǔ)介質(zhì)
- 網(wǎng)絡(luò)連接池管理方法、裝置、設(shè)備和存儲(chǔ)介質(zhì)
- 一種進(jìn)程自動(dòng)恢復(fù)方法
- 進(jìn)程啟動(dòng)方法及內(nèi)核、進(jìn)程
- 一種進(jìn)程間的通信方法和裝置
- 進(jìn)程解析裝置、進(jìn)程解析方法和進(jìn)程解析程序
- 32位進(jìn)程和64位進(jìn)程交叉注入方法及裝置
- 一種應(yīng)用進(jìn)程控制方法及裝置
- 插件下載方法及裝置
- 進(jìn)程間的數(shù)據(jù)傳輸方法和裝置
- 進(jìn)程監(jiān)視裝置、進(jìn)程監(jiān)視方法和進(jìn)程監(jiān)視程序
- 一種基于動(dòng)態(tài)監(jiān)測(cè)的進(jìn)程優(yōu)化調(diào)度方法





