CHƢƠNG 1 : GIỚI THIỆU VỀ CÔNG NGHỆ WIMAX
4.4.4 Đánh giá các dịch vụ thông qua mô hình lập lịch WRR
Thuật toán WRR được ứng dụng vào rất nhiều lĩnh vực như là chia sẻ tài nguyên trong máy tính hay một hệ thống mạng… Dựa trên module WiMAX được phát triển bởi phòng thí nghiệm Network & Distributed System Laboratory (NDSL), Đài Loan chúng tôi mô phỏng một mô hình như hình 4.7
89
Hình 4.7: Mô hình mô phỏng.
Trong kịch bản này chúng tôi mô phỏng 9 trạm thuê bao SS kêt nối tới 1 trạm gốc
Đầu tiên mô hình sẽ hoạt động với 5 trạm thuê bao SS có luồng traffic UGS, còn 4 trạm còn lại tương ứng với các traffic rtPS, ertPS, nrtPS, BE. Cứ lần lượt thay đổi số lượng trạm SS ứng với các traffic như kịch bản bảng 4.5
UGS rtPS nrtPS ertPS BE 1 5 1 1 1 1 2 1 5 1 1 1 3 1 1 5 1 1 4 1 1 1 5 1 5 1 1 1 1 5
Bảng 4.5: Số lƣợng các trạm tƣơng ứng với các luồng traffic.
Đối với các trạm SS phân loại traffic UGS, rtPS, ertPS thì các agent UDP sẽ phát ra luồng dữ liệu VoIP. Một đặc tính quan trọng của VoIP là các khoảng nói chuyện (Talk spurt) và khoảng im lặng (Silence spurt), chiều dài của các khoảng này phụ thuộc vào sơ đồ mã hóa như là G.711, G.722 hay Adaptive Multi- Rate (AMP). Chúng tôi sử dụng sơ đồ mã hóa AMP với kích thước gói tin là 23 byte.
90
Tham số Giá trị
Tốc độ dành riêng tối thiểu (MRTR) 25 Kbps Tốc độ luồng trung bình 44 Kbps Tốc độ duy trì lớn nhất 64 Kbps
Độ trễ lớn nhất 100m
Dung sai mất gói tin 10%
Talk Spurt Hàm phân bố mũ với μ= 147 ms
Silence Spurt Hàm phân bố mũ với μ= 167 ms
Bảng 4.6: Các tham số của VoIP
Còn đối với các trạm SS được phân loại nrtPS và BE sẽ sử dụng luồng FTP với kích thước gói tin 150 byte, tốc độ MRTR là 46 Kbps và tốc độ MSTR là 500 Kbps.
Hình 4.8 mô tả mô hình được xuất ra bởi phần mềm NAM (Network Animator) tích hợp trong NS2.
91
Hình 4.8: Mô hình giữa các trạm SS và trạm gốc BS
Trong thí nghiệm này , node 0 (trạm gốc BS) sẽ được phân tích, bởi vì tất cả các trạm thuê bao SS đều gửi dữ liệu về trạm BS và ngược lại BS cũng gửi trả dữ liệu về SS.
Chúng tôi sẽ tính toán thông lượng sử dụng, độ mất mát gói tin, và độ trễ trung bình của mạng WiMAX đơn giản này.
Kết quả mô phỏng:
+ Thông lượng mà các luồng dịch vụ sử dụng
92
93
Mô hình 3: (UGS:rtPS:nrtPS:ertPS:BE) (1:1:5:1:1)
94
Mô hình 5: (UGS:rtPS:nrtPS:ertPS:BE) (1:1:1:1:5)
Ta có thể nhận thấy rằng, thông lượng dành cho các dịch vụ phụ thuộc vào số lượng trạm sử dụng dịch vụ đó. Tuy nhiên chúng ta luôn thấy rằng thông lượng dành cho luồng dịch vụ rtPS luôn cao hơn các dịch vụ khác. Và trong 3 dịch vụ đáp ứng thời gian thực thì dịch vụ ertPS luôn đòi hỏi ít băng thông hơn.
Kết luận
Trong chương này, chúng tôi phân tích và thảo luận về các thuật toán lập lịch trong hệ thống IEEE 802.16e như là UGS, rtPS, ertPS. Để phân thích khả năng của các thuật toán, chúng tôi sử dụng EVRC với tốc độ dữ liệu biến thiên và ngắt khoảng lặng. Qua đây chúng tôi cho thấy rằng thuật toán UGS và rtPS có một số nhược điểm trong việc hỗ trợ dịch vụ VoIP như là gây lãng phí tài nguyên trong quá trình gửi lên (uplink) của thuật toán UGS hay là thời gian trễ gây ra bởi tiến trình xin cấp phát băng thông của thuật toán rtPS. Đồng thời cũng chỉ ra thuật toán ertPS có thể giải quyết các vấn đề này.
95
Bằng cách phân tích hiệu quả sử dụng tài nguyên cho thấy thuật toán ertPS có thể tiết kiệm rất nhiều băng thông so với hai thuật toán còn lại. Thêm vào đó, kết quả mô phỏng chứng minh dung lượng của thuật toán ertPS là lớn nhất. Có thể kết luận rằng thuật toán ertPS là thuật toán tốt nhất cho dịch vụ VoIP với tốc độ biến thiên và có cơ chế ngắt khoảng lặng.
96
KẾT LUẬN VÀ KIẾN NGHỊ
Trong những năm gần đây, công nghệ truy cập vô tuyến băng thông rộng không ngừng phát triển nhằm đáp ứng các yêu cầu về băng thông cũng như trễ của các ứng dụng như VoIP, hội nghị truyền hình, game trực tuyến, … Chuẩn IEEE 802.16 xác định một tiêu chuẩn truy cập Internet băng thông rộng cho các trạm cố định và di động. Chất lượng dịch vụ QoS được tiêu chuẩn IEEE 802.16 2004 đảm bảo bằng cách phân loại thành các luồng dịch vụ, nhưng các thuật toán lập lịch cho các luồng này còn đang là một hướng mở cho các nhà cung cấp.
Trong luận văn này, chúng tôi giới thiệu về công nghệ WiMAX, đưa ra các thuật toán lập lịch cho quá trình Uplink việc phân loại và mô phỏng hoạt động bằng phương pháp giả mã. Sau đó chúng tôi đi sâu phân tích các luồng dịch vụ hỗ trợ cho thuật toán VoIP và có những kết luận sau: dịch vụ cấp phát tự nguyện UGS đảm bảo tốt cho các ứng dụng thời gian thực như VoIP nhưng lại gây ra lãng phí tài nguyên, trong khi đó dịch vụ thăm dò thời gian thực rtPS dễ gây ra hiện tượng tràn và trễ. Thuật toán ertPS với ứng dụng ngắt khoảng lặng VAD cho ứng dụng VoIP được đưa ra nhằm giải quyết hai vấn đề trên nhờ vào việc tích hợp các ưu điểm của hai thuật toán UGS và rtPS. Thuật toán đã đáp ứng được về độ trễ, ít gây tràn và hỗ trợ dung lượng người dùng lớn hơn hẳn.
Hướng tiếp theo của luận văn là đi sâu vào việc mô phỏng và phân tích các thuật toán lập lịch qua đó đánh giá khả năng của mỗi thuật toán đối với các luồng phân loại. Đồng thời nghiên cứu tìm hiểu và phát triển một thuật toán có khả năng ứng dụng tốt hơn cho các ứng dụng thời gian thực như VoIP, game trực tuyến… trong hệ thống WiMAX.
97
TÀI LIỆU THAM KHẢO
[1] Y.Cao and V.Li, “Scheduling Algorithms in Broadband Wireless Networks”, Proceedings of the IEEE, pp.76-87, January 2001.
[2] B.Skrikar, “Packet Scheduling Algorithms to Support QoS in Networks”, Masters Thesis, Indian Institute of Technology, 71 pp., October 1999.
[3] IEEE 802.16-2004, “IEEE Standard for Local and Metropolitan Area Networks – Part 16: Air Interface for Fixed Broadband Wireless Access Systems”, October 2004.
[4] IEEE 802.16a-2003, “IEEE standard for Local and Metropolitan Area Networks – Part 16: Air Interface for Fixed Broadband Wireless Access Systems – Medium Access Control Modifications and Additional Physical Layer Specifications for 2-11GHz”, January 2003.
[5] IEEE 802.16c-2002, “IEEE Standard for Local and Metropolitan Area Networks – Part16: Air Interface for Fixed Broadband Wireless Access Systems – Amendment1: Detailed System Profiles for 10-66 GHz”, December 2002.
[6] IEEE 802.16e-2005, “IEEE Standard for Local and Metropolitan Area Networks – Part 16: Air Interface for Fixed and Mobile Broadband Wireless Access Systems Amendment 2: Physical and Medium Access Control Layers for Combined Fixed and Mobile Operation in Licensed Bands”, February 2006.
[7] IEEE 802.16f-2005, “IEEE Standard for Local and Metropolitan Area Networks – Part 16: Air Interface for Fixed Broadband Wireless Access Systems – Amendment1: Management Information Base”, December 2005.
[8] IEEE 802.16g, “Unapproved Draft IEEE Standard for Local and Metropolitan Area Networks – Part 16: Air Interface for Fixed and Mobile Broadband Wireless Access Systems – Amendment 3: Management Plane Procedures and Services”, February 2007.
[9] J.Wolnicki, “The IEEE 802.16 WiMAX Broadband Wireless Access; Physical Layer (PHY), Medium Access Control (MAC) layer, Radio Resource Management”, Seminar on Topics in Communications Engineering, January 2005.
98
[11] Q.Liu and X.Wang and G.Giannakis “Cross- layer scheduler design with QoS support for wireless access networks”, Proceedings of International Conference on Quanlity of Service in Heterogeneous Wired/ Wireless Networks, 8 pp.., August 2005
[12] “Network Simulator”, URL: http://www.isi.edu/nsnam/ns
[13] K.Wongthavarawat, and A.Ganz. “ Packet scheduling for QoS support in IEEE 802.16 broadband wireless access systems” International Journal of
Communication System, vol.16, issue 1, pp. 81-96 February 2003
[14] D.Nyato and E.Hossain, “ A Queuing- Theoretic Optimazation- Based Model for Radio Resource Mangement in IEEE 802.16 Broadband Wireless Network”, IEEE Transactions on Computer, vol 55, no11, pp. 1473- 1488, November 2006
99
Phụ lục 1:
#---
# Chuong trinh mo phong mang Wimax voi 9 SS node va 1 BS node #---
# Define option
set opt(chan) Channel/WirelessChannel ; # channel type
set opt(prop) Propagation/TwoRayGround ;# radio-propagation model
set opt(netif) Phy/WirelessPhy ; # network interface type
set opt(mac) Mac/802_16; # MAC type
set opt(ifq) Queue/DropTail/PriQueue ;# interface queue type
set opt(ll) LL ;# link layer type
set opt(ant) Antenna/OmniAntenna ;# antenna model
set opt(ifqlen) 50 ;# max packet in ifq
set opt(adhocRouting) RAgent_802_16 ;# routing protocol
set opt(cp) "" ;# connection pattern file
set opt(sc) "" ;# node movement file.
set opt(x) 670 ;# x coordinate of topology
set opt(y) 670 ;# y coordinate of topology
set opt(seed) 0.0 ;# seed for random number gen.
set opt(stop) 80 ;# time to stop simulation
set num_bs_nodes 1 ;# number of base station nodes
set opt(nn) 9 ;# number of mobile nodes
set num_tcp_flows 3 ;# number of TCP flows
set dumpinterval 0.1 ;# time interval recording tcp status
#Antenna/OmniAntenna set X_ 0 #Antenna/OmniAntenna set Y_ 0 #Antenna/OmniAntenna set Z_ 1.5 #Antenna/OmniAntenna set Gt_ 1.0 #Antenna/OmniAntenna set Gr_ 1.0 # Set up 802.16 Variables: source $env(NS_HOME)/ns-2.28/ieee802_16/tcl/lib/ns-mac802_16-lib.tcl source $env(NS_HOME)/ns-2.28/ieee802_16/tcl//lib/ns-mac802_16-defaults.tcl
Mac/802_16 set DL_bandwidth_ 20.0e6 ;# Downlink tx_rate 20Mbps
Mac/802_16 set UL_bandwidth_ 20.0e6 ;# Uplink tx_rate 20Mbps
Mac/802_16 set UplinkRatio_ 0.5; # Ratio of uplink slots in a frame
Mac/802_16 set MiniSlotLength_ 2; # Slot Length in Bytes
# Create Simulator Object: set ns_ [new Simulator]
# Set up Hierarchical Routing:
$ns_ node-config -addressType hierarchical
AddrParams set domain_num_ 2 ;# number of domains
lappend cluster_num 2 1 ;# number of clusters in each domain
AddrParams set cluster_num_ $cluster_num
lappend eilastlevel 1 1 4 ;# number of nodes in each cluster
AddrParams set nodes_num_ $eilastlevel ; # of each domain # Set up Trace Files:
set tracefd [open ex1.tr w] set namtrace [open ex1.nam w] $ns_ trace-all $tracefd
$ns_ namtrace-all-wireless $namtrace $opt(x) $opt(y) for {set i 1} {$i <= $num_tcp_flows} {incr i} {
set tcp_status_record_file($i) [open ITCP${i}STATUS.dat w] }
# Create Topography: set topo [new Topography]
100
# Create Object God:
create-god [expr $opt(nn) + $num_bs_nodes] # Create Scheduler802_16
set ms_ [new Scheduler_802_16]
# Configure and Create Base-station node:
$ns_ node-config -adhocRouting $opt(adhocRouting) \ -llType $opt(ll) \ -macType $opt(mac) \ -ifqType $opt(ifq) \ -ifqLen $opt(ifqlen) \ -antType $opt(ant) \ -propType $opt(prop) \ -phyType $opt(netif) \ -channelType $opt(chan) \ -topoInstance $topo \ -wiredRouting ON \ -agentTrace ON \ -routerTrace OFF \ -macTrace OFF set temp {1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.0.10}
set BS(0) [$ns_ node [lindex $temp 0]] ;# create BS
$BS(0) random-motion 0; # disable random motion
;# Initial position $BS(0) set X_ 1.0 $BS(0) set Y_ 2.0 $BS(0) set Z_ 0.0
# Configure and Create Mobile nodes: $ns_ node-config -wiredRouting OFF
for {set j 0} {$j < $opt(nn)} {incr j} {
set node_($j) [ $ns_ node [lindex $temp [expr $j+1]] ]
$node_($j) base-station [AddrParams addr2id [$BS(0) node-addr]] }
# Create Topology: Queue set limit_ 30
$ns_ duplex-link $W(0) $W(1) 10Mb 10ms DropTail $ns_ duplex-link $W(1) $BS(0) 3Mb 10ms DropTail for {set i 0} {$i < $opt(nn) } {incr i} {
$node_($i) set X_ [expr 100 + $i] $node_($i) set Y_ [expr 10 * $i] $node_($i) set Z_ 0
}
# Construct static arp table for 802.16 network proc construct-arptable {} {
global BS node_ opt [$BS(0) set arptable_] construct-static-arptable for {set j 0} {$j < $opt(nn)} {incr j} {
[$node_($j) set arptable_] construct-static-arptable }
}
construct-arptable # Create TCP flows
proc create-tcp-connections {} {
global ns_ tcp ftp sink node_ W opt ftcp num_tcp_flows for {set j 1} {$j <= $num_tcp_flows} {incr j} {
set tcp($j) [new Agent/TCP] $tcp($j) set fid_ [expr $j] set sink($j) [new Agent/TCPSink]
101
$ns_ attach-agent $node_([expr $j-1]) $tcp($j) $ns_ attach-agent $W(1) $sink($j)
$ns_ connect $tcp($j) $sink($j) set ftp($j) [new Application/VoIP] $ftp($j) attach-agent $tcp($j) set ftpjstart [expr $j*0.1]
$ns_ at $ftpjstart "$ftp($j) start" $tcp($j) set starts $ftpjstart $ns_ at $opt(stop) "$ftp($j) stop" }
for {set j 1} {$j <= $num_tcp_flows} {incr j} { set ftcp($j) [open tcp_cwnd_trace_${j}.tr w] $tcp($j) attach-trace $ftcp($j) $tcp($j) trace t_seqno_ $tcp($j) trace ack_ } } create-tcp-connections # Set Simulation Stoptime proc stop {} {…}
$ns_ at 0 "$ms_ start-scheduler_802_16" for {set i } {$i < $opt(nn) } {incr i} { $ns_ at $opt(stop).0 "$node_($i) reset"; }
$ns_ at $opt(stop).0 "$BS(0) reset"; $ns_ at $opt(stop) "stop"
$ns_ at $opt(stop) "puts \"NS EXITING...\" ; $ns_ halt" #Prepare to record Data
Simulator instproc dump_tcps_title {} {…} Simulator instproc dump_tcps {} {…}
$ns_ dump_tcps_title
for {set stat_record_time 1}
{$stat_record_time < [expr $opt(stop) + 1] } {incr stat_record_time} { $ns_ at $stat_record_time "$ns_ dump_tcps"
}
# Finally, Run
puts "Starting Simulation..." $ns_ run