欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

負載均衡的方法、裝置、叢集和眾核處理器的制造方法

文檔序號:9765928閱讀:389來源:國知局
負載均衡的方法、裝置、叢集和眾核處理器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實施例涉及計算機領(lǐng)域,并且更具體地,涉及一種負載均衡的方法、裝置、叢集和眾核處理器。
【背景技術(shù)】
[0002]在傳統(tǒng)的片上多處理器系統(tǒng)(on-ChipMultiple Processor System, CMPs)系統(tǒng)中,當所需要的數(shù)據(jù)不在本地存儲中,本地線程將訪問遠端節(jié)點,將數(shù)據(jù)通過片上網(wǎng)絡(luò)搬運回本地,同時進行數(shù)據(jù)的一致性維護。CMPs系統(tǒng)的功耗,主要由節(jié)點間的數(shù)據(jù)交互,以及數(shù)據(jù)一致性維護產(chǎn)生的數(shù)據(jù)通信開銷(Traffic)構(gòu)成。為了降低CMPs系統(tǒng)的功耗,提高CMPs系統(tǒng)的性能,當線程執(zhí)行所需的數(shù)據(jù)不在本地,并且該線程需要對數(shù)據(jù)進行連續(xù)或者頻繁得訪問時,通過將線程遷移到數(shù)據(jù)所在的核上,可以大大減少片上的Traffic。
[0003]大部分硬件級的線程遷移產(chǎn)生的Traffic以及延遲都低于傳統(tǒng)的遠端節(jié)點訪問。通過線程遷移可以大大減少片上的Traffic。
[0004]眾核處理器中,包括多個叢集(Cluster),每個Cluster由多個處理器核互連構(gòu)成,并且處理器核與處理器核之間維護緩存一致性的架構(gòu)。處理器核也被稱為內(nèi)核或核(core),是CPU最重要的組成部分,CPU所有的計算、接收/存儲命令、處理數(shù)據(jù)都由處理器核執(zhí)行。各種CPU處理器核都具有固定的邏輯結(jié)構(gòu),一級緩存、二級緩存、執(zhí)行單元、指令級單元和總線接口等。
[0005]現(xiàn)有的眾核處理器負載均衡策略中,操作系統(tǒng)按處理器核,將底層的處理器資源劃分為多個調(diào)度域,每個調(diào)度域可包括多個處理器核,然后根據(jù)設(shè)置的調(diào)度域失衡閾值和處理器核失衡閾值,判斷調(diào)度域之間及調(diào)度域內(nèi)是否負載失衡,其中,調(diào)度域失衡閾值用于判斷調(diào)度域之間是否負載失衡,處理器核失衡閾值用于判斷調(diào)度域內(nèi)的處理器核是否負載失衡。由于需要通過操作系統(tǒng)進行監(jiān)控調(diào)度,線程遷移的延遲較大,系統(tǒng)性能還有待提高。

【發(fā)明內(nèi)容】

[0006]本發(fā)明實施例提供一種負載均衡的方法、裝置、叢集和眾核處理器,通過細粒度的硬件線程遷移來簡單快速地實現(xiàn)Cluster內(nèi)的負載均衡,可以減小線程遷移的延遲,加速數(shù)據(jù)處理,提高眾核處理器系統(tǒng)的系統(tǒng)性能。
[0007]第一方面,提供了一種硬件線程負載均衡的方法,應用于眾核處理器內(nèi)的叢集Cluster,該方法包括:獲取該Cluster的多個處理器核中每一個處理器核的負載量,該處理器核的負載量由該處理器核的至少一種待執(zhí)行線程確定;根據(jù)該Cluster的多個處理器核中每一個處理器核的負載量確定第一處理器核和第二處理器核,其中,該第一處理器核為待遷出線程的處理器核,該第二處理器核為待遷入線程的處理器核;將該第一處理器核中的一個或多個待執(zhí)行線程遷入到該第二處理器核中。
[0008]結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,根據(jù)該Cluster的多個處理器核中每一個處理器核的負載量確定第一處理器核和第二處理器核具體實現(xiàn)為:根據(jù)該Cluster的多個處理器核中每一個處理器核的負載量,確定該多個處理器核之間的負載差值,并且當該多個處理器核中兩個處理器核的負載差值大于第一預定閾值時,確定該兩個處理器核中負載量高的處理器核為該第一處理器核,該兩個處理器核中負載量低的處理器核為該第二處理器核。
[0009]結(jié)合第一方面,在第二種可能的實現(xiàn)方式中,根據(jù)該Cluster的多個處理器核中每一個處理器核的負載量確定第一處理器核和第二處理器核具體實現(xiàn)為:根據(jù)該Cluster的多個處理器核中每一個處理器核的負載量確定第一處理器核,該第一處理器核的負載量大于第二預定閾值;向該多個處理器核中第一處理器核以外的其它處理器核發(fā)送線程遷出請求,該線程遷出請求攜帶該第一處理器核的負載量;接收該多個處理器核中第一處理器核以外的其它處理器核根據(jù)自身的負載量與該第一處理器核的負載量反饋的應答信號,該應答信號用于指示接收到該線程遷出請求的處理器核是否具備遷入線程的能力;根據(jù)該多個處理器核中第一處理器核以外的其它處理器核反饋的應答信號確定第二處理器核,其中,該第二處理器核反饋的應答信號指示該第二處理器核具備遷入線程的能力。
[0010]結(jié)合第一方面,在第三種可能的實現(xiàn)方式中,根據(jù)該Cluster的多個處理器核中每一個處理器核的負載量確定第一處理器核和第二處理器核具體實現(xiàn)為:根據(jù)該Cluster的多個處理器核中每一個處理器核的負載量確定第二處理器核,該第二處理器核的負載量小于第三預定閾值;向該多個處理器核中第二處理器核以外的其它處理器核發(fā)送線程遷入請求,該線程遷入請求攜帶該第二處理器核的負載量;接收該多個處理器核中第二處理器核以外的其它處理器核根據(jù)自身的負載量與該第二處理器核的負載量反饋的應答信號,該應答信號用于指示收到該線程遷入請求的處理器核是否需要遷出線程;根據(jù)該多個處理器核中第二核以外的其它處理器核反饋的應答信號確定第一處理器核,其中,該第一處理器核反饋的應答信號指示該第一處理器核需要遷出線程。
[0011]結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式至第一方面的第四種可能的實現(xiàn)方式中任一種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,具體實現(xiàn)為:該處理器核的至少一種待執(zhí)行線程中,不同類型的待執(zhí)行線程在該處理器核的負載量中具有不同的加權(quán)系數(shù)。
[0012]結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式至第一方面的第五種可能的實現(xiàn)方式中任一種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,具體實現(xiàn)為:該處理器核的至少一種待執(zhí)行線程包括以下至少一種線程:該處理器核的遷入線程、該處理器核的本地線程。
[0013]第二方面,提供了一種硬件線程負載均衡的裝置,位于眾核處理器內(nèi)的叢集Cluster,該裝置包括:獲取單元,用于獲取該裝置所在的Cluster中的多個處理器核中每一個處理器核的負載量,該處理器核的負載量由該處理器核的至少一種待執(zhí)行線程確定;確定單兀,用于根據(jù)該Cluster的多個處理器核中每一個處理器核的負載量確定第一處理器核和第二處理器核,其中,該第一處理器核為待遷出線程的處理器核,該第二處理器核為待遷入線程的處理器核;線程遷移單元,用于將該第一處理器核中的一個或多個待執(zhí)行線程遷入到該第二處理器核中。
[0014]結(jié)合第二方面,在第一種可能的實現(xiàn)方式中,該確定單元具體用于:根據(jù)該Cluster的多個處理器核中每一個處理器核的負載量,確定該多個處理器核之間的負載差值,并且當該多個處理器核中兩個處理器核的負載差值大于第一預定閾值時,確定該兩個處理器核中負載量高的處理器核為該第一處理器核,該兩個處理器核中負載量低的處理器核為該第二處理器核。
[0015]結(jié)合第二方面,在第二種可能的實現(xiàn)方式中,該裝置還包括接收單元和發(fā)送單元,該確定單兀具體用于根據(jù)該Cluster的多個處理器核中每一個處理器核的負載量確定第一處理器核,該第一處理器核的負載量大于第二預定閾值;該發(fā)送單元用于向該多個處理器核中第一處理器核以外的其它處理器核發(fā)送線程遷出請求,該線程遷出請求攜帶該第一處理器核的負載量;該接收單元用于接收該多個處理器核中第一處理器核以外的其它處理器核根據(jù)自身的負載量與該第一處理器核的負載量反饋的應答信號,該應答信號用于指示接收到該線程遷出請求的處理器核是否具備遷入線程的能力;該確定單元具體還用于根據(jù)該多個處理器核中第一處理器核以外的其它處理器核反饋的應答信號確定第二處理器核,其中,該第二處理器核反饋的應答信號指示該第二處理器核具備遷入線程的能力。
[0016]結(jié)合第二方面,在第三種可能的實現(xiàn)方式中,該裝置還包括接收單元和發(fā)送單元,該確定單兀具體用于根據(jù)該Cluster的多個處理器核中每一個處理器核的負載量確定第二處理器核,該第二處理器核的負載量小于第三預定閾值;該發(fā)送單元用于向該多個處理器核中第二處理器核以外的其它處理器核發(fā)送線程遷入請求,該線程遷入請求攜帶該第二處理器核的負載量;該接收單元用于接收該多個處理器核中第二處理器核以外的其它處理器核根據(jù)自身的負載量與該第二處理器核的負載量反饋的應答信號,該應答信號用于指示收到該線程遷入請求的處理器核是否需要遷出線程;該確定單元具體還用于根據(jù)該多個處理器核中第二核以外的其它處理器核反饋的應答信號確定第一處理器核,其中,該第一處理器核反饋的應答信號指示該第一處理器核需要遷出線程。
[0017]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式至第二方面的第三種可能的實現(xiàn)方式中任一種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,具體實現(xiàn)為:該處理器核的至少一種待執(zhí)行線程中,不同類型的待執(zhí)行線程在該處理器核的負載量中具有不同的加權(quán)系數(shù)。
[0018]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式至第二方面的第四種可能的實現(xiàn)方式中任一種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,具體實現(xiàn)為:該處理器核的至少一種待執(zhí)行線程包括以下至少一種線程:該處理器核的遷入線程、該處理器核的本地線程。
[0019]第三方面,提出了一種眾核處理器的叢集,該叢集所在的眾核處理器包括多個該叢集,該叢集包括路由器和多個處理器核,該多個處理器核連接到該路由器,其中,該路由器用于:獲取多個處理器核中每一個處理器核的負載量,其中,該處理器核的負載值由該處理器核的至少一種待執(zhí)行線程確定;根據(jù)該多個處理器核中每一個處理器核的負載量,確定第一處理器核和第二處理器核,其中,該第一處理器核為待遷出線程的處理器核,該第二處理器核為待遷入線程的處理器核;將該第一處理器核中的一個或多個待執(zhí)行線程遷入到該第二處理器核中。
[0020]第四方面,提出了一種眾核處理器,包括多個叢集Cluster,該Cluster包括第二方面或第二方面的第一種可能的實現(xiàn)方式至第二方面的第五種可能的實現(xiàn)方式中任一種可能的實現(xiàn)方式中的硬件線程負載均衡裝置,或者該Cluster為第三方面中的叢集。
[0021]基于以上技術(shù)方案,本發(fā)明實施例的負載均衡的方法、裝置、叢集和眾核處理器,通過細粒度的硬件線程遷移來簡單快速地實現(xiàn)Cluster內(nèi)的負載均衡,提高了 Cluster內(nèi)線程的并行度,降低了線程執(zhí)行的平均等待時間,提高了眾核處理器系統(tǒng)的系統(tǒng)性能。
【附圖說明】
[0022]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0023]圖1是本發(fā)明實施例的眾核結(jié)構(gòu)示意圖。
[0024]圖2是本發(fā)明實施例叢集內(nèi)硬件線程負載均衡方法流程圖。
[0025]圖3是本發(fā)明實施例叢集內(nèi)線程遷移場景示意圖。
[0026]圖4是本發(fā)明實施例硬件線程負載均衡裝置的結(jié)構(gòu)示意圖。<
當前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
石家庄市| 红安县| 长治市| 武平县| 望都县| 新野县| 桐柏县| 福鼎市| 南漳县| 东平县| 丰都县| 乳源| 铁力市| 淄博市| 南充市| 平舆县| 称多县| 宜章县| 嘉黎县| 静宁县| 安乡县| 资溪县| 永新县| 四子王旗| 金塔县| 武汉市| 巴楚县| 九江市| 淳安县| 玛沁县| 六枝特区| 西乡县| 巩义市| 旅游| 牟定县| 库车县| 廉江市| 吉木乃县| 封丘县| 江都市| 庄河市|