Đánh giá các dịch vụ thông qua mô hình lập lịch WRR

Một phần của tài liệu Đánh giá thuật toán lập lịch cho dịch vụ VoIP trong hệ thống WiMAX Luận văn ThS. Kỹ thuật điện tử - viễn thông (Trang 89)

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. Các tham số được thể hiện trong bảng 4.6

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 (adsbygoogle = window.adsbygoogle || []).push({});

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.

[10] White Paper: “High-speed wireless OFDM communication systems” Wi-LAN Inc., February 2001.

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 #--- (adsbygoogle = window.adsbygoogle || []).push({});

# 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 (adsbygoogle = window.adsbygoogle || []).push({});

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 {} { (adsbygoogle = window.adsbygoogle || []).push({});

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

Một phần của tài liệu Đánh giá thuật toán lập lịch cho dịch vụ VoIP trong hệ thống WiMAX Luận văn ThS. Kỹ thuật điện tử - viễn thông (Trang 89)