IEEE最近批準了802.3az EEE(能效以太網)標準,未來的采用者將獲得很大的節(jié)能效果。盡管一段時間以來,業(yè)內人士對降低以太網捆綁鏈路的能耗做了一些研究,但這些研究都沒有考慮EEE的使用。本文描述了一種在捆綁鏈路中優(yōu)化EEE使用的技術,它能提供較以往方案更好的響應,最大限度減少了幀延遲與丟失。該技術還能夠獨立地實現每個鏈路的端點,便于部署。在流量為異步的情況下,這一技術能顯著地改善能效。
EEE標準的目標是每年節(jié)能4 TWhrs以上,它為以太網設備規(guī)定的降低能耗方式是定義低功耗模式。一個沒有可發(fā)送幀的收發(fā)器就可以進入低功耗模式。當有新幀到達時,收發(fā)器會在數微秒內返回活動模式,從而實現了對協(xié)議上層幾乎透明的節(jié)能。某個給定鏈路的能量節(jié)省直接取決于收發(fā)器處于低功耗模式下的時間。這個時間又取決于流量負荷,并且由于模式轉換的開銷要占掉負荷的幾個百分點,節(jié)能效果大打折扣,這意味著當鏈路工作負荷大于10%時,EEE提供的節(jié)能效果有限。
在以太網中,經常采用捆綁鏈路的方法來提供更大的容量,其動因來自于一系列旨在優(yōu)化捆綁以太鏈路上能耗的研究。這些方法會動態(tài)地使一組捆綁的活動鏈路數量適應于流量負荷,這意味著當捆綁負荷較輕時,可以節(jié)省相當數量的能耗。不過,這些方法并沒有考慮到EEE標準的使用。
鏈路聚合
IEEE標準化了IEEE 802.3ad中以太網的鏈路聚合,該組織后來重新命名了IEEE 802.1ax,以保持與其它802.3標準的一致性。該標準能將多個以太鏈路捆綁為一個邏輯鏈路:LAG(鏈路聚合群)。IEEE 802.3規(guī)定,鏈路聚合必須發(fā)生在MAC (介質訪問控制器)層上,整個幀送至某個聚合鏈路的MAC層。鏈路聚合提供了多種優(yōu)點。例如,聚合后的鏈路容量是各鏈路容量的總和,因此增加了鏈路的容量,而不同以太網技術的容量因數通常小于10倍。聚合鏈路還可以用于提供PHY(物理)層所不能達到的容量。鏈路聚合亦增加了鏈路的可用性,因為只有所有鏈路都不能用時,聚合鏈路才不可用。
但鏈路的聚合會造成幀的隨意分配問題,如幀重新排序。幀重新排序的出現情況是:一個先到的長幀通過一個鏈路傳輸,而緊接第一幀到達的第二個短幀則通過一個不同鏈路傳輸,從而比第一幀先到。幀的重新排序會給較高層協(xié)議帶來一些麻煩,因此,IEEE 802.3ad標準的開發(fā)者在設計時避免了幀的重新排序問題。只有對屬于相同會話的幀,幀的重新排序才是一個問題。因此,將各幀給各鏈路做傳輸分配的算法就要確保屬于同一會話的幀通過相同鏈路傳輸,從而保持幀的順序。這些算法確保了這些幀能保持正確順序,但將一個會話能獲得的最大帶寬限制在一個鏈路上。
圖1給出了鏈路聚合的子層。幀分配塊將各個幀分配給各鏈路傳輸,它必須確保來自一個會話的所有幀都通過相同鏈路傳輸。幀采集塊接收來自于不同端口的幀,將它們轉送給MAC客戶。幀采集塊必須確保只讓來自相同端口的幀通過,以到達MAC客戶端。這種設計使幀采集塊獨立于幀分配塊的算法,避免了聚合器中的緩存與重新排序工作。這種設計還避免了碎片與再裝配問題。
圖1,幀分配塊將各幀分配給鏈路做傳輸,必須確保來自一個會話的所有帖都通過相同鏈路傳輸。幀采集塊接收來自不同端口的幀,并將它們轉發(fā)給MAC客戶。
鏈路聚合也可以使用其它替代方法。例如,鏈路可以在PHY層做聚合。采用這種方法時,幀傳輸是將各幀劃分為段,然后分配到各鏈路上傳輸。在接收時,這種方法會將各段重新裝配,重構原始幀。WAN(廣域網絡)的聚合廣泛地采用了這種策略。這種情況下,一個會話的各段會通過所有鏈路傳輸;因此,單個會話可以使用到聚合鏈路的全部容量。不過,IEEE 802.3ad標準并沒有選擇這種類型的設計,因為它會使幀的分配與采集過程復雜化。
為了高效地利用聚合鏈路的容量,分配算法會嘗試用一種方法做會話在鏈路上的分配,即每個鏈路上的負荷都是相近的。當同時有很多會話發(fā)生時,這種方法能夠獲得高鏈路使用率。會話可以定義在不同的層次上,取決于網絡拓撲與流量。標準的附錄A中討論了各種不同選項,如使用以太源地址或目標地址來區(qū)分一個會話。這些情況下,用較高層協(xié)議的信息來定義一個會話更方便些。例如,有些方法會將一個會話定義為一個TCP(傳輸控制協(xié)議)連接。標準還提供了一些機制,可將會話重新分配給不同鏈路,并確保幀的順序。這一功能對于鏈路負載的動態(tài)平衡很有用處。
當流量負載較低,而所有聚合鏈路都處于活動狀態(tài)時,鏈路聚合可能消耗相當大的能量,因為一旦鏈路處于活動態(tài),則PHY層器件的功耗就基本獨立于流量負荷。一種方法的建議是,活動狀態(tài)鏈路的數量應與流量負荷相適應,當流量較少時,只有少數鏈路保持在活動狀態(tài)。鏈路活動模式與等待模式之間的轉換需要鏈路各方采用LACP(鏈路聚合控制協(xié)議)來協(xié)調。這種情況下的轉換可能要花費數百毫秒時間,因為鏈路必須重新建立,從而需要大量的時間。LACP從整體上管理各個鏈路,即鏈路的雙向都為活動或都為空閑,但不能一個方向活動,另一個方向空閑。這種方案可以大大降低聚合鏈路中的能耗,但不包含與EEE的協(xié)調。
捆綁鏈路中的EEE
一旦EEE獲得了廣泛的采用,則在鏈路使用率較低時,每一個具備EEE能力的聚合鏈路都能確保能效,因為各個鏈路一般都處于低功耗模式。有了這種概念,就沒必要采用那些讓活動鏈路數與流量負荷相匹配的方法。但是,EEE只有在負荷低的情況下,節(jié)能效果才顯著。例如,當一個捆綁鏈路只有15%負荷時,EEE提供的節(jié)能效果有限,而當流量只集中在某些捆綁鏈路上時,則可能節(jié)省相當大的能耗。因此,即使業(yè)界采納了EEE,對于在這些負荷下運行的聚合鏈路,研究更多的能效策略也很有用處。
還有一種方法也能在EEE的LAG中使能所有鏈路,而在低功耗模式下不為鏈路分配會話,意味著在這些鏈路上沒有幀的傳輸。因此,對于大多數EEE PHY與MAC層,我們就可以獨立地管理鏈路方向的狀態(tài);一個方向可以是低功耗模式,而另一個方向則是活動模式。這種方法簡化了哪個鏈路為等待模式的選擇,因為本地就可以做出決定,而無需與另一端協(xié)調,保證低功耗模式為同一鏈路。圖2表示了兩種可能的配置。當傳輸只發(fā)生在每個鏈路的一個方向上時,接收端就無需抑制近端的串擾與回響,因此,當這種方法與PHY器件的智能管理結合實現時,就能節(jié)省相當多的能耗。
圖2,當鏈路處于低功耗模式時,可以單獨地管理這些鏈路 (a);否則,鏈路方向會同時進入低功耗模式 (b)。
本地的幀分配塊監(jiān)控著流量負荷,決定為會話指定的鏈路數量。如果流量下降,則該塊可以將會話重新指定給較少的鏈路,以減少功耗。反之,如果流量上升,則該塊可以為會話使用更多鏈路。這些重新指定的方式等同于將會話動態(tài)地按負荷平衡做再分配。圖3給出了一種算法,它只需要重新指定會話,以減少活動鏈路的數量。那些未被指定會話的鏈路會自動地進入并保持在EEE低功耗模式,直到負荷提高。此時,方案會將一些會話指定給鏈路,它進入EEE活動模式后,就可以立即開始幀的傳輸。
圖3,這個算法將鏈路與EEE捆綁起來。
該算法的主要參數是負荷閾值,它確定了鏈路數量的變化。實現時應定義一個延遲機制,可以避免頻繁的變動,如采用兩個閾值,增加和減少活動鏈路的數量。不過,單個閾值也是夠用的。假設這個閾值大(負荷接近于鏈路容量的100%),則由于高隊列占用率而使鏈路延遲增加,而當隊列溢出時有丟棄幀的可能性,因此也會出現相同的情況。如果閾值小,則鏈路負荷輕,降低了能耗。所以,在演示這種方案時,選擇了一個折中的閾值,即80%的鏈路容量。
與傳統(tǒng)幀分配機制類似,本方案是在各個活動鏈路中做負荷均衡(即已為它們指定了會話),以確保各個會話能獲得近似的服務,而與它們的鏈路分配無關。這種方案有效地將EEE與鏈路聚合結合起來,多數情況下節(jié)能效果要好于單獨采用EEE的情況。
圖4,鏈路聚合算法比較四種技術的能效。
在使用EEE的鏈路聚合實現中,聚合中的每個鏈路都獲得相同的負荷,并根據是否有要傳輸的幀,而進入或退出活動狀態(tài)。因此,其功耗就等于聚合中的鏈路數量乘以一個在該負荷水平上的鏈路功耗。而在其它方案中,功耗是直接取決于活動鏈路數量。
性能評估
為評估這種方法的節(jié)能潛力,做了1250字節(jié)幀的一系列仿真實驗。這些實驗還模擬了其它幀長度,得到的結果近似。幀的接收服從泊松分布,這是一種離散的概率分布,表示在固定時間或空間(或兩者)間隔內某個給定數量事件發(fā)生的概率,如果這些事件是以一種已知的平均速率發(fā)生,而與上次事件以來的時間無關。在LAN流量中,幀的到達并不符合泊松模型,因此這種仿真只是一種粗略的近似。不過,對于來自多源的聚合流量LAG,泊松假設在短的時間間隔內是有效的,這種短時間間隔是針對這種方案的時間尺度。
假設存在著可獨立管理的鏈路方向,并假設MAC與PHY層都可以非對稱地進入低功耗模式。另外假設低功耗模式下的功耗為活動模式功耗的10%,而在狀態(tài)轉換期間的功率與活動狀態(tài)下相同。狀態(tài)轉換的時間周期符合IEEE 802.3az標準。其它方法則假設鏈路在等待模式下沒有功耗,因為這些鏈路實際處于空閑狀態(tài),而不是EEE的低功耗模式,后者要將一些部件保持在活動態(tài),并有刷新周期。
圖4比較了不同負荷與技術下的功耗結果。此時,聚合算法包含的是四個10BaseT鏈路。對100BaseTX與1000BaseT鏈路的實驗得到的結果類似。下一個實驗考慮了兩個鏈路的聚合(圖5)。功耗與負荷的總體形狀與其它鏈路數的情況相類似。更多的實驗采用了不同大小的幀,結果也相近:大多數節(jié)能效果源于低功耗模式的鏈路,主要取決于LAG的負荷,而不是幀的大小。
圖5,鏈路聚合算法比較兩種鏈路的能效。
迄今為止,結果都集中在一個鏈路方向上,但流量有時是非對稱的,即一個方向上有大的負荷,而另一個方向則小得多。在這些情況下,本文所描述的技術能夠使每個方向上有不同數量的活動鏈路。仿真可以模擬那些非對稱流量鏈路上的節(jié)能,這些鏈路一個方向上為1250字節(jié)幀,另一個方向則有相同數量的125字節(jié)幀(圖6)。此時,仿真會估算出每個方向的功耗,并計算均值,提供一個規(guī)范的結果。實驗表明,與僅采用EEE相比,各種鏈路負荷下都能節(jié)省更多的能耗。
圖6,在一個有非對稱流量的鏈路上,提議的鏈路聚合算法性能超過傳統(tǒng)算法。
-
收發(fā)器
+關注
關注
10文章
3424瀏覽量
105966 -
控制器
+關注
關注
112文章
16339瀏覽量
177853 -
以太網
+關注
關注
40文章
5419瀏覽量
171626
發(fā)布評論請先 登錄
相關推薦
評論