Cấu trúc trạm BS

Một phần của tài liệu Nghiên cứu các thuật toán lập lịch tối ưu cho UGS trong WIMAX luận văn ths công nghệ thông tin 60 48 15 pdf (Trang 58 - 86)

Hình 4.4: Cấu trúc trạm BS [21]

Khối phân loại luồng (Flow Classifier): Khối này thực hiện các chức năng của lớp con 802.16 MAC CS đó là ánh xạ các đơn vị dịch vụ dữ liệu (SDUs) ở các lớp cao hơn vào các số định danh luồng dịch vụ (SFID) và số định danh kết nối (CID) thích hợp. Khối này cũng thực hiện việc nén tiêu đề nếu có một quy tắc tương ứng được định nghĩa cho luồng dịch vụ. Tất cả các gói tin đến từ các lớp cao hơn (Lớp ứng dụng) đều đi qua khối này trước khi được đưa đến các hàng đợi tương ứng với các số CID.

Bộ lập lịch (Scheduler DL ARQ/HARQ): Bộ lập lịch là một khối phức tạp bởi vì nó cần thu thập nhiều thông tin để lập lịch các gói dữ liệu một cách chính xác và hiệu quả. Bộ lập lịch cần lưu giữ những thông tin như:

• Thông tin QoS cho mỗi luồng.

• Trạng thái hàng đợi DL của mỗi luồng.

• UL BW grant (bao gồm các yêu cầu băng thông và cấp phát băng thông được cập nhật) cho mỗi luồng hoặc cho mỗi kết nối (MS).

• Thông tin trạng thái kênh truyền của mỗi MS [21].

Thành phần của bộ lập lịch bao gồm những khối con sau đây:

Khối quản lý hàng đợi DL: Khối này quản lý các hàng đợi của mỗi kết nối bằng

cách lưu giữ các gói trong các hàng đợi khác nhau dựa vào CID của các gói đó. Khối này lưu trữ các thông tin như là tổng số gói, tổng kích thước dữ liệu của mỗi hàng đợi, và cung cấp giao diện để đưa gói vào-ra các hàng đợi cũng như các truy vấn trạng thái của mỗi hàng đợi.

Khối lập lịch UL/DL: Nhiệm vụ của khối này là quyết định đúng thứ tự của mỗi

luồng và lập lịch chính xác các gói tin để truyền.

Khối cấp phát tài nguyên DL: Nhiệm vụ của khối này là quyết định kích thước và

vị trí của mỗi burst dữ liệu trong khung.

Khối phân mảnh/đóng gói gói tin: Khe dữ liệu được cấp phát có thể không

vừa với kích thước của gói tin trong các hàng đợi, sự phân mảnh và đóng gói là cần thiết để sử dụng hiệu quả các khe dữ liệu được cấp phát.

Khối UL ARQ: Khối này quản lý các gói tin được nhận sai thứ tự. Thông tin phản hồi ARQ được gửi về phía phát thông qua thông tin trạng thái được truyền giữa khối này và khối DL ARQ/HARQ.

Khối xử lý khung DL (DL Frame Assembler): Khối này kết hợp tất cả các gói tin tạo ra bởi bộ lập lịch để tạo nên một khung truyền và thêm vào một số thông tin như DL và UL MAP. Sau đó khối này đưa các khung DL tới khối Tx PHY.

Khối phân loại gói (Packet Parser): Khối này phân loại các gói tin đến dựa trên thông tin loại gói ghi trên header: gói dữ liệu hay gói điều khiển. Một số ví dụ về gói điều khiển là các gói yêu cầu băng thông (BWR – Bandwidth Request), gói CQICH. Các gói dữ liệu được gửi trực tiếp tới các lớp cao hơn sau khi quá trình ARQ hoàn tất.

Khối Tx/Rx PHY: Khối DL PHY đơn giản chỉ làm nhiệm vụ đẩy các gói tin truyền đi trên kênh vô tuyến.

Hình 4.5: Cấu trúc trạm di động MS

Cấu trúc của một trạm MS được mô tả trên hình 4.4. Một trong những chức năng chính của trạm MS là phân loại các UL-MAPs đến và trích xuất thông tin (thời gian bắt đầu và kết thúc trong trường hợp SC-PHY) và xử lý cụm sử dụng dữ liệu từ các hàng đợi dữ liệu gắn với mỗi MS [21].

Bộ lập lịch UL (UL Scheduler ARQ/HARQ Module): Bộ lập lịch UL nhận băng thông được cấp phát cho MS trong mỗi khung từ khối phân loại gói và sau đó lập lịch một lượng chính xác dữ liệu vào các khe UL được cấp phát.

Xử lý UL (UL Assembler): Khối này quét các hàng đợi tại MS và tạo ra một “cụm” (burst) dữ liệu vừa với khe được cấp phát. Chức năng của các khối còn lại tương tự như của trạm gốc BS đã được phân tích ở trên.

4.3.3 Bộ lập lịch UL/DL

Trên hình 4.5 bộ lập lịch được chia làm 2 phần. Một phần nằm ở BS và phần còn lại nằm ở MS. Bộ lập lịch ở BS (wimax/scheduling/bsscheduler.cc) chịu trách nhiệm cấp phát băng thông cho đường downlink và uplink qua khung các bản tin DL-MAP và UL-MAP. Bộ lập lịch ở MS (wimax/scheduling/ssscheduler.cc) chịu trách nhiệm phân chia băng thông cho đường cấp phát cho MS cho các kết nối của nó. Thuật toán lập lịch mặc định là thuật toán lập lịch xoay vòng Round Robin.

Hình 4.6 Các thành phần của bộ lập lịch tại BS và SS [21] 4.4 Kịch bản mô phỏng

Sử dụng phần mềm mô phỏng mạng NS2 allinone 2.31 và module WiMAX của NIST. Mô hình mạng sử dụng trong các kịch bản mô phỏng gồm có một trạm gốc BS với bán kính phủ sóng là 500m, một SinkNode để nhận các gói tin thuộc các luồng dịch vụ khác nhau bởi BS thông qua một liên kết 100Mbps, trễ 1ms, hàng đợi DropTail. Trong bán kính phủ sóng của BS, có một số MS gửi các luồng dịch vụ UGS và BE.

Với các thời điểm truyền nhận dữ liệu như hình 4.2:

4.2.2 Kết quả mô phỏng 4.2.2.1 Kịch bản mô phỏng

Hình 4.8 Kịch bản mô phỏng cho luồng BE và UGS Các tham số mô phỏng được liệt kê trong bảng 4.1

Tham số Giá trị

Simulator NS-2 (Version 2.31) Channel type Wireless channel Radio propagation model Propagation/OFDMA Network interface type Phy/WirelessPhy/OFDMA

MAC type Mac/802_16/BS

Routing protocol NOAH

Antenna model Antenna/OmniAntenna Link layer type LL

Frame size (msec) 5

Duplex scheme TDD

Modulation Technique BPSK Simulation time 80s

Bảng 4.1: Tham số mô phỏng Khi cố định kích thước gói tin:

1 100 mbps, 1ms, Drop Tail Sink node BS Luồng BE Luồng UGS 3 Luồng UGS 1 Luồng UGS 2 MS3 MS1 MS2 MS4 2 3 4

Khi cố định kích thước gói tin là: 1500byte, ta có bảng 4.2 kết quả thông lượng trung bình cho các luồng khác nhau, kết quả thông lượng bảng 4.2 là lấy giá trị trung bình sau 10 lần mô phỏng.

Luồng dịch vụ Kích thước gói Thông lượng (kbps) Ghi chú

Luồng UGS 1 1500byte 239.43

Luồng UGS 2 1500byte 239.70

Luồng UGS 3 1500byte 238.85

Luồng BE 1500byte 155.03

Bảng 4.2. Thông lượng trung bình cho các luồng khi cố định kích thước gói tin là 1500byte

Nhận xét: Thông lượng đạt được của các luồng không khác nhau nhiều, xoay quanh giá trị 240 mbps. Hình 4.4 là đồ thị thông lượng khi cố định kích thước gói tin.

Hình 4.9 Đồ thị thông lượng các luồng dịch vụ BE và UGS với thuật toán RR khi cố định kích thước gói tin 1500byte

Độ trễ (delay) trung bình gói tin, khi kích thước gói tin cố định, kết quả độ trễ bảng 4.3 là lấy giá trị trung bình sau 10 lần mô phỏng.:

Tên luồng Độ trễ trung bình (ms) Luồng UGS 1 1.2185 Luồng UGS 2 1.2065 Luồng UGS 3 1.3042 Luồng BE 1.2264 0.00 50.00 100.00 150.00 200.00 250.00 300.00

Luồng UGS 1 Luồng UGS 2 Luồng UGS 3 Luồng BE Luồng BE1

Luồng UGS 1 Luồng UGS 2 Luồng UGS 3 Luồng BE Luồng BE1 T h ô n g l ư ợ n g ( k b p s) Kịch bản

Bảng 4.3 Độ trễ trung bình cho các luồng dịch vụ với kích thước gói cố định Hình 4.5 là đồ thị độ trễ gói tin ứng với trường hợp gói tin có kích thước 1500byte.

Hình 4.10 Đồ thị độ trễ gói tin cho các luồng dịch vụ với kích thước gói cố định Khi thay đổi kích thước gói tin

Kịch bản mô phỏng như hình 4.8: Với 3 luồng dịch vụ UGS và 1 luồng BE, với kích thước gói tin lần lượt là: 60byte, 150byte, 1500byte, 1500byte, áp dụng cho thuật toán RR.

Bảng thông lượng trung bình qua 10 lần chạy:

Luồng dịch vụ Kích thước gói Thông lượng (kbps) Ghi chú

Luồng UGS 1 60byte 12.69

Luồng UGS 2 150byte 26.89

Luồng UGS 3 1500byte 241.48

Luồng BE 1500byte 160.27

Bảng 4.4 Bảng thông lượng cho các luồng dịch vụ khi thay đổi kích thước gói tin Hình 4.6 là đồ thị thông lượng khi kích thước gói tin thay đổi.

0 0.5 1 1.5 2 2.5

Luồng UGS 1 Luồng UGS 2 Luồng UGS 3 Luồng BE Luồng BE1

Luồng UGS 1 Luồng UGS 2 Luồng UGS 3 Luồng BE Luồng BE1 D el a y ( m s)

Hình 4.11 Đồ thị thông lượng các luồng dịch vụ BE và UGS với thuật toán RR khi kích thước gói tin thay đổi

Nhận xét: Khi kích thước gói tin tăng lên, thông lượng sẽ tăng, có sự thay đổi lớn, với thời gian mô phỏng là tương tự nhau.

Độ trễ (delay) trung bình gói tin, khi kích thước gói tin thay đổi: Tên luồng Độ trễ trung bình

(ms)

Luồng UGS 1 1.0194

Luồng UGS 2 1.0258

Luồng UGS 3 1.2248

Luồng BE 1.2490

Bảng 4.5 Độ trễ trung bình cho các luồng dịch vụ với kích thước gói thay đổi Đồ thị độ trễ được mô tả như hình 4.7

0.00 50.00 100.00 150.00 200.00 250.00 300.00

Luồng UGS 1 Luồng UGS 2 Luồng UGS 3 Luồng BE Luồng BE1

Luồng UGS 1 Luồng UGS 2 Luồng UGS 3 Luồng BE Luồng BE1 T h ô n g l ư ợ n g ( k b p s) Kịch bản Luồng BE

Hình 4.12 Đồ thị độ trễ gói tin cho các luồng dịch vụ với kích thước gói thay đổi Nhận xét: Khi kích thước gói tin tăng lên, độ trễ trung bình cũng tăng lên, nhưng độ trễ tăng không đáng kể.

4.5 Kết luận

Khi áp dụng thuật toán RR vào lập lịch gói tin cho luồng dịch vụ UGS, kết quả là, thông lượng chỉ công bằng khi các gói tin trong các luồng có kích thước bằng nhau và không công bằng thông lượng khi kích thước gói tin trong các luồng thay đổi. Các giá trị về độ trễ delay, vẫn trong khoảng chấp nhận được. Vậy không đảm bảo các thông số QoS.

4.6 Thuật toán DRR

Căn cứ vào nhược điểm của thuật toán lập lịch RR: Phục vụ xoay vòng cho các luồng dịch vụ, không có sự phận biệt độ ưu tiên cho các luồng dịch vụ khác nhau. Chỉ hiệu quả khi gói tin có cùng kích thước. Với luồng có độ dài gói tin lớn sẽ chiếm lợi thế băng thông, các hàng đợi khác sẽ phải chờ trong thời gian dài hơn.

Giải pháp được đưa ra, để khắc phục nhược điểm của thuật toán RR, với các luồng UGS của các dịch vụ trong WiMAX, đề xuất áp dụng thuật toán DRR, các connection cùng lớp dịch vụ UGS thay vì áp dụng thuật toán RR, áp dụng thuật toán DRR.

Có thể áp dụng cải tiến này để xây dựng những hệ thống hỗ trợ VoIP, mạng phục vụ chăm sóc khách hàng.

Mô hình thuật toán RR như hình 4.1: Cơ chế lập lịch xoay vòng cho các luồng của dịch vụ UGS, công bằng với các gói tin có kích thước cố định, và không công bằng khi gói tin có kích thước thay đổi. Và mô hình thuật toán cải tiến DRR áp dụng

0 0.5 1 1.5 2 2.5

Luồng UGS 1 Luồng UGS 2 Luồng UGS 3 Luồng BE Luồng BE1

Luồng UGS 1 Luồng UGS 2 Luồng UGS 3 Luồng BE Luồng BE1 D el a y ( m s) Kịch bản

cho WiMAX cho dịch vụ UGS như hình 4.8 và 4.9, luồng dịch vụ UGS được tách biệt khỏi các luồng dịch vụ khác, công bằng hơn khi gói tin có kích thước thay đổi.

Hình 4.13: Mô hình thuật toán DRR cho dịch vụ UGS (1)

Hình 4.14: Mô hình thuật toán DRR cho dịch vụ UGS (2)

Áp dụng thuật toán DRR cho các luồng dịch vụ UGS, ứng với lượt đầu tiên, luồng 1 được gửi 1 gói tin có kích thước 60byte, với thiết lập giá trị Quantum là 150, DC (Deficit Counter) = 90 (Vì 150byte-60byte=90byte). Vì luồng 1 có kích thước gói tin 60byte<150byte nên luồng 1 được gửi 2 gói (2*60byte=120byte), giá trị DC=150- 120=30 được lưu lại cho lần sau. Luồng 2 gói tin có kích thước 150byte=1500byte nên luồng 2 được gửi 1 gói (1*150byte=150byte), DC=0. Luồng 3, gói tin có kích thước 1500byte > 150byte, luồng không được gửi gói, DC=150 được lưu lại cho lần sau. Các lượt tiếp theo là hoàn toàn tương tự.

Khi áp dụng thuật toán DRR vào các luồng dịch vụ UGS, làm cho sự cấp phát băng thông cho các luồng này được công bằng hơn, khi kích thước gói tin thay đổi. Khi kích thước gói tin không khác nhau nhiều, thuật toán sẽ cho kết quả tương tự như thuật toán RR.

Đới với 5 luồng dịch vụ được hỗ trợ trong WiMAX, luồng dịch vụ UGS luôn được ưu tiên cao nhất, được cấp một lượng băng thông cố định. Khi những ứng dụng

(Video, FTP, HTTP) của các luồng dịch vụ khác đang hoạt động. Nếu luồng ứng dụng VoIP của dịch vụ UGS có yêu cầu cấp phát băng thông, thì bộ lập lịch ngay lập tức sẽ cấp phát một lượng băng thông (cố định) cho dịch vụ UGS, và băng thông cho các dịch vụ khác sẽ giảm xuống.

Sau đây là thuật toán DRR sử dụng giả mã: Trong đó:

// Q[i] = Giá trị lượng tử Quantumi của luồng thứ i;

// DC[i] = Giá trị Deficit Counter của luồng i; // n = Số luồng đang hoạt động;

// P[i] = Số gói tin trong luồng i;

// NoP = Số thứ tự của gói tin; Sử dụng con trỏ, trỏ đến gói tin đầu tiên của luồng; // Khi một gói tin được gửi đi, con trỏ sẽ trỏ đến gói tin kết tiếp;

// pS = Kích thước gói;

int n = m =get_num_conn(UGS); // Lấy số lượng UGS đang hoạt động

int DC[n]; int Q[n];

bool chk = true;

while (chk) // Kiểm tra số kết nối UGS đang hoạt động

for (int i = 1; i <= n; i++) Q[i] = 150;

if (P[i] > 0) // Đảm bảo luồng i không rỗng

DC[i]= DC[i] + Q[i];

pS = getDataSize(i); // Kích thước gói tin của luồng thứ i

while (DC[i] >= pS) and (P[i] > 0) DC[i] = DC[i] – pS;

// [Serve Packet] (Lập lịch cho gói tin này)

// Bao gồm: Lấy gói tin ra khỏi luồng, và thao tác gửi đi // Và kiểm tra xem luồng có rỗng không

end while

if (DC[i]>=0 && P[i] == 0)

m--; //Khi luồng thứ i gửi hết gói tin, thì số luồng giảm đi 1

DC[i] = 0; //Khi đã truyền hết dữ liệu, thì DCi được khởi gán lại bằng 0

end if end if end for if (m = 0)

chk = false;// Khi các gói tin trong các luồng lần lượt được phục vụ hết

end if end while

4.7 Kết luận và đánh giá

Với mô hình hóa các luồng như hình 4.13 và áp dụng thuật toán DRR, ta giả sử trong các luồng chứa một số lượng lớn các gói tin.

Với thuật toán RR, xét với 100 lượt xoay vòng của thuật toán RR, vì mỗi vòng chỉ có một gói tin được gửi đi, nên ta có:

Luồng UGS 1: Tổng kích thước gói tin được gửi đi là 60*100=6000 byte Luồng UGS 2: Tổng kích thước gói tin được gửi đi là 150*100=15000 byte Luồng UGS 3: Tổng kích thước gói tin được gửi đi là 1500*100=15000 byte Với thuật toán DRR, xét với 100 lượt xoay vòng của thuật toán DRR và giá trị Quantum=150, ta có:

Vòng 1: Luồng 1 có 2 gói tin được gửi đi (DC=30, lưu lại cho vòng sau), luồng 2 có 1 gói tin được gửi đi (DC=0), luồng 3 có 0 gói tin được gửi đi (DC=150, lưu lại cho các vòng sau)

Vòng 2: Luồng 1 có 3 gói tin được gửi đi (DC=0), luồng 2 có 1 gói tin được gửi đi (DC=0), luồng 3 có 0 gói tin được gửi đi (DC=300, được lưu lại cho các vòng sau)

Tương tự như vậy cho các vòng 3, 4, 5…

Vòng 10: Tương tự như vậy, đến vòng thứ 10, luồng 1 có tổng 25 gói tin được gửi đi, luồng 2 có tổng 10 gói tin được gửi đi, luồng 3 có tổng 1 gói tin được gửi đi

Tương tự như vậy cho các vòng 11, 12, …

Vòng thứ 100: Tương tự như vậy, đến vòng thứ 100 ta có:

Luồng UGS 1: Tổng kích thước gói tin được gửi đi là 25*60*10=15000 byte Luồng UGS 2: Tổng kích thước gói tin được gửi đi là 10*150*10=15000 byte Luồng UGS 3: Tổng kích thước gói tin được gửi đi là 1*10*1500=15000 byte Ta có bảng tổng kích thước gói tin được gửi đi theo thuật toán RR và DRR như sau (đơn vị tính theo byte):

Bảng 4.6: Tổng kích thước gói tin được gửi đi (byte)

Ta có đồ thị tổng kích thước gói tin được gửi đi theo từng luồng với thuật toán RR và DRR là như sau:

Hình 4.15: Đồ thị tổng kích thước gói tin được gửi đi theo từng luồng Nhìn trên đồ thị 4.15 ta thấy, khi áp dụng thuật toán DRR, tổng kích thước gói

Một phần của tài liệu Nghiên cứu các thuật toán lập lịch tối ưu cho UGS trong WIMAX luận văn ths công nghệ thông tin 60 48 15 pdf (Trang 58 - 86)

Tải bản đầy đủ (PDF)

(86 trang)