两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

CPU超載設(shè)置和云計算工作負荷調(diào)度機構(gòu)的制作方法

文檔序號:11635184閱讀:281來源:國知局
CPU超載設(shè)置和云計算工作負荷調(diào)度機構(gòu)的制造方法與工藝
本文中描述的實施例總體上涉及計算機系統(tǒng)。更具體地,實施例涉及云計算。
背景技術(shù)
:云計算指能夠向眾多用戶提供彈性計算性能的高度可擴展的聯(lián)網(wǎng)計算系統(tǒng)。云計算通常涉及密集計算服務(wù)器(被稱為節(jié)點)的集群,其中,每個節(jié)點可能執(zhí)行幾十個虛擬機。通常,每個節(jié)點包括管理程序或其他虛擬化框架,并且整個云計算集群包括對特定計算節(jié)點上的虛擬機的實例化進行管理的一個或多個云控制器。openstack是這種云計算框架的一個示例。在多租戶云計算環(huán)境中,不同客戶可以控制特定節(jié)點上的虛擬機。因此,必須在虛擬機之間并且因此在不同客戶之間共享如處理器、網(wǎng)絡(luò)和存儲資源等節(jié)點資源。當創(chuàng)建虛擬機時,用戶選擇指定了虛擬機的資源需求的實例類型。靜態(tài)資源需求包括許多虛擬中央處理單元(vcpu)、存儲器、磁盤和網(wǎng)絡(luò)。對云服務(wù)提供商(csp)的這種要求具有兩種挑戰(zhàn)。第一種挑戰(zhàn)是csp在任何服務(wù)器系統(tǒng)中必須向虛擬機實例提供相同性能的承諾資源,而不論cpu和其他硬件部件如何。因此,csp必須限定性能度量并且確保每個虛擬機滿足所述性能。然而,這種要求經(jīng)常未被始終如一地滿足。第二種挑戰(zhàn)是應(yīng)當存在對所提供的基礎(chǔ)設(shè)施的最大化使用。因此,csp經(jīng)??梢韵M麑pu和存儲器進行超載設(shè)置,到將對基礎(chǔ)設(shè)施的使用最大化并將性能降低差異最小化的限度。現(xiàn)有超載設(shè)置解決方案建議使用最優(yōu)比例。然而,在實施這種解決方案時,在虛擬機分派有四個或更多個vcpu的實例中進行超載設(shè)置時發(fā)生性能降低。例如,如果第一虛擬機(vm1)分配有4個vcpu,所述vcpu之一被分派到第一物理cpu(pcpu1)上,并且第二虛擬機(vm2)分派有1個vcpu,所述vcpu也在pcpu1上,則vm1將必須等待其vcpu空閑(因為其被vm2共享)。如果與其他vm共享vm1的3個其他vcpu,則vm1將必須等待長得多的時間以便其所有vcpu空閑。這導(dǎo)致vm1的性能延遲。當前通過以下方式來補救這種降低:不對虛擬vcpu進行超載設(shè)置(例如,以單個vcpu啟動并且在必要時進行橫向擴展);監(jiān)測工作負荷利用率、cpu就緒、以及cpu利用率度量并對虛擬機進行大小調(diào)整;以及將虛擬機遷移到具有相對空閑的資源或者還未超載設(shè)置的服務(wù)器上。然而,不超載設(shè)置是通用推薦,所述通用推薦不保證在每單個單位時間在每個單一服務(wù)器上滿足的性能服務(wù)級別協(xié)議(sla)。進一步地,監(jiān)測虛擬機并對其進行大小調(diào)整需要虛擬機以較少的vcpu而慢慢啟動并且添加更多vcpu,由此需要基礎(chǔ)設(shè)施空閑或者不總是被完全利用。此外,一旦目的地服務(wù)器具有完全分配容量,遷移虛擬機就可能導(dǎo)致相同的性能延遲。附圖說明在附圖中通過示例的方式而不是通過限制的方式來展示了實施例,在附圖中,相同參考號指代類似元件。圖1展示了云計算系統(tǒng)的一個實施例。圖2展示了云計算系統(tǒng)的另一個實施例。圖3是流程圖,展示了用于執(zhí)行服務(wù)等級目標(slo)管理的進程的一個實施例。圖4展示了高級功能描述的一個實施例。圖5展示了虛擬機分配的一個實施例。圖6是流程圖,展示了公平超載設(shè)置進程的一個實施例。圖7是流程圖,展示了公平超載設(shè)置進程的一個實施例。圖8展示了計算機系統(tǒng)的一個實施例。具體實施方式可以在如以下所描述的用于在云計算環(huán)境中進行工作負荷調(diào)度的系統(tǒng)、裝置和方法中將本發(fā)明具體化。在本說明書中,可以闡述許多具體細節(jié)(比如,部件和系統(tǒng)配置),以便提供對本發(fā)明更加透徹的理解。在其他實例中,還未詳細地示出公知的結(jié)構(gòu)、電路等,以避免不必要地模糊本發(fā)明。根據(jù)一個實施例,在確??偸锹男衧la的同時,將服務(wù)器資源利用率最大化。在這種實施例中,基于處理器性能特性來定義服務(wù)等級目標(slo)。在進一步實施例中,基于slo參數(shù)來定義虛擬機實例類型,以便捕獲虛擬機的資源需求。在仍進一步實施例中,虛擬機被調(diào)度到節(jié)點上并且根據(jù)用戶定義的slo參數(shù)和當前服務(wù)器狀態(tài)來進行管理。仍進一步地,存儲slo參數(shù)并將其傳輸至各種服務(wù)器節(jié)點。根據(jù)一個實施例,虛擬機slo參數(shù)被轉(zhuǎn)換為平臺資源(例如,計算時間、處理器頻率、高速緩存、存儲器/磁盤/網(wǎng)絡(luò)帶寬、存儲器大小)。在其他實施例中,基于轉(zhuǎn)換參數(shù)來連續(xù)地監(jiān)測虛擬機以便檢測slo違背行為。在這種實施例中,以糾正動作的形式來進行動態(tài)調(diào)整,應(yīng)用所述糾正動作來恢復(fù)符合slo參數(shù)的性能??梢栽谟布④浖?、固件或硬件、軟件或固件的任何組合中實施本發(fā)明的實施例的元件。術(shù)語硬件通常指具有如電子部件、電磁部件、光學(xué)部件、光電部件、機械部件、機電部件等物理結(jié)構(gòu)的元件。術(shù)語軟件通常指邏輯結(jié)構(gòu)、方法、過程、程序、例程、進程、算法、公式、表達式等。術(shù)語固件通常指在硬件結(jié)構(gòu)(例如,閃存存儲器和只讀存儲器)中實施或具體化的邏輯結(jié)構(gòu)、方法、過程、程序、例程、進程、算法、公式或表達式。固件的示例是微代碼、可寫控制存儲設(shè)備以及微編程結(jié)構(gòu)。圖1展示了信息處理系統(tǒng)100的一個實施例。系統(tǒng)100包括全部通過網(wǎng)絡(luò)108進行通信的許多計算節(jié)點102、云控制器104以及云狀態(tài)數(shù)據(jù)庫106。在使用中,如以下更詳細地討論的,每個計算節(jié)點102將一個或多個虛擬機實例化以便執(zhí)行計算任務(wù)。每個計算節(jié)點102監(jiān)測其性能(包括高速緩存競爭),并且生成競爭和容量分數(shù)。每個計算節(jié)點102的競爭分數(shù)存儲在云狀態(tài)數(shù)據(jù)庫106中。云控制器104監(jiān)測競爭分數(shù)并且基于計算節(jié)點102中的每個計算節(jié)點的報告競爭分數(shù)來調(diào)度新的虛擬機。在一個實施例中,每個計算節(jié)點102可以被具體化為能夠執(zhí)行本文中所描述的功能的任何類型的計算設(shè)備或計算機設(shè)備,包括但不限于:計算機、多處理器系統(tǒng)、服務(wù)器、機架式服務(wù)器、刀片式服務(wù)器、膝上型計算機、筆記本計算機、網(wǎng)絡(luò)設(shè)備、web設(shè)備、分布式計算系統(tǒng)、基于處理器的系統(tǒng)和/或消費者電子設(shè)備。每個計算節(jié)點102說明性地包括兩個處理器120、輸入/輸出子系統(tǒng)132、存儲器134、數(shù)據(jù)存儲設(shè)備136以及通信電路系統(tǒng)138。當然,在其他實施例中,計算節(jié)點102可以包括其他部件或附加部件,比如,服務(wù)器設(shè)備中常見的部件(例如,各種輸入/輸出設(shè)備)。另外地,在一些實施例中,說明性部件中的一個或多個說明性部件可以結(jié)合在另一部件中,或以其他方式形成其一部分。例如,在一些實施例中,存儲器134或其部分可可以結(jié)合在一個或多個處理器120中。每個處理器120可以被具體化為能夠執(zhí)行本文中所描述的功能的任何類型的處理器。每個說明性處理器120是多核處理器,然而,在其他實施例中,每個處理器120可以被具體化為(多個)單核處理器或多核處理器、數(shù)字信號處理器、微控制器或其他處理器或處理/控制電路。每個處理器120說明性地包括四個處理器核122和非核126。處理器核122中的每個處理器核是能夠執(zhí)行編程指令的獨立處理單元。每個處理器核122包括性能監(jiān)測單元(“pmu”)124。每個pmu124可以被具體化為能夠記錄并監(jiān)測指令流過對應(yīng)處理器核122的許多性能計數(shù)器。例如,每個pmu124可能能夠?qū)r鐘周期、下發(fā)的指令、引退的指令、高速緩存未命中或類似事件進行計數(shù)。pmu124可以被編程成用于使用處理器核122的模型-5特定寄存器來監(jiān)測特定性能統(tǒng)計。在一個實施例中,每個pmu124可以包括四個可完全編程的硬件計數(shù)器和三個固定功能硬件計數(shù)器。軟件可以使用如linux內(nèi)核的“perf”子系統(tǒng)等內(nèi)核接口來訪問pmu124。在其他實施例中,盡管說明性計算節(jié)點102中的每個說明性計算節(jié)點包括具有8個處理器核122的四個插槽的兩個處理器120,但是每個計算節(jié)點102可以包括各自具有一個、兩個或更多個處理器核122的一個、兩個或更多個處理器120。具體地,本公開還適用于單處理器或單核計算節(jié)點102。每個處理器120還包括非核126。在說明性實施例中,每個非核126包括處理器120的未包括在處理器核122中的任何部分(例如,特定處理器120的除了處理器核122本身以外的所有部件)。例如,每個說明性處理器120的非核126包括pmu128和高速緩存存儲器130。類似于處理器核122的pmu124,pmu128監(jiān)測非核126的性能統(tǒng)計,并且可以包括許多可編程或固定功能硬件性能計數(shù)器。高速緩存存儲器130可以是由處理器核122共享的最后一級高速緩存。在一些實施例中,pmu128可以監(jiān)測對高速緩存存儲器130的訪問,包括記錄高速緩存未命中、所轉(zhuǎn)移的數(shù)據(jù)量以及其他高速緩存信息。盡管未被展示,但是非核126可以另外地包括處理器或片上系統(tǒng)的典型部件。例如,每個非核126可以包括存儲器控制器、處理器圖形、輸入/輸出控制器、電源管理電路系統(tǒng)或處理器120的其他部件。存儲器134可以被具體化為能夠執(zhí)行本文中所描述的功能的任何類型的易失性或非易失性存儲器或數(shù)據(jù)存儲設(shè)備。在操作中,存儲器134可以存儲在對計算節(jié)點102的操作期間所使用的各種數(shù)據(jù)和軟件,比如,操作系統(tǒng)、應(yīng)用、程序、庫和驅(qū)動程序。存儲器134經(jīng)由i/o子系統(tǒng)132通信地耦合至處理器120,所述i/o子系統(tǒng)可以被具體化為用于促進與計算節(jié)點102的處理器120、存儲器134和其他部件的輸入/輸出操作的電路系統(tǒng)和/或部件。例如,i/o子系統(tǒng)132可以被具體化為或者以其他方式包括存儲器控制器集線器、輸入/輸出控制集線器、固件設(shè)備、通信鏈路(即,點對點鏈路、總線鏈路、導(dǎo)線、線纜、光導(dǎo)、印刷電路板跡線等)和/或其他部件和子系統(tǒng)以便促進輸入/輸出操作。在一些實施例中,i/o子系統(tǒng)132可以形成片上系統(tǒng)(soc)的一部分并且可以與計算節(jié)點102的處理器120、存儲器134和其他部件一起結(jié)合在單個集成5電路芯片上。數(shù)據(jù)存儲設(shè)備136可以被具體化為被配置成用于對數(shù)據(jù)進行短期或長期存儲的任何類型的一種或多種設(shè)備,如例如,存儲器設(shè)備和電路、存儲器卡、硬盤驅(qū)動器、固態(tài)驅(qū)動器或其他數(shù)據(jù)存儲設(shè)備。數(shù)據(jù)存儲設(shè)備136可以存儲由計算節(jié)點102監(jiān)測的性能統(tǒng)計。計算節(jié)點102的通信電路系統(tǒng)138可以被具體化為能夠通過網(wǎng)絡(luò)810使計算節(jié)點102、云控制器104、云狀態(tài)數(shù)據(jù)庫106和/或其他遠程設(shè)備之間的通信成為可能的任何通信電路、設(shè)備或其集合。通信電路系統(tǒng)138可以被配置成用于使用任何一種或多種通信技術(shù)(例如,有線或無線通信)以及相關(guān)聯(lián)的協(xié)議(例如,以太網(wǎng)、wimax等)來實現(xiàn)這種通信。在一個實施例中,云控制器104對在系統(tǒng)100的計算節(jié)點102之間分布的虛擬機或其他計算示例進行管理。云控制器104可以被具體化為能夠施行本文中所描述的功能的任何類型的服務(wù)器計算設(shè)備或者設(shè)備集合。如此,云控制器104可以被具體化為單個服務(wù)器計算設(shè)備或服務(wù)器和關(guān)聯(lián)設(shè)備的集合。例如,在一些實施例中,云控制器104可以被具體化為由跨網(wǎng)絡(luò)108分布并在公共或私有云中進行操作的多個計算設(shè)備形成的“虛擬服務(wù)器”。因此,盡管云控制器104在圖1中被展示為被具體化為單個服務(wù)器計算設(shè)備,但是應(yīng)當理解的是,云控制器104可以被具體化為一起協(xié)作以便促進以下所描述的功能的多個設(shè)備。說明性地,云控制器104包括處理器140、i/o子系統(tǒng)142、存儲器144、數(shù)據(jù)存儲設(shè)備146、通信電路系統(tǒng)148和/或服務(wù)器或類似計算設(shè)備中常見的其他部件和設(shè)備。云控制器104的那些單獨部件可以類似于計算節(jié)點102的相應(yīng)部件,對所述相應(yīng)部件的描述適用于云控制器104的相應(yīng)部件并且在本文中不加以重復(fù),以免模糊本公開。云狀態(tài)數(shù)據(jù)庫106存儲在系統(tǒng)100內(nèi)同步的信息,包括性能統(tǒng)計。云狀態(tài)數(shù)據(jù)庫106可被具體化為專用數(shù)據(jù)庫服務(wù)器、分布式數(shù)據(jù)存儲設(shè)備或能夠維持系統(tǒng)100的一致狀態(tài)的任何其它數(shù)據(jù)存儲系統(tǒng)。如此,云狀態(tài)數(shù)據(jù)庫106的副本或部分可以存儲在每個計算節(jié)點102的數(shù)據(jù)存儲設(shè)備136和/或云控制器104的數(shù)據(jù)存儲設(shè)備146中??梢允褂萌魏瓮ㄐ艆f(xié)議來在計算節(jié)點102、云控制器104和/或云狀態(tài)數(shù)據(jù)庫106之間傳遞更新的云狀態(tài)信息。在一些實施例中,可以使用消息總線(例如,實施如rabbitmq等高級消息隊列協(xié)議(amqp)的消息總線)來異步地傳遞云狀態(tài)信息。如以下更詳細地討論的,計算節(jié)點102、云控制器104和云狀態(tài)數(shù)據(jù)庫106可以被配置成用于通過網(wǎng)絡(luò)108與彼此和/或系統(tǒng)100的其他設(shè)備發(fā)射和接收數(shù)據(jù)。網(wǎng)絡(luò)108可以被具體化為任何數(shù)量的各種有線和/或無線網(wǎng)絡(luò)。例如,網(wǎng)絡(luò)108可以被具體化為或以其他方式包括有線或無線局域網(wǎng)(lan)、有線或無線廣域網(wǎng)(wan)、蜂窩網(wǎng)絡(luò)和/或可公開訪問的全球網(wǎng)絡(luò)(比如,互聯(lián)網(wǎng))。如此,網(wǎng)絡(luò)108可以包括如附加計算機、路由器和交換機等用于促進系統(tǒng)100的設(shè)備之間的通信任何數(shù)量的附加設(shè)備。圖2展示了在操作期間建立環(huán)境200的計算節(jié)點102的一個實施例。說明性環(huán)境200包括許多虛擬機202、數(shù)據(jù)收集模塊204、每虛擬機(pervm)模塊205、競爭分數(shù)確定模塊206、節(jié)點代理207和通信模塊208。環(huán)境200的各種模塊可以被具體化為硬件、固件、軟件或其組合。根據(jù)一個實施例,每個虛擬機202在計算節(jié)點102上執(zhí)行云計算工作負荷。每個虛擬機202可以被釘扎(pinned)至、分派給或以其他方式分配給處理器核122中的一個或多個處理器核。在一些實施例中,每個虛擬機202可以指定許多期望虛擬cpu,并且虛擬機202可以被分派給所述數(shù)量的處理器核122。在多租戶云計算環(huán)境中,每個虛擬機202可由不同實體控制并且因此另外地可以執(zhí)行具有不同性能特性的工作負荷。具體地,每個虛擬機202可以向計算節(jié)點102的高速緩存存儲器130施加不同壓力。如以下所描述的,虛擬機202由云控制器104進行實例化并以其他方式進行管理。數(shù)據(jù)收集模塊204收集計算節(jié)點102的性能數(shù)據(jù)。數(shù)據(jù)收集模塊204可以收集指示計算節(jié)點102上的高速緩存競爭的數(shù)據(jù),例如,測量高速緩存存儲器130中的高速緩存未命中的數(shù)據(jù)。數(shù)據(jù)收集模塊204可以包括用于計算節(jié)點102的每個處理器120和/或處理器核122的或者用于每個虛擬機302的單獨數(shù)據(jù)收集器。數(shù)據(jù)收集模塊204可以對所收集的數(shù)據(jù)進行過濾以便移除噪聲。數(shù)據(jù)收集模塊204的數(shù)據(jù)收集器可以例如使用如zeromq消息總線等消息總線來彼此異步地通信。每vm監(jiān)測器205監(jiān)測虛擬機202的利用率和性能。在一個實施例中,每vm監(jiān)測器205識別虛擬機在什么時候是活躍的。在這種實施例中,每vm監(jiān)測器205使用硬件事件來監(jiān)測使用每線程id的虛擬機或進程活動。進一步地,每vm監(jiān)測器205維持每個進程的線程id的列表并使用性能分工具(例如,linux性能計數(shù)器(perf))以預(yù)定間隔(例如,每秒)對每線程id硬件計數(shù)器進行采樣。在仍進一步實施例中,每vm監(jiān)測器205將每線程監(jiān)測數(shù)據(jù)分組成由數(shù)據(jù)收集模塊204獲取的每進程性能。競爭分數(shù)確定模塊206根據(jù)由數(shù)據(jù)收集模塊204收集的性能數(shù)據(jù)來計算競爭分數(shù)。競爭分數(shù)可以包括競爭度量和競爭分數(shù)水平兩者。競爭度量可以包括描述計算節(jié)點102的所有處理器120的高速緩存未命中的聚合數(shù)據(jù)。競爭分數(shù)水平可以通過啟發(fā)式算法來生成,并且可以選自低競爭水平、中等競爭水平和高競爭水平(例如,經(jīng)由量化的形式)。在一個實施例中,競爭分數(shù)對在計算節(jié)點102上經(jīng)歷的高速緩存存儲器130競爭進行測量。競爭分數(shù)可以被具體化為包括每某個參考數(shù)量的指令(例如,每千個指令)的高速緩存未命中以及競爭分數(shù)水平(例如,高競爭、中等競爭或低競爭)的元組。節(jié)點代理207實施控制進程以便在計算節(jié)點102處執(zhí)行超載設(shè)置。根據(jù)一個實施例,如以下將更詳細地描述的,節(jié)點代理從每vm監(jiān)測器205接收虛擬機監(jiān)測數(shù)據(jù)并且動態(tài)地重新調(diào)整資源以便在計算節(jié)點102處維持性能。通信模塊308向云狀態(tài)數(shù)據(jù)庫106傳輸性能數(shù)據(jù)。然后,性能數(shù)據(jù)可由云控制器104通過云狀態(tài)數(shù)據(jù)庫106來進行訪問。通信模塊308可以將競爭分數(shù)作為包括競爭度量和競爭分數(shù)水平的元組來進行傳輸。通信模塊308可以使用任何通信方法來與系統(tǒng)100的其他構(gòu)件對接。例如,通信模塊308可以被具體化為消息總線。根據(jù)一個實施例,每個計算節(jié)點102與云控制器104通信,云控制器各自可以在操作期間建立環(huán)境220。說明性環(huán)境220包括計算服務(wù)模塊222、調(diào)度器模塊224以及通信模塊226。環(huán)境220的各種模塊可以被具體化為硬件、固件、軟件或其組合。計算服務(wù)模塊222接收將新的虛擬機202實例化的請求以及對新的虛擬機202進行調(diào)度以便在由調(diào)度器模塊324選擇的計算節(jié)點102上執(zhí)行的請求。計算服務(wù)模塊222可以從任何適當來源接收命令。例如,計算服務(wù)模塊222可以從云系統(tǒng)管理員或從云計算客戶處經(jīng)由基于web的控制接口來接收命令。作為另一個示例,在一些實施例中,計算服務(wù)模塊222可以基于對計算服務(wù)的需求而接收針對新的虛擬機202的命令,例如以便進行擴展從而對應(yīng)用需求做出響應(yīng)。在進一步實施例中,計算服務(wù)模塊222在監(jiān)測應(yīng)用性能的同時基于競爭分數(shù)檢測sla違背行為。在這種實施例中,計算服務(wù)模塊222確定要被應(yīng)用以便將應(yīng)用性能恢復(fù)至指定sla的控制動作。調(diào)度器模塊224基于所接收的性能數(shù)據(jù)選擇適當?shù)挠嬎愎?jié)點102。在一些實施例中,調(diào)度器模塊224可以被具體化為選擇具有最低報告競爭分數(shù)水平的計算節(jié)點102的過濾調(diào)度器。當兩個或更多個計算節(jié)點102具有最低報告競爭分數(shù)水平時,調(diào)度器模塊224可以隨機地或通過使用任何其他可用選擇標準來選擇一個計算節(jié)點。例如,在一些實施例中,調(diào)度器模塊224可以進一步對計算節(jié)點102進行分類并且選擇具有最低競爭度量的計算節(jié)點102。通信模塊226從云狀態(tài)數(shù)據(jù)庫106接收針對系統(tǒng)100內(nèi)的所有計算節(jié)點102的性能數(shù)據(jù)。通信模塊226可以從云狀態(tài)數(shù)據(jù)庫106接收針對每個計算節(jié)點102的包括競爭度量和競爭分數(shù)水平的元組。通信模塊226可以使用任何通信方法來與系統(tǒng)100的其他構(gòu)件對接。例如,通信模塊326可以被具體化為消息總線。根據(jù)一個實施例,計算服務(wù)模塊222包括服務(wù)計算單元(scu)221。在這種實施例中,scu221就計算消耗度量而言定義服務(wù)等級目標(slo)。計算消耗度量基于處理器122性能特性(例如,執(zhí)行指令的能力)。在一個實施例中,計算消耗度量被測量為每秒千兆指令(gips)評分。當執(zhí)行僅具有某種類型(所述類型具有最低每指令周期(cpi)或最高每周期指令(ipc))的指令的程序時,處理器122實現(xiàn)峰值gips評分。因此,還在計算服務(wù)模塊222處使用操作頻率來對計算性能度量進行計算以便限制實際gips。根據(jù)一個實施例,scu221被附接至在計算服務(wù)模塊222處生成的每個計算實例。在此實施例中,將scu221乘以所分配的虛擬核從而提供虛擬機202的允許總消耗。例如,表1示出了實例類型和相應(yīng)slo。實例類型&ramcpu(虛擬核*scu)slo(示例)特大+30gb具有4個scu的4個虛擬核高特大+15gb具有2個scu的4個虛擬核中等表1根據(jù)一個實施例,計算了作為虛擬機的計算節(jié)點102的總?cè)萘亢蛢艨杖萘?。另外地,計算對向每個實例提供的ipc是否與slo相匹配進行測量。計算包括以下各項:a.scu_理論=總gipsb.scu_實際=基于操作頻率的gips。c.scu_ipc_預(yù)期=例如1.27(特定于基于specint結(jié)果的至強e5處理器)d.scu_tput_當前=基于主機上的監(jiān)測數(shù)據(jù)更新e.slo誤差=scu_理論-scu_實際f.ipc誤差%=(scu_tput_當前/scu_tput_預(yù)期)*100g.節(jié)點_容量_最大=(邏輯核*總插槽)*scu_理論h.節(jié)點_容量_分配=(總_邏輯核_分配*scu_實際)i.節(jié)點_容量_使用=pc*總_邏輯核_分配*j.節(jié)點_容量_凈空=節(jié)點_容量_最大-節(jié)點_容量_分配圖3是流程圖,展示了用于執(zhí)行對虛擬機的slo管理的進程300的一個實施例。方法300可以由處理邏輯執(zhí)行,所述處理邏輯可以包括硬件(例如,電路系統(tǒng)、專用邏輯、可編程邏輯等)、軟件(比如,在處理設(shè)備上運行的指令)或其組合。為了呈現(xiàn)的簡明和清晰的起見,以線性順序來展示了方法300的進程;然而,設(shè)想了可以并行地、異步地或以不同順序來執(zhí)行任何數(shù)量的進程。為了簡明、清晰和易于理解起見,此處可以不討論或重復(fù)參考圖1和圖2而討論的細節(jié)中的許多細節(jié)。在處理框305處,響應(yīng)于將新的虛擬機202實例化的請求而在于計算服務(wù)模塊222處實施的用戶接口中提供與在表1中所示出的實例類型類似的實例類型以及sla。因此,使用屬于由scu221指定且支持的多個實例類型之一的計算服務(wù)模塊222來創(chuàng)建虛擬機。在處理框310處,計算服務(wù)模塊222識別對虛擬機202的資源需求。在處理框315處,調(diào)度器224識別要將虛擬機202調(diào)度到其上的計算節(jié)點102。在一個實施例中,調(diào)度器模塊224將虛擬機202的資源需求以及各種控制節(jié)點102的當前狀態(tài)考慮在內(nèi)以便確定對虛擬機202的初始放置。在處理框320處,調(diào)度器模塊224將虛擬機220調(diào)度到所識別計算節(jié)點102上。在處理框325處,將虛擬機202的slo參數(shù)存儲在數(shù)據(jù)庫106內(nèi)并且將其傳輸至所識別的計算節(jié)點102處的節(jié)點代理207,在所述所識別的計算節(jié)點處,將執(zhí)行虛擬機202(例如,使用rabbitmq消息)。在處理框330處,將slo參數(shù)映射到計算節(jié)點102上的資源上。在處理框330處,虛擬機202在計算節(jié)點102處開始操作。根據(jù)一個實施例,根據(jù)以下所描述的公平超載設(shè)置進程來在計算節(jié)點102處實施調(diào)整。在處理框340處,每vm監(jiān)測器205測量虛擬機202的利用率和性能。因為應(yīng)用展現(xiàn)出相變或者隨著時間而經(jīng)歷變化的負載,所以資源利用率也變化。由于在計算節(jié)點102上執(zhí)行的虛擬機202中的所有虛擬機內(nèi)的這種變化,興趣虛擬機202所面臨的競爭也變化。因此,可以基于由每vm監(jiān)測器205進行的連續(xù)監(jiān)測來執(zhí)行動態(tài)重新調(diào)整。在決策框345處,節(jié)點代理207基于從每vm監(jiān)測器205接收的監(jiān)測性能結(jié)果來判定虛擬機202性能是否低于slo參數(shù)。根據(jù)一個實施例,節(jié)點代理207基于所分配的slo參數(shù)來使用當前虛擬機202性能和預(yù)期虛擬機202性能。如果虛擬機202性能不低于slo參數(shù),則控制返回至處理框340,在所述處理框處,繼續(xù)監(jiān)測虛擬機202。然而,如果虛擬機202性能低于slo參數(shù),則在處理框350處發(fā)起糾正動作。在一個實施例中,對資源分配的變化的幅度進行計算以便修改資源分配從而實現(xiàn)預(yù)期性能。根據(jù)一個實施例,節(jié)點代理207可以執(zhí)行提升(boosting)動作、節(jié)流(throttling)動作或遷移(migration)動作以便調(diào)整資源分配。當應(yīng)用性能下降到預(yù)期水平以下時,提升增加資源。節(jié)流減少向應(yīng)用提供的資源。在一個實施例中,當這種資源減少不導(dǎo)致sla違背行為時,發(fā)起減少。例如,當提供了附加高速緩存時,流應(yīng)用并不展現(xiàn)出高速緩存未命中率的減小。類似地,當高速緩存可用性減小時,高速緩存未命中率不顯著增大。遷移涉及將虛擬機202遷移到或者同一計算節(jié)點102上的不同插槽上或者遷移到不同計算節(jié)點102上,以便減小來自有噪聲的鄰居的干擾。這有效地增加了可用于被遷移的虛擬機202的資源。根據(jù)一個實施例,節(jié)點代理207實施資源控制來限制、考慮并隔離資源利用率(例如,cpu、存儲器、磁盤i/o等)從而管理cpu控制器和cpuset控制器子系統(tǒng),以便通過減小資源競爭和增大性能可預(yù)測性來滿足應(yīng)用sla,并且以便阻止單個虛擬機或虛擬機組獨占資源或影響其他環(huán)境。圖4展示了用于執(zhí)行虛擬機資源分配的高級功能描述的一個實施例。在一個實施例中,實施用戶空間守護進程(控制服務(wù)代理或csa)402以便與內(nèi)核資源組子系統(tǒng)404交互從而初始化并安裝資源組控制器。另外地,csa與虛擬化管理守護進程服務(wù)406交互以便執(zhí)行對計算節(jié)點102資源的資源分配和分區(qū)以及動態(tài)資源分派。cpuset提供用于將pcpu集合分派給虛擬vcpu集合以便使映射成為可能從而將對虛擬機的cpu放置僅限制到vm的當前cpuset內(nèi)的資源的機構(gòu)。在一個實施例中,映射形成了在由csa控制的虛擬文件系統(tǒng)中可見的嵌套分層結(jié)構(gòu)。資源組子系統(tǒng)404限定用于每個虛擬機的cpu時間份額。csa402使用此組來管理cpu份額,其中,每個組分層次地獲得份額。在一個實施例中,cpu份額被默認設(shè)置為1024。然而,將cpu份額設(shè)置為更高值為cpu組提供cpu的更高量子,這通過csa402對虛擬機進行提升或節(jié)流來執(zhí)行。根據(jù)一個實施例,os調(diào)度器410是提供調(diào)度(例如,輪詢或公平份額)的路由器。圖5展示了虛擬機份額分配的一個實施例。根據(jù)一個實施例,固定資源分配模型在所有虛擬機之間分區(qū)系統(tǒng)資源,從而使得所請求的總資源等于可用資源。在這種實施例中,虛擬機所請求的資源基于其最大消耗,從而使得:然而,由于相位變化,虛擬機并不連續(xù)地消耗所請求的資源中的所有資源。因此,可以對資源進行超載設(shè)置并且可以在虛擬機之間共享資源。在超載設(shè)置環(huán)境中,可用總系統(tǒng)資源將比每個vm所需要的資源之和更少。如在以下資源模型中所示出的那樣動態(tài)地重新分派資源:根據(jù)一個實施例,可以通過在每核的基礎(chǔ)上邏輯地分區(qū)處理器120資源從而實施資源優(yōu)化和公平超載設(shè)置。這種邏輯劃分方式適合于將以被排他地包含在核中的方式來實施對虛擬機的放置的場景,在所述核中,任何其他虛擬機都不為了所述核內(nèi)的可用帶寬而進行競爭。例如,可以使用這種方式來處理有噪聲的鄰居場景。圖6是流程圖,展示了用于執(zhí)行公平超載設(shè)置的進程600的一個實施例。方法600可以由處理邏輯執(zhí)行,所述處理邏輯可以包括硬件(例如,電路系統(tǒng)、專用邏輯、可編程邏輯等)、軟件(比如,在處理設(shè)備上運行的指令)或其組合。為了呈現(xiàn)的簡明和清晰的起見,以線性順序來展示了方法600的進程;然而,設(shè)想了可以并行地、異步地或以不同順序來執(zhí)行任何數(shù)量的進程。為了簡明、清晰和易于理解起見,此處可以不討論或重復(fù)參考圖1至圖5而討論的細節(jié)中的許多細節(jié)。在處理框68處,使用資源組404cpu和cpuset控制器子系統(tǒng)來創(chuàng)建系統(tǒng)拓撲結(jié)構(gòu)。在處理框620處,由csa將這些子系統(tǒng)安裝在指定路徑處。在處理框630處,創(chuàng)建系統(tǒng)默認池以便為要運行的系統(tǒng)守護進程和其他進程專有地預(yù)留一些cpu核。在處理框640處,在每插槽的基礎(chǔ)上通過邏輯地為屬于特定插槽的所有邏輯核創(chuàng)建資源組cpuset來創(chuàng)建附加池。在處理框650處,調(diào)度器模塊224將虛擬機202調(diào)度到計算節(jié)點102上并且與每個虛擬機202一起發(fā)送slo消息(所述消息包括虛擬機202要在其上運行的vcpu的數(shù)量)連同其他元件(例如,所請求的計算服務(wù)模塊222)。在處理框660處,放置虛擬機202,并且將所請求的計算服務(wù)模塊222轉(zhuǎn)換成cgroup404cpu份額。因此,確保了最小保證。根據(jù)一個實施例,通過將與虛擬機相對應(yīng)的vcpu釘扎到cpuset子系統(tǒng)上來執(zhí)行虛擬機202放置。此外,在具有虛擬機通用唯一標識符(uuid)的cpu控制器資源組子系統(tǒng)下創(chuàng)建新的分層結(jié)構(gòu)作為新的控制組。只要利用了總平臺容量,調(diào)度器模塊224就可以將附加虛擬機放置到計算節(jié)點102上。在處理框670處,執(zhí)行開始。在一個實施例中,虛擬機202運行時間動態(tài)通常指示即使虛擬機202slo請求更多的cpu帶寬預(yù)留,但是實際利用率更小。這允許計算服務(wù)模塊222做出通過預(yù)定義超載設(shè)置因子來緊密充填負載的決定。在進一步實施例中,在達到平臺容量時,做出虛擬機202遷移決定,以便履行其slo。以上所述模型提供了可以被利用并且可以向參與虛擬機202提供差異化服務(wù)質(zhì)量的強大且靈活的資源控制集以及寬范圍的資源管理策略。圖7是流程圖,展示了用于執(zhí)行公平超載設(shè)置的進程700的一個實施例。方法700可以由處理邏輯執(zhí)行,所述處理邏輯可以包括硬件(例如,電路系統(tǒng)、專用邏輯、可編程邏輯等)、軟件(比如,在處理設(shè)備上運行的指令)或其組合。為了呈現(xiàn)的簡明和清晰的起見,以線性順序來展示了方法700的進程;然而,設(shè)想了可以并行地、異步地或以不同順序來執(zhí)行任何數(shù)量的進程。為了簡明、清晰和易于理解起見,此處可以不討論或重復(fù)參考圖1至圖5而討論的細節(jié)中的許多細節(jié)。在處理框705處,在每插槽的基礎(chǔ)上創(chuàng)建平臺拓撲結(jié)構(gòu)。在一個實施例中,每插槽地預(yù)留cpu池,從而使得:其中,計算服務(wù)模塊222=2個scu。在處理框78處,運行循環(huán)以便接受針對由調(diào)度器224調(diào)度的新虛擬機202的傳入slo消息。在一個實施例中,虛擬機slo消息包括對每虛擬機202每個vcpu的scu需求。在處理框715處,通過將虛擬機202放置到適當插槽上來履行虛擬機slo。在一個實施例中,通過使用資源組404來將vcpu釘扎到屬于特定插槽的邏輯cpu上來執(zhí)行此進程。在處理框720處,使用成比例的資源組404份額來保證虛擬機202預(yù)留。另外地,施加與包括在slo消息中的預(yù)留值相等的限制。在處理框725處,對每插槽總使用scu進行計算,并更新數(shù)據(jù)庫106。在處理框730處,分派附加虛擬機202,直到:∑所請求的vm≤總插槽gip一旦滿足所述條件就達到完全容量。隨后,觀察器循環(huán)周期性地進行檢查以便檢測每插槽總使用scu。由于虛擬機202通常消耗比所請求的資源少得多的資源,所以經(jīng)常執(zhí)行超載設(shè)置。然而,當虛擬機202正使用所請求的資源時,無法實現(xiàn)超載設(shè)置。根據(jù)一個實施例,在以下條件下針對因子ρ而發(fā)生超載設(shè)置:∑vm當前利用率≤總請求scu,其中,ρ=總插槽scu-∑vm當前利用率-τ,其中,τ=8%在決策框735處,做出關(guān)于當前使用的虛擬機scu的總數(shù)是否≥90%插槽scu的確定。如果未滿足所述條件,則控制返回至處理框730,在所述處理框處,向插槽分派附加虛擬機。然而,對當前使用的虛擬機scu的總數(shù)≥90%插槽scu的確定指示虛擬機220中的一個或多個虛擬機現(xiàn)在嘗試使用其預(yù)留scu。然而,當總使用scu變成100%的插槽容量(例如,已經(jīng)對資源進行超載設(shè)置)時,虛擬機220將很快開始變差。在處理框470處,每vm監(jiān)測器205讀取數(shù)據(jù)以便識別哪個虛擬機220正試圖請求其份額。在一個實施例中,數(shù)據(jù)包括從處理器120內(nèi)的寄存器中讀取的遙測數(shù)據(jù)以及映射到虛擬機220上的性能事件。在進一步實施例中,虛擬機220被臨時分派給cpu池中的cpu。在進一步實施例中,觀察器循環(huán)在預(yù)定時間間隔內(nèi)監(jiān)測系統(tǒng)以便判定系統(tǒng)是否達到平衡狀態(tài)。在這種實施例中,如果有必要,對ρ進行重新調(diào)整以便維持穩(wěn)定狀態(tài)。在處理框745處,基于確保對云的最小干擾的策略來遷移所識別的虛擬機220。示例性計算機系統(tǒng)1000包括處理器1002;主存儲器1004(例如,只讀存儲器(rom);閃存存儲器;如同步dram(sdram)或ram總線dram(rdram)等動態(tài)隨機存取存儲器(dram);如閃存存儲器、靜態(tài)隨機存取存儲器(sram)、易失性但高數(shù)據(jù)速率ram等靜態(tài)存儲器);以及輔助存儲器818(例如,包括硬盤驅(qū)動器的持久存儲設(shè)備以及持久多租戶數(shù)據(jù)基礎(chǔ)實施方式),所述部件經(jīng)由總線830彼此通信。主存儲器1004包括發(fā)射執(zhí)行數(shù)據(jù)1024(例如,由日志記錄框架發(fā)射的數(shù)據(jù))以及一個或多個軌跡偏好1023,所述軌跡偏好結(jié)合處理邏輯1026和處理器1002進行操作以便執(zhí)行本文中所討論的方法。處理器1002表示一個或多個通用處理設(shè)備,比如,微處理器、中央處理單元等。更具體地,處理器1002可以是復(fù)雜指令集計算(cisc)微處理器、精簡指令集計算(risc)微處理器、超長指令字(vliw)微處理器、實施其他指令集的處理器或?qū)嵤┲噶罴M合的處理器。處理器1002還可以是一個或多個專用處理設(shè)備,比如,專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)、數(shù)字信號處理器(dsp)、網(wǎng)絡(luò)處理器等。處理器1002被配置成用于執(zhí)行處理邏輯1026以便執(zhí)行上述機構(gòu)的操作和功能。計算機系統(tǒng)1000可以進一步包括網(wǎng)絡(luò)接口卡1008。計算機系統(tǒng)1000還可以包括用戶接口810(比如,視頻顯示單元、液晶顯示器(lcd)或陰極射線管(crt))、字母數(shù)字輸入設(shè)備812(例如,鍵盤)、光標控制設(shè)備814(例如,鼠標)以及信號發(fā)生設(shè)備816(例如,集成揚聲器)。計算機系統(tǒng)1000可以進一步包括外圍設(shè)備836(例如,無線或有線通信或設(shè)備、存儲器設(shè)備、存儲設(shè)備、音頻處理設(shè)備、視頻處理設(shè)備等)。計算機系統(tǒng)1000可以進一步包括能夠執(zhí)行傳入服務(wù)請求并響應(yīng)于對這種傳入請求的完成而發(fā)射執(zhí)行數(shù)據(jù)的基于硬件的api日志記錄框架834。輔助存儲器818可包括機器可讀存儲介質(zhì)(或更具體地,機器可訪問存儲介質(zhì))831,在所述機器可讀存儲介質(zhì)上存儲有將以上所描述方法或功能中的任何一者或多者具體化的一個或多個指令集(例如,軟件1022)。在計算機系統(tǒng)1000、主存儲器1004及同樣構(gòu)成機器可讀存儲介質(zhì)的處理器1002執(zhí)行軟件1022期間,所述軟件還可以完全或至少部分地駐留于主存儲器1004內(nèi)和/或處理器1002內(nèi)。軟件1022可以進一步經(jīng)由網(wǎng)絡(luò)接口卡1008通過網(wǎng)絡(luò)1020發(fā)送或接收。機器可讀存儲介質(zhì)831可以包括瞬態(tài)或非瞬態(tài)機器可讀存儲介質(zhì)。各種實施例的部分可以作為計算機程序產(chǎn)品而提供,所述計算機程序產(chǎn)品可以包括具有存儲于其上的計算機程序指令的機器可讀的介質(zhì),所述指令可以用于對計算機(或其他電子設(shè)備)進行編程以便執(zhí)行根據(jù)實施例的進程。機器可讀介質(zhì)可以包括但不限于軟盤、光盤、cd盤只讀存儲器(cd-rom)、以及磁光盤、rom、ram、可擦除可編程只讀存儲器(eprom)、電eprom(eeprom)、磁卡或光卡、閃存存儲器或者適合于存儲電子指令的其他類型的介質(zhì)/機器可讀介質(zhì)??梢允褂迷谝粋€或多個電子設(shè)備(例如,終端站、網(wǎng)絡(luò)元件等)上存儲和執(zhí)行的代碼和數(shù)據(jù)來實施附圖中所示出的技術(shù)。這種電子設(shè)備使用如非瞬態(tài)計算機可讀存儲介質(zhì)等計算機可讀介質(zhì)(例如磁盤;光盤;隨機存取存儲器;只讀存儲器;閃存存儲器設(shè)備;相變存儲器)以及瞬態(tài)計算機可讀存儲介質(zhì)(例如,電氣、光學(xué)、聲學(xué)或其他形式的傳播信號,比如,載波、紅外信號、數(shù)字信號)來存儲并傳達(內(nèi)部地和/或通過網(wǎng)絡(luò)與其他電子設(shè)備)代碼及數(shù)據(jù)。此外,這種電子設(shè)備通常包括耦合至一個或多個其他部件的一組一個或多個處理器,比如,一個或多個存儲設(shè)備(非瞬態(tài)機器可讀存儲介質(zhì))、用戶輸入/輸出設(shè)備(例如,鍵盤、觸摸屏、和/或顯示器)以及網(wǎng)絡(luò)連接。所述一組處理器和其他部件的耦合通常通過一個或多個總線和橋接器(也被稱為總線控制器)。因此,給定電子設(shè)備的存儲設(shè)備通常存儲用于在所述電子設(shè)備的所述一組的一個或多個處理器上執(zhí)行的代碼和/或數(shù)據(jù)。當然,可以使用軟件、固件和/或硬件的不同組合來實施實施例的一個或多個部分。實施例可以被實施為以下各項中的任何一項或組合:使用母板互連的一個或多個微芯片或集成電路、硬連線邏輯、由存儲器設(shè)備存儲且由微處理器執(zhí)行的軟件、固件、專用集成電路(asic)和/或現(xiàn)場可編程門陣列(fpga)。通過示例的方式,術(shù)語“邏輯”可以包括軟件或硬件和/或軟件和硬件的組合。此外,實施例可以作為計算機程序產(chǎn)品被下載,其中,可以經(jīng)由通信鏈路(例如,調(diào)制解調(diào)器和/或網(wǎng)絡(luò)連接),借助于在載波或其他傳播介質(zhì)中具體化和/或由載波或其他傳播介質(zhì)調(diào)制的一個或多個數(shù)據(jù)信號來將程序從遠程計算機(例如,服務(wù)器)傳輸至請求計算機(例如,客戶端)。對“一個實施例”、“實施例”、“示例實施例”、“各種實施例”等的引用指示:如此描述的(多個)實施例可以包括特定特征、結(jié)構(gòu)或特性,但并非每一個實施例必定包括這些特定的特征、結(jié)構(gòu)或特性。進一步地,一些實施例可具有針對其他實施例而描述的特征中的一些特征、全部特征或不具有任何所述特征。在以下說明書和權(quán)利要求書中,可以使用術(shù)語“耦合”及其衍生詞。“耦合”用于指示兩個或更多個元件彼此協(xié)作或相互作用,但是它們之間可以具有或不具有中間物理或電氣部件。如權(quán)利要求書中所使用的,除非另有說明,否則使用序數(shù)形容詞“第一”、“第二”、“第三”等來描述公共元件僅指示類似元件的不同實例被提及,并不旨在暗示如此描述的元件必須采用給定順序,無論是時間、空間、等級或以任何其他方式。以下條款和/或示例涉及進一步實施例或示例??稍谝粋€或多個實施例中的任何地方使用示例中的細節(jié)??梢砸愿鞣N方式將不同的實施例或示例的各種特征與所包括的一些特征以及被排除的其他特征組合以適應(yīng)各種不同的應(yīng)用。示例可以包括主題,比如,方法;用于執(zhí)行所述方法的動作的裝置;至少一種包括指令的機器可讀介質(zhì),所述指令當由機器執(zhí)行時使所述機器執(zhí)行所述方法的動作;或用于促進根據(jù)本文中所描述的實施例和示例的混合通信的裝置或系統(tǒng)。一些實施例涉及包括一種云計算集群的計算節(jié)點的示例1,所述計算節(jié)點包括節(jié)點代理,所述節(jié)點代理用于從云控制器接收虛擬機和服務(wù)等級目標計算消耗度量(servicelevelobjectivecomputeconsumptionmetric,slo)參數(shù)并且將所述slo參數(shù)映射到在所述計算節(jié)點處的資源上;以及每vm監(jiān)測器,所述每vm監(jiān)測器用于監(jiān)測所述虛擬機的性能,其中,所述節(jié)點代理從所述每vm監(jiān)測器接收性能數(shù)據(jù)并且基于所述性能數(shù)據(jù)來動態(tài)地調(diào)整所述虛擬機的性能。示例2包括如示例1所述的主題,其中,所述每vm監(jiān)測器使用硬件事件來監(jiān)測使用每線程標識符的所述虛擬機活動。附圖和前述描述給出了實施例的示例。本領(lǐng)域技術(shù)人員將理解,所描述的元件中的一個或多個元件可以被良好地組合成單個功能元件??商娲?,某些元件可以分成多個功能元件。來自一個實施例的元件可以被添加到另一個實施例中。例如,本文中所描述的進程的順序可以改變并且不限于本文中所描述的方式。此外,任何流程圖中的動作不需要以所示出的順序來實施,也不一定需要執(zhí)行所有動作。而且,可以與其他動作并行地執(zhí)行不依賴于其他動作的那些動作。實施例的范圍決不限于這些特定示例。無論是否在說明書中明確給出,如材料的結(jié)構(gòu)、尺寸和用途上的差異等許多變化都是可能的。實施例的范圍至少與以下權(quán)利要求書給出范圍一樣寬。當前第1頁12
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
新巴尔虎右旗| 新晃| 巨鹿县| 南召县| 宜阳县| 象州县| 宁安市| 海兴县| 宿迁市| 漳浦县| 正阳县| 仁化县| 丹棱县| 景德镇市| 民权县| 辽阳县| 怀仁县| 肃南| 道孚县| 正阳县| 塔城市| 龙川县| 莱阳市| 柏乡县| 江达县| 日照市| 库伦旗| 靖边县| 金门县| 清原| 沙洋县| 房山区| 阳朔县| 霍州市| 平乐县| 澄江县| 建阳市| 武宣县| 越西县| 白沙| 静乐县|