郭 晨,鄭 烇,丁 堯,王 嵩
(中國科學技術大學 自動化系 未來網絡實驗室,合肥 230026)
基于內容熱度與節點介數的NDN網絡緩存策略①
郭 晨,鄭 烇,丁 堯,王 嵩
(中國科學技術大學 自動化系 未來網絡實驗室,合肥 230026)
緩存技術是數據命名網絡 (Named data networking,NDN)的關鍵技術之一. NDN 傳統的 LCE 緩存策略會造成較大的冗余. 改進的RCOne策略采用隨機放置的方法,沒有利用任何內容、節點信息,對網絡緩存性能的提升有限. Betw策略只考慮到節點介數,導致高介數節點緩存更替頻繁,當節點緩存容量遠小于內容總量時,緩存性能下降. 為了解決這些問題,本文提出一種結合內容熱度與節點介數的新型緩存策略HotBetw(Hot content placed on node with high Betweenness),充分利用內容與節點信息選擇最佳的位置放置緩存. 仿真實驗表明相對于典型NDN緩存策略,HotBetw緩存策略在提高緩存命中率、降低平均跳數方面具有很好的效果.
數據命名網絡; 緩存技術; 內容熱度; 節點介數; HotBetw 緩存策略
為了從根本上解決傳統IP網絡傳輸效率低的問題,一類以信息為中心的新型網絡體系——ICN被提出[1]. 數據命名網絡NDN是ICN的主流網絡架構之一[2],NDN網絡泛在化的緩存能有效的降低用戶的等待時延、節約帶寬資源、減小服務器負載.
NDN網絡默認的緩存決策策略是LCE(Leave copy everywhere)[1],LCE策略會在網絡中產生大量冗余副本,導致網絡緩存資源的利用率低. 針對LCE的缺點,RCOne[3]、Betw[4]等緩存決策策略被提出[5,6]. 為了提升網絡緩存的多樣性,RCOne算法在內容返回路徑中隨機地選擇一個節點緩存內容. 這種隨機化的緩存決策易于實現,但并未考慮內容的熱度等信息,對緩存性能的提升有限. Betw算法在內容返回時選擇興趣包請求路徑上最重要的節點緩存,其它節點不再緩存. 對于不同網絡拓撲,該策略都取得了較高的網內節點緩存命中率,并減少了內容傳輸的平均跳數. 然而,在實際網絡中,節點緩存量遠小于內容總量,Betw策略會導致節點越重要,到達的請求越多,需要緩存的內容也越多,同時節點負載也會越大,從而導致緩存中的內容更替頻繁,新緩存的內容,即使具有很高的熱度,也具有較大可能性被快速替換掉,致使后續請求無法充分利用前期緩存.
選取2016年3月—2018年1月在我院接受口腔疾病治療的患者90例作為研究對象,并將其隨機分為研究組和對照組,每組各45例患者。其中,對照組中,男21例,女24例,年齡20~50歲,平均年齡(32.06±6.49)歲,其中有7例是牙列缺損、12例是齲齒導致的牙體大面積缺損、8例牙間隙過寬、18例牙周炎;研究組中,男28例,女17例,年齡19~50歲,平均年齡(31.59±5.89)歲,其中有9例是牙列缺損、10例是齲齒導致的牙體大面積缺損、6例牙間隙過寬、15例牙周炎;對兩組患者的一般資料進行對比,差異無統計學意義(P>0.05),具有可比性。
基于以上方案存在的問題,本文提出一種綜合考慮內容熱度與節點介數的網絡緩存決策策略HotBetw.根據內容的熱度信息將內容分為熱點內容與非熱點內容. 在內容返回的過程中結合內容熱度與節點的重要性,將熱點內容放置在重要節點上,非熱點內容隨機放置在某一個節點上. 該策略既能保證熱點內容盡量緩存在相對重要節點上,又能避免重要節點處于高頻率的內容替換狀態下,同時也充分利于了非重要節點的緩存資源,達到提升網絡緩存性能的目的.
本文的結構如下: 第1節介紹和分析內容熱度算法與NDN緩存決策策略的相關技術; 第2節闡述本文提出的HotBetw緩存決策策略; 第3節給出仿真環境、方案與參數的設置,并分析仿真結果; 第4節對本文工作進行總結.

為了提高緩存命中率,節點進行緩存替換時會把熱度最小的內容替換出去. 最常用的NDN網絡緩存替換算法有 LRU[7]與 LFU[8]. LRU(Least recently used)主要思想是: 當有新內容轉發到節點且節點緩存空間已滿時,將最久未使用的緩存內容替換掉. LRU主要考慮內容的動態性,認為最近轉發的內容很有可能再次被請求,因此具有較大的熱度. 但是如果一個內容每隔一段時間都會被請求一次,LRU算法會用最近的內容將它替換掉,即使最近的內容很少有人感興趣. LRU算法只注重了內容的動態性卻忽略了內容的歷史熱度.LFU(Least frequently used)的核心思想是給每一個緩存內容進行計數,緩存命中時,計數值加 1. 緩存替換時將計數值最小的內容替換掉. LFU主要考慮內容的歷史熱度,認為歷史熱度高的內容被再次請求的概率大.但是如果請求的內容在動態變化時,LFU算法的性能將下降. 原因是: 當一個內容過去很流行,即使之后沒有人再請求,它也會一直留在緩存中直到最近的一些被命中次數更多的內容出現. LFU算法只只注重了內容的歷史熱度卻忽略了內容的動態性.
Complete Freund's adjuvant:CFA is composed of paraffin oil,mannide monooleate and heat-killed,dried Bacillus Calmette-Guerin(BCG).11 CFA was purchased from Sigma-Aldrich(USA),which had been used to stir immunity in several researches.12,13
針對LRU與LFU緩存替換策略的不足,文獻[8]提出了CCP緩存替換策略. CCP緩存替換策略周期性地統計內容的命中次數,實時計算內容的熱度,根據內容熱度進行緩存替換. 內容熱度的計算公式如下:
1)根據內容熱度算法,將內容分為熱點內容與非熱點內容.

本文旨在結合內容熱度與節點介數進行緩存決策,因此接下來將詳細介紹內容熱度算法、NDN緩存決策策略這兩方面的相關技術.
NDN的默認緩存決策策略是LCE(Leave copy everywhere). LCE的主要思想是在內容返回過程中的每一個節點都緩存內容. LCE的算法復雜度低、實現簡單,但是會導致網絡中出現大量冗余副本,降低緩存的多樣性.
謝子臥疾山頂,覽古人遺書,與其意合,悠然而笑曰:夫道可重,故物為輕;理宜存,故事斯忘。古今不能革,質文咸其常。合宮非縉云之館,衢室豈放勛之堂。邁深心于鼎湖,送高情于汾陽。嗟文成之卻粒,愿追松以遠游。嘉陶朱之鼓棹,乃語種以免憂。判身名之有辨,權榮素其無留。孰如牽犬之路既寡,聽鶴之途何由哉![注] 《宋書》卷六十七《謝靈運傳》,第1754頁。
健脾生血片與多糖鐵復合物膠囊治療非透析腎性貧血的療效及安全性比較 ……………………………… 簡 訊等(10):1384
根據內容的實時熱度值,我們可以對內容進行合理的劃分. NDN網絡中用戶請求到的內容是由源服務器節點或者請求路由路徑中某個節點的CS表提供[9].由源服務器節點提供的內容在請求路由路徑中沒有緩存副本,說明這個內容在路徑中所有節點上的熱度都不高,因此被劃分為非熱點內容. 由節點CS緩存表提供的內容根據實時熱度值進行劃分. 內容分類的詳細情況如下:

圖1 實例拓撲
文獻[4]提出的Betw緩存決策策略,請求命中后將內容只緩存在內容返回路徑中最重要的節點上. 由于在重要節點上,同一個內容被請求的次數會更多,使得內容在節點上被緩存時間變長,緩存命中率變高從而提升緩存性能. 而節點重要程度是以節點介數作為度量,節點介數用來描述節點在網絡中重要性的一個度量,源于復雜網絡領域,其數學定義如下:


然而在實際網絡中節點緩存大小與網絡內容總量相比非常小,因此,重要節點到達的請求數量非常大,節點處于高頻率的內容替換狀態下,導致熱點內容也會出現很快就被替換. 此時大量的興趣包到達重要節點后,無法實現緩存命中,興趣包也只能被轉發到別的節點,直至內容源端. 在圖1 的拓撲結構中,Betw 策略會把所有的內容都緩存在v2節點,v2節點的緩存空間大小有限,高頻率的替換狀態下導致網絡緩存性能的降低; 此外v2之外的其他節點均未放置緩存,也造成了緩存資源的浪費.
基于以上分析,我們發現如果將內容緩存在內容返回路徑中最重要的節點上,雖然能夠滿足更多的請求,但是由于節點緩存空間有限,緩存替換過快會導致網絡緩存性能下降. 另一方面,如果采用隨機緩存的方法,由于沒有結合任何內容或者節點的信息,網絡緩存性能的提升也很有限,因此本文提出如下基于內容熱度與節點信息的HotBetw緩存決策策略:
隨機抽取2017年2月-2018年2月至我院接受治療的104例冠心病患者為檢驗組(n=56),再隨機抽取同時期至我院接受健康體檢的健康者為對照組(n=48),檢驗組男33例,女23例,年齡45-70歲,平均年齡(57.58±12.74)歲,病程1-9年,平均病程(3.47±2.39)年;對照組男23例,女25例,年齡47-74歲,平均年齡(57.79±12.83)歲,病程2-7年,平均病程(4.32±2.18)年;將兩組人員年齡、病程、性別等基本資料納入統計學中分析顯示無顯著差異(P>0.05),具有比較意義。
8是一個吉利的數字,在中國人的傳統語境中,8意味著財富的增長。但是在這個尾數是8的年份里,很多民眾的感受中,這并不是一個好的年景。中國股市復制了2008年的大跌模式,股指在2018年開市的最后一天回落至2500點以下收盤,全年跌幅超過四分之一,1.46億股民人均虧損近10萬元。“二八規則”也被輕易打破,僅有一成股民僥幸賺了點錢。對于中國股市,這顯然是一個沒能逾越的寒冬。
2.5 m時的過流能力分別為0.442 m3/s、1.070 m3/s。 按式(1)計算得出魚道池室的容積功率耗散約為19.92 W/m3、19.29 W/m3,紊動不劇烈,適合魚類上溯。
3)非熱點內容采用隨機化的RCOne策略,隨機緩存在內容返回路徑中的某一個節點上.
下面通過一個實例來分析HotBetw策略的性能.在圖1所示的拓撲結構中,假設每個節點的CS緩存表的大小為1,3個用戶節點分別先后請求1次內容:Client A請求c1,然后Client B請求c2,最后Client C請求c1. 接下來我們分析采用不同緩存決策策略下,網絡的緩存命中次數. 緩存決策策略采用Betw策略時,Client A請求的c1由源服務器s1提供,c1緩存在v2節點;Client B請求的c2由源服務器s1提供,c2緩存在v2節點,將之前的c1替換掉; 最后Client C請求的c1依然不能被緩存命中,只能由源服務器s1提供. 3次請求過后,緩存命中次數為0. 如果緩存決策策略采用RCOne,當Client A請求的c1緩存在v1節點,Client B請求的c2緩存在v2或v4節點; 或者Client A請求的c1緩存在v2節點,Client B請求的c2緩存在v1或v4節點時,Client C請求的c1才會被緩存命中. 可以算出RCOne策略的平均緩存命中次數為4/9. 如果緩存決策策略采用 HotBetw,c1被請求 2 次,是熱點內容,采用Betw 策略;c2只被請求 1 次,是非熱點內容,采用RCOne策略.Client A請求的c1由源服務器s1提供,c1緩存在v2節點;Client B請求的c2由源服務器s1提供,c2只要不緩存在v2節點,Client C請求的c1就會被v2節點的緩存命中. 可以計算出HotBetw策略的平均緩存命中次數為2/3,高于Betw策略與RCOne策略. HotBetw策略既能將熱點內容放置在重要節點,又能降低重要節點緩存替換率提高緩存命中率,同時利用其它節點存儲非熱點內容,提升網絡緩存多樣性.
合理劃分熱點內容與非熱點內容是HotBetw策略的關鍵之處. 在實際網絡中,我們無法像2.1小節實例中那樣提前預知具體的內容請求,此時正確計算內容的實時熱度顯得尤為關鍵. 文獻[8]中提出的CCP緩存替換策略中能兼顧內容請求的動態變化與內容的歷史熱度,正確計算出內容的實時熱度,因此本文采用CCP緩存替換策略所提出的內容熱度算法計算內容熱度. CCP替換策略在NDN網絡的CS、PIT以及FIB結構的基礎上,新增了內容熱度統計表(Content popularity table,CPT). CPT 表用來保存緩存內容的命中次數、歷史熱度用來計算緩存內容的實時熱度. 當CS表更新時,CPT表也同步更新,確保CPT表保存CS表中所有緩存內容的信息. CPT表詳細表結構如表1所示.

2)熱點內容采用基于節點介數的Betw策略,緩存在內容返回路徑中節點介數最大的節點上.

表1 內容熱度統計表(CPT)
RCOne緩存決策策略采用隨機化的思想,在內容返回路徑中隨機選取一個節點緩存內容. 圖1所示的拓撲結構中,用戶Client A請求內容c1時,源服務器s1提供c1,c1在返回過程中隨機選擇v1、v2、v3中的某一個節點緩存下來. 相比于LCE,RCOne雖然能在一定程度上提升網絡緩存多樣性,但是在緩存放置時既沒有考慮內容熱度,也沒有考慮節點信息,對網絡緩存性能的提升有限.
1)熱點內容: CS表中實時熱度值位于前40%的內容.
2)非熱點內容: 源服務器節點提供的內容、節點CS表實時熱度值位于后60%的內容.
興趣包請求如果被某一個節點CS表中實時熱度值位于前40%的內容緩存命中,那么返回的內容是熱點內容; 如果被源服務器或者某一個節點CS表中實時熱度值位于后60%的內容滿足,則返回的內容是非熱點內容.
為了實現HotBetw緩存決策策略,興趣包在請求的過程中,需要記錄路由路徑中所有節點的最大節點介數CB和跳數hop. 興趣包被滿足時,基于2.2小節的內容熱度算法,判斷內容是否為熱點內容. 熱點內容采用Betw緩存決策策略,在內容返回的路徑中,將路徑中每個節點v的節點介數CB(v)與最大節點介數CB進行比較,兩個值相同則將內容緩存在這個節點v上. 非熱點內容采用RCOne緩存決策策略,興趣包被滿足時產生一個0到跳數hop之間的隨機數,內容返回過程中每轉發 1 跳,隨機數減 1,當隨機數減為 0 時,將內容緩存在這個節點上. 圖2的偽代碼給出了節點對興趣包與內容的詳細處理過程. 興趣包到達節點v時,OnIncomingInterest首先查詢興趣包是否被節點v滿足(v的CS表緩存命中或者v是源服務器server). 如果被滿足,則返回內容,內容從興趣包中獲得3項信息:最大節點介數CB、0-hop之間的一個隨機數,熱點內容標志位hot. 如果興趣包沒被滿足,則更新興趣包的最大節點介數CB與跳數hop,繼續轉發到下一跳. 內容到達節點v時,OnIncomingData首先判斷內容是否為熱點內容,熱點內容根據節點介數的匹配結果放置,非熱點內容則根據跳數值是否為0進行放置,更新跳數值,繼續將內容轉發到下一跳.

圖2 HotBetw 偽代碼

圖3是在4種緩存決策策略下,節點緩存容量不同時,用戶請求在全網的緩存命中率. 這個命中率是在節點緩存大小確定好后,一次實驗中被網內節點緩存命中的請求占所有用戶請求的比例. LCE、RCOne、Betw這3組對照實驗中,Betw策略的全網緩存命中率最高. 本文提出的HotBetw策略的全網緩存命中率相比于Betw策略高出9%.

圖3 全網緩存命中率隨節點緩存大小的變化
圖4是在4種緩存決策策略下,請求的平均跳數隨節點緩存容量大小的變化. 平均跳數是一次實驗中所有的用戶請求被轉發的平均跳數. 3組對照實驗中,Betw策略的平均跳數最低. 本文提出的HotBetw策略的平均跳數比Betw策略低0.3跳,性能提升了10%.
懸浮間隙傳感器非線性校正模型為單輸入單輸出系統,因此其輸入層和輸出層均只有一個神經元。RBF神經網絡的結構主要取決于隱含層神經元節點的個數,隱含層神經元的個數越多,網絡的逼近能力越強,但網絡也越復雜;神經元個數越少,網絡越簡單,但同時網絡逼近能力亦隨之降低。本文通過仿真試驗最終選擇5個隱含層神經元的網絡結構。RBF網絡隱含層神經元的中心值、閾值和輸出權值參數的訓練,采用粒子群優化算法,具體按式(6)將各優化參數用各粒子進行編碼。
為了解決NDN網絡中內容在請求路徑上如何選擇緩存節點的問題,本文提出了一種基于內容熱度與節點介數的緩存決策策略HotBetw. 該策略通過內容的熱度信息,對內容進行分類,熱點內容采用 Betw 策略,非熱點內容采用RCOne策略. HotBetw策略既能保證熱點內容盡量緩存在相對重要節點上,又能避免Betw策略只考慮節點介數而導致重要節點內容替換頻繁,同時也充分利于了非重要節點的緩存資源. 仿真實驗表明,HotBetw決策策略與Betw策略相比全網命中率提升了9%,請求平均跳數減小了10%,相比于隨機放置的RCOne與到處放置的LCE策略性能提高更加顯著.

圖4 請求平均跳數隨節點緩存大小的變化
1張國強,李楊,林濤,等. 信息中心網絡中的內置緩存技術研究. 軟件學報,2014,25(1): 154–175. [doi: 10.13328/j.cnki.jos.004494]
2Ahlgren B,Dannewitz C,Imbrenda C,et al. A survey of information-centric networking. IEEE Communications Magazine,2012,50(7): 26–36. [doi: 10.1109/MCOM.2012.6231276]
3Eum S,Nakauchi K,Murata M,et al. CATT: Potential based routing with content caching for ICN. Proc. of the Second Edition of the ICN Workshop on Information-Centric Networking. New York,USA. 2012. 49–54.
4Chai WK,He DL,Psaras I,et al. Cache“less for more” in information-centric networks. International Conference on Research in Networking. Berlin Heidelberg. 2012. 27–40.
5Psaras I,Chai WK,Pavlou G. Probabilistic in-network caching for information-centric networks. Proc. of the Second Edition of the ICN Workshop on Information-Centric Networking. New York,USA. 2012. 55–60.
6Laoutaris N,Che H,Stavrakakis I. The LCD interconnection of LRU caches and its analysis. Performance Evaluation,2006,63(7): 609–634. [doi: 10.1016/j.peva.2005.05.003]
7Podlipnig S,B?sz?rmenyi L. A survey of web cache replacement strategies. ACM Computing Surveys (CSUR),2003,35(4): 374–398. [doi: 10.1145/954339]
8Ran JH,Lv N,Zhang D,et al. On performance of cache policies in named data networking. Proc. of the 2013 International Conference on Advanced Computer Science and Electronics Information. Beijing,China. 2013. 668–671.
9Yi C,Afanasyev A,Wang L,et al. Adaptive forwarding in named data networking. ACM SIGCOMM Computer Communication Review,2012,42(3): 62–67. [doi: 10.1145/2317307]
10Mastorakis S,Afanasyev A,Moiseenko I,et al. ndnSIM 2.0:A new version of the NDN simulator for NS-3 [Technical Report]. NDN-0028. Los Angeles: NDN,2015.
Cache Scheme Based on Content Popularity and Node Betweenness in Named Data Networking
GUO Chen,ZHENG Quan,DING Yao,WANG Song
(Laboratory for Future Networks,Department of Automation,University of Science and Technology of China,Hefei 230026,China)
Cache is one of the key technologies of named data networking(NDN). However,the basic cache scheme LCE(leave copy everywhere) in NDN leads to much redundancy. The RCOne scheme chooses the cache node randomly without using any information of content and node,which is limited in improving cache performance. The Betw scheme results in that the node has the more frequent replacement with the larger betweenness centrality,which will decrease the cache performance when the node’s cache capacity is far smaller than the total content amount. In order to solve those problems,a cache scheme named HotBetw is proposed in this paper based on content popularity and node betweenness to choose appropriate cache node along the content delivery path. The simulation results show that the HotBetw cache scheme can achieve higher cache hit ratio and reduce average request hop compared with existing schemes.
named data networking; cache; content popularity; betweenness centrality; HotBetw cache scheme
郭晨,鄭烇,丁堯,王嵩.基于內容熱度與節點介數的NDN網絡緩存策略.計算機系統應用,2017,26(12):165–169. http://www.c-sa.org.cn/1003-3254/6105.html
2017-03-14; 修改時間: 2017-03-31; 采用時間: 2017-04-07