2011年6月9日 星期四

NS2 計算電量

想要在ns2裡面,模擬節點的power consumption,
首先,先確定自己的NS2版本夠新,有安裝到新版的 energy module,
ns-2.29版以後的應該沒問題。
若不確定,請依照 energy model網頁 所寫,
看一下ns-2/trace/cmu-trace.cc 檔是不是網頁上的新版。

接下來,參考ns2網頁提供的 tcl 檔
在一開始的時候,給定每個節點多少watt的電量,
然後在  $ns_ node-config 之處,設定
energyModel $opt(energymodel) \ macTrace ON \......等等
p.s 原來的tcl,在MAC層跑的是Mac/SMAC,
但大部分我們跑的都是 Mac/802_11,
只要直接將名字取代就可以了。

這樣模擬在跑時,就會把trace記錄下來,
同時顯示動作之後,有動作的節點的剩餘電量。
模擬跑完後,打開記錄檔可以發現,
每當傳送或接收封包,節點電量就會減少,
就可以由剩餘電量倒推耗電量。

當模擬一久,trace檔會非常龐大,
我跑了3000秒,trace檔就高達3.2G...
請先有心理準備......

由於trace檔的格式,會同時具有routing 以及電量的顯示,
兩個格式不一樣,若要parse也要小心處理。
Trace format 請參考 這裡,移動以及電量的格式則是這裡

這樣就可以初步估算出電量,
但若想更精準的依照封包大小扣除電量,
則要花時間去trace ns-2/mac/wireless-phy.{h,cc}, ns-2/mobile/energy-model.{h,cc} 這些檔案了,請原諒我還沒有時間去看^^""
 
--
相關網頁:
http://www.isi.edu/ilense/software/smac/ns2_energy.html
http://www.ptt.cc/bbs/Network_Sim/M.1248944220.A.CB7.html
http://nsnam.isi.edu/nsnam/index.php/NS-2_Trace_Formats


Related Posts with Thumbnails