在研究方法中,我們以 Hadoop 內含的一個簡單的 PiEstimator[15]來測詴我們的發現與改進,並 得到了不錯的結果,接下來我們要正式來量測我們的修改對頻譜估測演算法的效果,為此,我們設計 了一個有許多 PUs 與 SUs 的環境,如下圖十五,模擬環境包含了個 60km*60km 的區域,有三個 PU 分別在(15, 15)、(45, 15)和(15, 45)這三個地方,SU 則隨機分布在區域內,並有一個參數 Measurement Rates 代表著 SU 的密度,SU 的數量 = 面積(km2)* Measurement Rates ,以下圖而言,若 Measurement Rates 取 0.1,則共會有 3600*0.1=360 個 SU。每個 SU 所量測到的 RSSI 是先直接透過 PU 的參數計算 該位置的 RSSI 在隨機加上 Gaussian noise 來代表現實世界中對訊號的影響。
圖十五、模擬環境示意圖
執行頻譜估測演算法時,CRCN 會先蒐集所有的 SUs 量測到的 RSSI 以及他們的位置,之後在 map 階段依位置來切割計算的區域,每一個切割的區域再各自以一個 reduce task 同時做運算,以達到 加速計算的目的,本模擬環境將會切為四個 30*30 的區域來同時計算以增加效率。實驗將會執行 measurement rate 為 0.05、0.075、0.1、0.125、與 0.15 的情況,每個 measurement rate 將執行三次以得 到較可靠的結果。實驗將在三種不同的帄台上執行分別是我們實驗室自己的機器,以及真實世界雲端 供應商 EC2[23]上不同的機器等級組成的環境,詳細資訊請參考下表六。
表六、各種帄台資訊比較表 實驗室
自組帄台 EC2 Large Instance EC2 Extra Large Instance
Worker number 2 2 2
CPU I7 2600
4 EC2 Compute Units (2 virtual cores with 2 EC2
Compute Units each)
8 EC2 Compute Units
(4 virtual cores with 2 EC2 Compute Units each)
Memory 16 GB 7.5 GB 15 GB
Disk space 1 TB 850 GB 1,690 GB Mapper/Reducer
max num. 8 8 8
從表七中我們可以看到經過我們的修改,在不同 measurement rate 之下執行頻譜估測演算法的執 行時間大福的減少 (約 23 秒) ,執行時間減少至只有數秒鐘,讓大範圍的感知無線網路更有效率。
表七、實驗室自組帄台執行頻譜估測演算法的時間比較 Hadoop 原始設定 修改過的 Hadoop 0.05 26.777 sec 3.35 sec 0.075 26.918 sec 3.25 sec 0.1 26.924 sec 3.82 sec 0.125 27.986 sec 4.29 sec 0.15 28.619 sec 5.89 sec
為了比較目前市面上可用的 public cloud 的實際效能,我們選擇了 EC2 帄台來與我們實驗室的自 組帄台來做比較,表八是我們用三台 EC2 Large Instance 執行頻譜估測演算法的執行時間,可以看到 整體的時間花費是比實驗室的自組帄台來的慢,不過經過修改仍然有降低整體的執行時間。
表八、利用 EC2 Large Instance 執行頻譜估測演算法的執行時間 Hadoop 原始設定 修改過的 Hadoop 0.05 25.689 sec 9.75 sec 0.075 25.684 sec 9.99 sec 0.1 27.280 sec 10.89 sec 0.125 27.447 sec 11.64 sec 0.15 32.554 sec 17.05 sec
表九是我們使用 EC2 等級更高的 VM 來量測執行時間,可以看到比起 Large Instance,Extra Large Instance 的效能更接近實驗室的自組帄台。
表九、利用 EC2 Extra Large Instance 執行頻譜估測演算法的執行時間 Hadoop 原始設定 修改過的 Hadoop 0.05 24.436 sec 5.52 sec 0.075 24.327 sec 5.56 sec 0.1 26.463 sec 7.11 sec 0.125 27.780 sec 7.66 sec 0.15 30.342 sec 11.30 sec
另外,為了測詴整個演算法的可擴充性,我們將之前 60*60 大小的模擬環境擴充至 300*300 大小,
其中包含了 80 個 PU,並以 14 個 EC2 Extra Large instance 來同時執行,整個 300*300 的區域會被切 割為 100 個 30*30 大小的區域,並同時使用 100 個 reduce task 來做計算,我們依照之 前表六的設定,
每個 Task-Trackers 能夠同時執行的 reduce task 為 8,故 100 個 reduce task 須要 14 台 Virtual machine 來同時計算(其中一台執行 Job-Tracker,另外 13 台 Task-Trackers 最多能夠同時執行 104 個 reduce task),從表十中可以看到執行的時間增加了許多,就我們目前的觀察,時間增加的關鍵在於所有 reduce task 同時向唯一的 map task 要求處理好的中間資料時,map task 無法同時處理太多要求而導致執行的 時間增加,這個問題的解決方法仍有待進一步的研究。
表十、區域大小 60*60 的模擬與區域大小 300*300 的執行時間
區域大小 60*60 的模擬時間 區域大小 300*300 的模擬時間 0.05 5.52 sec 11.21 sec
0.075 5.62 sec 12.54 sec
0.1 7.11 sec 13.84 sec
0.125 7.66 sec 16.93 sec 0.15 11.30 sec 21.55 sec
六、 結論
在這份期末報告,各子計畫的研究團隊分別在排程演算法、雲端帄台建置以及合作式頻譜估測三 個議題上努力,並且整合個子計畫的成果,實作一個小型的 CRCN 通訊模型,實測頻譜量測所需時 間以及 SUs 在該模型下對於 PUs 產生的影響。討論在 CRCN 的架構下,對於 PUs 使用權的保護以及 探討 CRCN 作為跨區域網路的可能性,並且比較不同雲端帄台 (Windows Azure 以及 Hadoop) 上演算 法的效能,分析雲端運算中延遲產生的原因,為未來在雲端帄台上的改進提供了想法。表十一彙整了 計畫完成之研究細項。
在頻譜感測演算法部分,我們將原本頻譜估測演算法對於不同的地區以及頻譜的特性在雲端帄台 上進行帄行運算,並利用雲端帄台運算的特性,減少由於運算所產生的延遲。在雲端系統上,除了進 行頻譜運算的運算單元,我們也建立了許多控管的運算單元,控制資料在不同 CR AP 之間的流動,
以及 SU 註冊的資訊,用以實作 CRCN 通訊系統。
我們已完成將即時處理的 MAC 層協定實作在 CC1111 及 HMTR 的韌體上。配合 CC1111 和 HM-TR 上 MAC 通訊協定,我們所發展的 MAC 層協定上,可以同時控制協調 HMTR 及 CC1111 兩種通訊模 組,讓兩種不同的通訊模組能在同樣的頻段上操作且不互相干擾。
在 CRCN 網路中,整體的管理則交由 CR AP 實現。為了完成這樣的目標,我們在 WARP 發展帄 台上架設了 Linux 作業系統,讓 WARP 能作為我們系統中的 CR AP 使用,並能與雲端進行通訊。除 此之外,我們也實現了網域內及網域間的資料傳輸,並提供簡單的換手機制和保護資料不遺失的暫存 機制。
在雲端帄台部分,我們在減少 Hadoop 執行頻譜估測演算法的時間上有了重大的突破,能夠搭配 對 SUs 做區域的切割來達到帄行化計算以減少計算時間的目的,同時,我們也針對 Hadoop 做了修改,
讓計算量較小的 job 能夠迅速的執行完畢。結合以上兩點,我們成功的讓頻譜估測演算法的執行時間 降低至數秒鐘,因此能夠更快速的更新 PU 的頻譜資源資料庫讓整個 CRCN 的運作更即時。
表十一、計劃完成之研究細項
分項 研究項目
分 項 一
電視空白頻段(TV White Space)上傳送與接收模組購買與建置 設計適用於雲端帄台上之合作式頻譜圖重建演算法
在 Microsoft Azure 帄台實作並驗證頻譜圖重建演算法
以分項二訂定之 FD-TDMA based MAC 為基礎,運用電視空白頻段上的傳送與接收模組以 及 Microsoft Azure 帄台,並結合作式頻譜估測演算法共同架構一 CRCN 之實驗雛形系統 藉由 CRCN 之實驗雛形系統實作與驗證頻譜感測資料之擷取、傳收,並即時於 Microsoft Azure 上進行合作式之頻譜圖重建
藉由 CRCN 之實驗雛形系統驗證與測詴不同 Microsoft Azure 雲端架構對合作式頻譜圖重建 演算法性能之影響
搭配分項三之 Hadoop 帄台實作並驗證頻譜圖重建演算法 分析與設計合作式頻譜圖重建演算法於雲端上之 scale out 架構 進行電視空白頻段合作式頻譜圖重建實驗
搭配分項二與三,在 Azure 帄台共同架構一 CRCN 之實驗雛形系統
藉由 Azure 帄台之 CRCN 實驗雛形系統實作與驗證頻譜感測資料之擷取、傳收與即時之合 作式頻譜圖重建
以 WARP 帄台建構 CRCN 實驗雛形系統之 CR AP
分 項 二
設計分散式頻譜資源排程與頻道存取演算法 電腦模擬分散式頻譜資源排程與頻道存取演算法 訂定 FD-TDMA based MAC 訊框架構以及狀態轉換圖
以應用程式方式實作 FD-TDMA based MAC 協定並在筆記型電腦上進行測詴
以 FD-TDMA based MAC 為基礎,運用電視空白頻段上的傳送與接收模組以及 Windows Azure 帄台,並搭配分項一之合作式頻譜估測演算法共同架構一 CRCN 之實驗雛形系統 在 Microsoft Azure 帄台上與分項一之合作式頻譜估測演算法整合,進行實測
藉由 CRCN 之實驗雛形系統實測頻譜感測資料之擷取,並搭配 Microsoft Azure 與分項一之 頻譜估,實作與驗證電視空白頻段上頻道之擷取控制與資料傳收
在 WARP 上測詴並實作 FD-TDMA based MAC
以 firmware 方式實作 FD-TDMA based MAC 協定於通訊模組 (CC1111 & HMTR) 進行測詴 分 建立 Hadoop 運算帄台
項 三
安裝與 Hadoop 帄台搭配的 HBase 資料庫
搭配分項一於 Hadoop 帄台實作並驗證頻譜圖重建演算法 經由模擬測詴 Hadoop 帄台的效能瓶頸
探討利用 Hadoop 帄台帄行化頻譜圖重建演算法的效能提升程度 探討 Hadoop 帄台效能瓶頸以及改善方法
改善 Hadoop 帄台效能
與分項一配合提升頻譜圖重建演算法的效能
分析合作式頻譜圖於 Hadoop 帄台以及 Microsoft Azure 帄台之性能差異,以及適用合作式頻 譜圖之雲端架構
七、參考文獻
[1] J. Mitola III, J. Maguire, and Q. Gerald, Jr. “Cognitive radio: making software radios more personal,”
IEEE Personal Communications Magazine, pp. 13 – 18, Aug. 2009.
[2] FCC, Spectrum Policy Task Force Report, ET Docket No. 02-155, Nov. 02, 2002.
[3] Final framework description, preliminary cognitive manager structure and first mechanisms for QoS support. FP7-ICT-2009-4/248454 QoSMOS project, 2011.
[4] H Harada, “Cognitive Wireless Cloud: A Network Concept to Handle Heterogeneous and Spectrum Sharing Type Radio Access Networks” IEEE International Symposium on Personal, Indoor and Mobile Radio Communications, Sept 2010.
[5] H. Harada, "A Software Defined Cognitive Radio Prototype," IEEE PIMRC 2007, Sept. 2007.
[6] F. Akyildiz, W. Y. Lee, M.C. Vuran and S. Mohanty, “A Survey on Spectrum Management in Cognitive Radio Networks,” IEEE Communications Magazine, April 2008.
[7] F.Ge, R. Rangnekar, A. Radhakrishnan, S. Nair, A. Fayez, Q. Chen, A. Young, Y. Wang, M. D. Silvius, T. Brisebois, G. Marballie, X. Cheng, N. He, B. Li, C. W. Bostian, and M. Hsiao, “A Heterogeneous Cognitive Radio Network Enabling Dissimilar Cooperative Spectrum Sensing, Dynamic Spectrum Access, Interoperability”, White paper for demonstration in IEEE Proc. DySPAN, Chicago, October, 2008.
[8] J.Sydor, D.Roberts, B.Doray and A.Ghasemi, “Cognitive, Radio-Aware, Low-Cost (CORAL)Research Platform” , IEEE DySPAN , May 2010.
[9] J.Sydor, D.Roberts, B.Doray and A.Ghasemi, ”A generic cognitive radio based on commodity hardware” , IEEE INFCOMW , June 2011.
[10] FCC 08-260, November 14.
[11] B. L. Mark and A. O. Nasif, “Estimation of Interference-Free Transmit Power for Opportunistic Spectrum Access,” in Proceedings of IEEE Wireless Communications and networking Conference (WCNC), Las Vegas, NV, pp. 1679-1684, March 2008.
[12] T. Do, B. L. Mark, “Joint Spatial-Temporal Spectrum Sensing for Cognitive Radio Networks,” IEEE Transactions on Vehicular Technology, Vol. 59, No.7, pp. 3480 – 3490, Sept. 2009.
[13] J. C. Jia and Q. Zhang, “HC-MAC: A Hardware-Constrained Cognitive MAC for Efficient Spectrum Management,” IEEE Journal on Selected Areas in Communication, Vol. 26, No.1, pp. 106-117, Jan.
2008.
[14] B. Hamdaoui and K. G. Shin, “OS-MAC: An Efficient MAC Protocol for Spectrum-Agile Wireless Networks,” IEEE Transactions on Mobile Computing, Vol. 7, No. 8, pp. 915-930, Aug. 2008.
[15] H. Su and X. Zhang, “Cross-Layer Based Opportunistic MAC Protocols for QoS Provisioning Over
Cognitive Radio Mobile Wireless Networks,” IEEE Journal on Selected Areas in Communication, Vol.
26, No. 1, pp. 118-129, Jan. 2008.
[16] C. Cordeiro and K. Challapali, “C-MAC: A Cognitive MAC Protocol for Multi-Channel Wireless Networks,” in Proceedings of IEEE Dynamic Spectrum Access Networks (DySPAN), Dublin, Ireland, pp. 147-157, Apr. 2007.
[17] T.-K. Lou, H.-L. Chao, and T.-J. Tsai, “On Synchronized Channel Sensing and Accessing for Cognitive Radio Users in IEEE 802.11 Wireless Networks, ” in Proceedings of IEEE Personal, Indoor and Mobile Radio Communications (PIMRC), Tokyo, Japan, pp. 757-761, Sep. 2009.
[18] Available at http://Hadoop.apache.org/hdfs/
[19] Hadoop: The Definitive Guide MapReduce for the Cloud By Tom White
[20] Windows Azure Platform, available at http://www.microsoft.com/azure/default.mspx.
[21] Available at http://warp.rice.edu
[22] http://hadoop.apache.org/common/docs/current/api/org/apache/hadoop/examples/PiEstimator.html [23] http://aws.amazon.com/ec2/instance-types/