一種服務(wù)器、資源管理方法及虛擬機(jī)管理器的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及虛擬計(jì)算技術(shù)領(lǐng)域,尤其涉及一種服務(wù)器、資源管理方法及虛擬機(jī)管理器。
【背景技術(shù)】
[0002]虛擬化技術(shù)通過虛擬機(jī)管理器在物理硬件上生成多個(gè)可以運(yùn)行獨(dú)立操作系統(tǒng)的虛擬機(jī)實(shí)例,以提高每臺(tái)服務(wù)器的平均資源利用率。因此,各種虛擬化技術(shù)應(yīng)運(yùn)而生。
[0003]然而,現(xiàn)有技術(shù)中的一個(gè)虛擬機(jī)管理器通常管理一臺(tái)服務(wù)器上的所有處理處理器。因此導(dǎo)致虛擬機(jī)管理器內(nèi)的實(shí)現(xiàn)復(fù)雜度大,而且性能損耗高。
【發(fā)明內(nèi)容】
[0004]本申請實(shí)施例提供一種服務(wù)器、資源管理方法及虛擬機(jī)管理器,用以解決現(xiàn)有技術(shù)中的虛擬機(jī)管理器的實(shí)現(xiàn)復(fù)雜度和性能損耗較高的技術(shù)問題。
[0005]本申請第一方面提供了一種服務(wù)器,包括:
[0006]N類物理處理器核心;N為大于I的正整數(shù);
[0007]控制器,用于根據(jù)所述N類物理處理器核心的種類部署M個(gè)虛擬機(jī)管理器,每個(gè)所述虛擬機(jī)管理器用于管理一個(gè)物理處理器核心區(qū),每個(gè)所述物理處理器核心區(qū)屬于所述N類物理處理器中核心的一類;其中,M為大于等于N的正整數(shù)。
[0008]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述控制器具體用于:根據(jù)所述N類物理處理器核心的種類部署N個(gè)虛擬機(jī)管理器,所述N個(gè)虛擬機(jī)管理器與所述N類物理處理器核心——對應(yīng);或者
[0009]根據(jù)所述N類物理處理器核心的種類和同一種類的處理器核心之間的互聯(lián)類型部署所述M個(gè)虛擬機(jī)管理器;或者
[0010]根據(jù)所述N類物理處理器核心的種類、同一種類的處理器核心之間的互聯(lián)類型以及同一互聯(lián)類型的處理器核心的數(shù)量部署所述M個(gè)虛擬機(jī)管理器。
[0011]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述控制器還用于在每個(gè)所述虛擬機(jī)管理器管理的物理處理器核心區(qū)中確定部分核心區(qū)以運(yùn)行對應(yīng)的虛擬機(jī)管理器。
[0012]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,每個(gè)所述虛擬機(jī)管理器具體用于:根據(jù)應(yīng)用的類型和/或需求分配所述管理的物理處理器核心區(qū)中的另一部分核心區(qū)以運(yùn)行所述應(yīng)用所寄宿的客戶端操作系統(tǒng);其中,所述另一部分核心區(qū)和所述部分核心區(qū)不相同。
[0013]結(jié)合第一方面的第三種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,每個(gè)所述虛擬機(jī)管理器還用于:接收所述客戶端操作系統(tǒng)發(fā)送的處理器核間中斷IPI事件,處理所述IPI事件,并在處理完所述IPI事件之后,向所述客戶端操作系統(tǒng)發(fā)送進(jìn)入通知,以通知所述客戶端操作系統(tǒng)繼續(xù)運(yùn)行。
[0014]結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式,在第一方面的第五種可能的實(shí)現(xiàn)方式中,所述服務(wù)器還包括與處理器核心數(shù)量一致的本地高級(jí)可編程中斷控制器,分別配置給所述每個(gè)處理器核心,每個(gè)所述虛擬機(jī)管理器具體用于:在接收所述客戶端操作系統(tǒng)發(fā)送的處理器核間中斷IPI事件之前,獲取每個(gè)所述虛擬機(jī)管理器自身所管理的物理處理器核心對應(yīng)的本地高級(jí)可編程中斷控制器的標(biāo)識(shí)信息,并將所述標(biāo)識(shí)信息發(fā)送給運(yùn)行在自身所管理的物理處理器核心上的客戶端操作系統(tǒng),以使所述客戶端操作系統(tǒng)根據(jù)所述標(biāo)識(shí)信息發(fā)送所述IPI事件。
[0015]結(jié)合第一方面的第五種可能的實(shí)現(xiàn)方式,在第一方面的第六種可能的實(shí)現(xiàn)方式中,每個(gè)所述虛擬機(jī)管理器還用于:為每個(gè)所述虛擬機(jī)管理器所管理的物理處理器核心區(qū)分配I/O高級(jí)可編程中斷控制器;并配置所述I/O高級(jí)可編程中斷控制器的重定向表;在接收到外部中斷信息時(shí),通過所述重定向表將所述外部中斷信息分發(fā)到對應(yīng)的本地高級(jí)可編程中斷控制器中。
[0016]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式至第一方面的第六種可能的實(shí)現(xiàn)方式中的任意一種,在第一方面的第七種可能的實(shí)現(xiàn)方式中,每個(gè)所述虛擬機(jī)管理器還用于:向其他虛擬機(jī)管理器發(fā)送自身所管理的物理處理器核心的信息;接收所述其他虛擬機(jī)管理器發(fā)送的所述其他虛擬機(jī)管理器所管理的物理處理器核心的信息并將所述M個(gè)虛擬機(jī)管理器所管理的物理處理器核心的信息發(fā)送給上層管理平臺(tái),以使得所述上層管理平臺(tái)根據(jù)所述信息將應(yīng)用的部署請求發(fā)送給匹配的虛擬機(jī)管理器。
[0017]本申請第二方面提供一種資源管理方法,包括:
[0018]虛擬機(jī)管理器接收應(yīng)用的部署請求,所述請求中包括所述應(yīng)用的類型和/或需求;其中,虛擬機(jī)管理器管理一個(gè)物理處理器核心區(qū),所述物理處理器核心區(qū)為服務(wù)器上的N類物理處理器核心中的一類;所述虛擬機(jī)管理器為根據(jù)所述N類物理處理器核心的種類部署的M個(gè)虛擬機(jī)管理器中的一個(gè);所述虛擬機(jī)管理器運(yùn)行在所述物理處理器核心區(qū)的部分核心區(qū)上;
[0019]所述虛擬機(jī)管理器根據(jù)所述類型和/或需求分配所述物理處理器核心區(qū)的另一部分核心區(qū)以運(yùn)行所述應(yīng)用所寄宿的客戶端操作系統(tǒng);其中,所述另一部分核心區(qū)和所述部分核心區(qū)不相同。
[0020]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0021]所述虛擬機(jī)管理器接收所述客戶端操作系統(tǒng)發(fā)送的處理器核間中斷IPI事件;
[0022]所述虛擬機(jī)管理器處理所述IPI事件;
[0023]所述虛擬機(jī)管理器在處理完所述IPI事件之后,向所述客戶端操作系統(tǒng)發(fā)送進(jìn)入通知,以通知所述客戶端操作系統(tǒng)繼續(xù)運(yùn)行。
[0024]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述服務(wù)器還包括與每個(gè)處理器核心數(shù)量一致的本地高級(jí)可編程中斷控制器,分別配置給所述每個(gè)處理器核心,所述方法還包括:
[0025]所述虛擬機(jī)管理器獲取所述虛擬機(jī)管理器所管理的物理處理器核心對應(yīng)的本地高級(jí)可編程中斷控制器的標(biāo)識(shí)信息;
[0026]所述虛擬機(jī)管理器將所述標(biāo)識(shí)信息發(fā)送給所述客戶端操作系統(tǒng),以使所述客戶端操作系統(tǒng)根據(jù)所述標(biāo)識(shí)信息發(fā)送所述IPI事件。
[0027]結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0028]所述虛擬機(jī)管理器為所述虛擬機(jī)管理器所管理的物理處理器核心區(qū)分配I/O高級(jí)可編程中斷控制器;并配置所述I/o高級(jí)可編程中斷控制器的重定向表;在接收到外部中斷信息時(shí),通過所述重定向表將所述外部中斷信息分發(fā)到對應(yīng)的本地高級(jí)可編程中斷控制器中。
[0029]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式至第二方面的第三種可能的實(shí)現(xiàn)方式中的任意一種,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0030]所述虛擬機(jī)管理器向其他虛擬機(jī)管理器發(fā)送自身所管理的物理處理器核心的信息;接收所述其他虛擬機(jī)管理器發(fā)送的所述其他虛擬機(jī)管理器所管理的物理處理器核心的信息并將所述M個(gè)虛擬機(jī)管理器所管理的物理處理器核心的信息發(fā)送給上層管理平臺(tái),以使得所述上層管理平臺(tái)根據(jù)所述信息將應(yīng)用的部署請求發(fā)送給匹配的虛擬機(jī)管理器。
[0031]本申請第三方面提供一種虛擬機(jī)管理器,所述虛擬機(jī)管理器管理一個(gè)物理處理器核心區(qū),所述物理處理器核心區(qū)為服務(wù)器上的N類物理處理器核心中的一類;所述虛擬機(jī)管理器為根據(jù)所述N類物理處理器核心的種類部署的M個(gè)虛擬機(jī)管理器中的一個(gè);所述虛擬機(jī)管理器運(yùn)行在所述物理處理器核心區(qū)的部分核心區(qū)上;所述虛擬機(jī)管理器包括:
[0032]分區(qū)及管理模塊,用于接收應(yīng)用的部署請求,所述請求中包括所述應(yīng)用的類型和/或需求;并根據(jù)所述類型和/或需求分配所述物理處理器核心區(qū)的另一部分核心區(qū)以運(yùn)行所述應(yīng)用所寄宿的客戶端操作系統(tǒng);其中,所述另一部分核心區(qū)和所述部分核心區(qū)不相同。
[0033]結(jié)合第三方面,在第三方面的第一種可能的實(shí)現(xiàn)方式中,所述分區(qū)及管理模塊還用于:接收所述客戶端操作系統(tǒng)發(fā)送的處理器核間中斷IPI事件;處理所述IPI事件;并在處理完所述IPI事件之后,向所述客戶端操作系統(tǒng)發(fā)送進(jìn)入通知,以通知所述客戶端操作系統(tǒng)繼續(xù)運(yùn)行。
[0034]結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式,在第三方面的第二種可能的實(shí)現(xiàn)方式中,所述服務(wù)器還包括與每個(gè)處理器核心數(shù)量一致的本地高級(jí)可編程中斷控制器,分別配置給所述每個(gè)處理器核心,所述虛擬機(jī)管理器還包括:
[0035]中斷定向分發(fā)模塊,用于獲取所述虛擬機(jī)管理器所管理的物理處理器核心對應(yīng)的本地高級(jí)可編程中斷控制器的標(biāo)識(shí)信息;并將所述標(biāo)識(shí)信息發(fā)送給所述客戶端操作系統(tǒng),以使所述客戶端操作系統(tǒng)根據(jù)所述標(biāo)識(shí)信息發(fā)送所述IPI事件。
[0036]結(jié)合第三方面的第二種可能的實(shí)現(xiàn)方式,在第三方面的第三種可能的實(shí)現(xiàn)方式中,所述中斷定向分發(fā)模塊還用于:為所述虛擬機(jī)管理器所管理的物理處理器核心區(qū)分配I/O高級(jí)可編程中斷控制器;并配置所述I/O高級(jí)可編程中斷控制器的重定向表;在接收到外部中斷信息時(shí),通過所述重定向表將所述外部中斷信息分發(fā)到對應(yīng)的本地高級(jí)可編程中斷控制器中。
[0037]結(jié)合第三方面或第三方面的第一種可能的實(shí)現(xiàn)方式至第三方面的第三種可能的實(shí)現(xiàn)方式中的任意一種,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述虛擬機(jī)管理器還包括:
[0038]交互模塊,用于向其他虛擬機(jī)管理器發(fā)送所述虛擬機(jī)管理器所管理的物理處理器核心的信息;接收所述其他虛擬機(jī)管理器發(fā)送的所述其他虛擬機(jī)管理器所管理的物理處理器核心的信息并將所述M個(gè)虛擬機(jī)管理器所管理的物理處理器核心的信息發(fā)送給上層管理平臺(tái),以使得所述上層管理平臺(tái)根據(jù)所述信息將應(yīng)用的部署請求發(fā)送給匹配的虛擬機(jī)管理器。