Intel

因為伺服器虛擬化應用的普及與興盛,資料中心基礎架構對於運算、儲存、網路等IT資源的調度指揮(orchestrate),以及自動產生系統執行環境(Automated Provisioning)的工作變得非常頻繁,連帶產生資源分配不均的管理難題。在英特爾新推出的Xeon E5-2600 v4所新添加的眾多特色當中,就有一項是專門針對這樣的需求而發展出來,那就是資源督導技術Resource Director Technology(RDT),透過它,可協助IT人員能夠進一步掌握與控管伺服器平臺的資源,促使資源調度變得更為敏捷,協助企業IT環境能加速轉型,邁向更為全面、也更自動化的軟體定義IT基礎架構。

RDT目前包含4大技術:在Xeon E5-2600 v3時期推出的快取監控技術(Cache Monitoring Technology,CMT),以及快取配置技術(Cache Allocation Technology),再加上新的記憶體頻寬監控技術(Memory Bandwidth Monitoring,MBM),以及程式碼與資料優先存取技術(Code and Data Prioritization,CDP)。

有了這些資源管理技術,使得作業系統與Hypervisor藉由處理器平臺的協助,能夠管理與監督在伺服器共用的快取與記憶體資源,而且,RDT能掌控的程度更為進階,可透過特定模型暫存器(Model Specific Register,MSR)的控制,深入系統核心(Ring 0)執行。

此外,RDT可以相容於現有英特爾處理器所普遍內建的超執行緒技術(Hyper-Threading Technology),彼此可共同合作。對於經常改變的作業系統與Hypervisor執行狀態,RDT也適用。

整體而言,RDT的應用範圍,可涵蓋處理器快取與系統記憶體頻寬,針對這兩項競爭最激烈的資源,提供動態觀察與觀察能力,能採取被動監督與主動配置的作法──每一支應用程式、作業系統與虛擬機器的資源用量,對處理器而言,將變得更為透明;此外,資源用量也將基於每一支應用程式、作業系統與虛擬機器的層級,予以不同的區分與配置。不過,可惜的是,Xeon E5-2600 v4目前對於處理器快取的管理較為完善,而對於記憶體頻寬只能進行監督,但尚未支援配置。

有了RDT之後,整體而言,伺服器因為虛擬機器、應用程式執行環境的提供所引發的資料移動,能根據對應的優先順序、服務等級來調度指揮資源,而不是任憑搶奪、佔用,同時,還能減少非必要的資料傳輸作業。

對於資料中心的維運來說,若能運用RDT,在高度導入伺服器虛擬化環境下,可以將這些快取與記憶體資源的利用,提升到新的層次,並且適應因為業務持續變動所提出的各種IT環境要求,還能支援需線上遷移到其他資料中心位置的工作負載。

隨著英特爾在3月31日正式推出Xeon E5-2600 v4,該公司也同步宣布有多家企業採用RDT這項技術,像是全世界最大的證券交易所NASDAQ,該公司架構與效能工程首席技術專家Sandeep Rao表示,資料中心運作效率因此提升到先前環境的4.1倍。此外,還有阿里巴巴、中國移動、Facebook、VMware等公司已經開始運用RDT。

RDT就像機場塔臺能進行複雜的IT資源調配

對很多人來說,RDT的角色與作用似乎很抽象,英特爾用機場管制塔臺作為比喻──塔臺(RDT)會結合雷達遙測資料,隨時監督與控管所有飛機(虛擬機器、應用程式、執行緒)起降作業。

 第一步  對於離處理器最近的L3快取,提供監控與配置

首先,是針對處理器L3快取的使用──快取監控技術(CMT),以及快取配置(CAT)技術,它們能協助Xeon E5-2600 v4更聰明地執行相關的工作排程,以及負載平衡的決策。同時,能將伺服器所要提供的服務,透過這種新的分層方式進行管理,可確保高優先執行順序的應用程式,能享有足夠的快取,針對工作負載的執行,促進更靈敏的配置、載平衡、整併作業。

CMT和CAT之所以能運作,主要是系統會先透過資源調度應用軟體(orchestrator),或是根據作業系統、Hypervisor的指派,將伺服器目前所承載的執行緒、程式、虛擬機器,對應為不同的資源監控代號(Resource Monitoring IDs,RMID),以及服務類別(Classes of Service,CLOS)。

在CMT的使用上,Xeon E5-2600 v4處理器平臺可監控的RMID數量,是Xeon E5-2600 v3的2倍──對於每個部分的快取,能監看8個。而對於CAT,Xeon E5-2600 v4目前可支援16個服務類別。

這兩項技術的實際應用效果如何?以CAT為例,在英特爾與雲端分析服務商AppFormix合作下,他們以搭配兩顆Xeon E5-2699 v4處理器的伺服器,來比較CAT使用前後的差異。測試結果顯示:CAT啟用後,網站伺服器在該機制的保護下,效能(吞吐量)可提升27%;若是與其他會搶占資源的工作負載一同執行(每顆處理器執行11支Stream 效能測試程式),在啟用CAT的伺服器下執行的網站伺服器,平均反應速度比起不啟用CAT時,要快上51%,而在惡劣情況下的反應速度,甚至可快到2.22倍,成效相當驚人!

 第二步  監督系統記憶體與L3快取之間的傳輸頻寬

MBM則是針對系統記憶體的存取流量進行管理,同樣基於上述CMT所使用的RMID來進行觀察,系統可藉此發現記憶體頻寬存取的衝突,以及促使執行緒的遷移。

首度採用MBM的處理器是去年推出的Xeon D-1500系列,所針對的伺服器類型主要是單路架構的應用設備,現在則輪到Xeon E5-2600 v4系列開始支援,也表示對應的主流二路伺服器平臺,從此也將受益於這項技術。

MBM的導入,有助於揭露記憶體頻寬的細部用量,面對橫跨不同處理器插槽、核心之間執行的工作負載,例如英特爾的DPDK(Data Plane Development Kit),伺服器能以此方式做到有效平衡,避免這些處理程序爭奪記憶體資源,可增進記憶體資源利用率,進而提高服務等級,達到存取效能最佳化。

英特爾之所以發展這樣的技術,源自於多核心處理器架構雖然擁有階層式快取,能以大規模的資料吞吐能力與延展性,提升應用程式的執行效能,但許多使用者層級的處理程序同時執行的關係,它們經常彼此爭奪快取與記憶體頻寬的資源。此外,處理器快取區分為越來越多階層,也是記憶體存取效率不彰的理由之一,因為L3快取與系統記憶體對於處理器存取而言,都是橫跨所有核心一同共享的資源。

而記憶體存取效率好壞將會衝擊系統整體效能,因此若要達到最佳記憶體存取效能,必須透過持續監控與提高使用效率等方式。

面對上述這些應用需求,英特爾近期所發展出來的MBM技術,已經能夠從快取的不同階層當中,逐一監控頻寬,特別是L3快取。而MBM的基本架構是延伸自英特爾現有的CMT技術,增添了基於CPUID的計數功能(enumeration),以及新的事件代碼,以便從近端與遠端記憶體的控制器擷取記憶體頻寬資訊。

由於CMT能對每個執行緒加上標記,這意味著在執行應用程式、虛擬機器或容器(Container)時,每個執行緒的頻寬能夠被測量到;同時,本身所在與遠端的記憶體控制器頻寬用量,也都能藉由當中所對應的事件代碼觀察到,因此使得具有頻寬感知能力的排程執行,以及針對非一致式記憶體存取(Non-uniform Memory Access,NUMA)的最佳化,都將能夠實現。

RDT以處理器快取QoS為主要號召

Xeon E5-2600 v4處理器平臺新增的功能當中,以RDT(Resource Director Technology)最為獨特,因為有了這項技術,可確保高優先順序的虛擬機器、應用程式或執行緒,都能獲得相對更多的處理器L3快取與系統記憶體,有助於資料中心環境進一步提升伺服器本身的資源利用效率。

 第三步  透過處理器快取配置,控管應用程式與資料存取優先順序

從英特爾發展上述三種技術的歷程,其實可以看到,對於承載越來越多型態應用的伺服器,他們的目標已經越來越很明確,就是針對共用平臺資源的使用,提供更多有效管理機制。

這項大工程的進行,最早應該回溯到處理器的即時排程執行,以及後來陸續新增與擴展的VT系列指令集,面對執行高優先順序的虛擬機器時,實體處理器必須能夠固定與隔離這些工作負載;接著是記憶體的配置,須具有快取的感知能力,並且能夠為高優先順序的虛擬機器,給予專屬的記憶體區域;然後,才是針對硬體周邊裝置資源的專屬配置,例如網路介面、繪圖處理器。

但對於伺服器平臺上所共用的其他資源,像是處理器內建的L3快取與記憶體頻寬,一直並未著墨,而這部分的功能支援,無法透過應用軟體來幫忙,非得由處理器廠商親自操刀才行。

而這些就是英特爾發展平臺共用資源監控技術的主要理由。因此他們先發展CMT、CAT,聚焦在處理器快取資源的管理,並且在Xeon E5-2600 v3開始提供;從Xeon D-1500起,延伸到系統記憶體頻寬的監督,而推出了MBM;在最新推出的Xeon E5-2600 v4,相關技術又更上一層樓──英特爾正式推出了程式碼與資料優先存取技術(CDP)。

這項技術是基於英特爾CAT的延伸,執行緒能夠針對程式碼執行與資料存取,配置個別專屬的L3快取區塊,因此,程式碼與資料在L3快取置放的區域,能透過軟體設定的方式來隔離彼此,並依照不同優先順序加以區分,進而能夠根據工作負載的特性,來調校快取容量的調配

實際上,處理器是透過程式碼,或資料快取的容量位元遮罩(Capacity Bit Mask,CBM)來分配。這些遮罩都是特定模型暫存器(MSR),皆以IA32_L3_QOS_MASK_n的格式來命名,而由於每一個服務類型(CLOS)都會配合1個dcache_cbm快取位元遮罩,以及1個icache_cbm的MSR,所以每個CLOSid代號都會搭配CDP。

CDP在哪些應用場景可以有效發揮?主要是具有大量程式碼執行痕跡的應用程式,或者是針對一些程式碼較敏感、需在快取當中妥善保護的應用程式。

CMT的運作架構

CMT(Cache Monitoring Technology)是英特爾最先推出的伺服器平臺QoS管理機制,能辨識過度使用資源的應用程式,並根據優先順序重新排程執行。若發現佔用快取資源的應用程式,會以每個資源監控代號(RMIDs)的形式來回報。

 

CAT的運作架構

CAT(Cache Allocation Technology)和CMT同在Xeon E5-2600 v3處理器推出,但並非全系列提供,當中運用切割L3快取的方法,促使應用程式執行時得以分隔,過度使用L3快取的執行緒將受到隔離,以免影響其他程式。

 

MBM的運作架構

隨著Xeon E5-2600 v4處理器推出的MBM(Memory Bandwidth Monitoring),也利用RMIDs架構來實現記憶體頻寬監控,能基於執行緒、核心或應用程式的角度觀察,對於爭奪共用資源的情況,能提出較佳的解決方法。

可結合英特爾先前發展的資料中心管理機制

除了跟著Xeon E5-2600 v4系列處理器一起推出的RDT資源督導技術,先前英特爾所提出的多種資料中心管理技術,也還是繼續在新款Xeon當中支援,例如Node Manager(NM)、Data Center Manager(DCM),它們也是管理IT基礎架構資源時,所不可或缺的層面。

以NM為例,在Xeon E5-2600 v3時,功能已提升到3.0版,可監控資料中心基礎架構環境日常運作時的多種特性,包括伺服器平臺的耗電、效能、安全性、散熱(進氣口與排氣口的氣流溫度)、資源使用率(處理器、記憶體、I/O、每秒運算資源利用率)、所在位置。若是針對伺服器的管理而言,NM可做到動態監控設備的耗電情況,並且能橫跨多個節點、機櫃與資料中心,掌握這些不同規模設備的發熱組態。

在NM 3.0當中,新增的特色大多是針對用電的管理,像是:能及早預測電力不足,當系統所需電力瀕臨到資料中心供電的上限時,NM能自動推行減量用電的措施;對於系統開機期間會出現尖峰用電的情況,NM可以設定此時的耗電量上限來控管,而不需要複雜的程序或透過先行關閉部分處理器核心來達成目的。

RDT的兩大應用面向與發展順序

基於快取與記憶體這兩個走向,英特爾發展了多種針對伺服器執行環境的QoS資源管理技術,可橫跨整個共用平臺,實施監控的機制,並延伸到強制套用容量分配政策。

 

RDT技術發展三部曲

歷經3個時期的發展,英特爾終於將資料中心管理技術,從硬體層次的伺服器省電,逐漸提升到更高階的快取與記憶體資源管理,做到全面的IT資源調度指揮,增進資源使用率,對於軟體定義IT基礎架構下頻繁進行的自動環境產生(Automated Provisioning)工作,也相當有幫助。

 

【相關報導請參考「英特爾新伺服器平臺登場」】

熱門新聞

Advertisement