Giới thiệu chung: 1.Giới thiệu đề tài: Tên đề tài: “So sánh hiệu năng giữa hai hệ thống hàng đợi M/M/1/∞ và M/D/1/∞” Mục tiêu đề tài là so sánh hiệu năng giữa hai hệ thống hàng đợi đơn
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ VIỄN THÔNG
Giảng viên hướng dẫn:
PGS.TS Nguyễn Hữu Thanh Viện Điện tử Viễn thông – BKHN Sinh viên thực hiện :
1.Tăng Thiên Vũ 2.Phạm Tuấn Anh Lớp KSTN-ĐTVT-K55
Hà Nội, tháng 11/2013
Trang 2Báo cáo bài tập lớn môn Cơ sở truyền số liệu
So sánh hiệu năng giữa hai hệ thống hàng đợi
M/M/1 và M/D/1
Trang 3Mục lục
1 Khái niệm chung về Hệ thống phục vụ (Service System) và hệ thống hàng đợi 6
IV.Mô phỏng hai hệ thống hàng đợi đơn trên phần mềm Network Simulation (NS2): 17
Trang 44.So sánh kết quả mô phỏng được và Số liệu tính toán thực tế 26
Trang 5I Giới thiệu chung:
1.Giới thiệu đề tài:
Tên đề tài:
“So sánh hiệu năng giữa hai hệ thống hàng đợi M/M/1/∞ và M/D/1/∞”
Mục tiêu đề tài là so sánh hiệu năng giữa hai hệ thống hàng đợi đơn M/M/1 và M/D/1 với các thông
số như số yêu cầu trung bình nằm trong hệ thống N, số yêu cầu trung bình nằm trong hàng đợi, thời gian trung bình một yêu cầu nằm trong hệ thống T cũng như nằm trong hàng đợi Tq
Làm quen và sử dụng phần mềm Network Simulation (NS2), ngôn ngữ Otcl để lập trình và
mô phỏng hai hệ thống trên, so sánh kết quả mô phỏng được với số liệu tính toán lí thuyết
2.Công cụ sử dụng:
Network Simulation (NS2): Mô phỏng hai hệ thống hàng đợi và so sánh với kết quả thực tế
Matlab: Hỗ trợ tính toán và vẽ đồ thị trực quan
Trang 6I Lý thuyết chung về hệ thống hàng đợi:
1 Khái niệm chung về Hệ thống phục vụ (Service System) và hệ thống hàng đợi
a Hệ thống phục vụ: Service System
Hệ thống phục vụ là hệ thống tiếp nhận yêu cầu, xử lí và đưa yêu cầu đó ra khỏi hệ thống
Một số ví dụ về hệ thống phục vụ như:
Hệ thống mạng di động GSM: tiếp nhận phục vụ các cuộc gọi
Hệ thống Mạng Internet: tiếp nhận phục vụ các gói tin
Hệ thống thanh toán trong siêu thị: Tiếp nhận, phục vụ khách hàng
b Hệ thống hàng đợi
Hệ thống phục vụ là một khái niệm rất trừu tượng, để đánh giá hiệu năng của hệ thống phục
vụ một cách định tính người ta phải mô hình hóa hệ thống đó
Mô hình hóa Hệ thống phục vụ thành HỆ THỐNG HÀNG ĐỢI
2 Mô hình hàng đợi và kí hiệu Kendall:
Trang 7 Tiến trình tới - Arival Process:
Tiến trình yêu cầu đi vào hệ thống, gồm có những tham số như:
- Tốc độ tới trung bình λ (yêu cầu/đơn vị thời gian)
- Phân bố xác suất của yêu cầu tới: ví dụ như phân bố Poisson, phân bố xác định với λ là hằng số
+ LIFO: Last In First Out – Yêu cầu vào sau sẽ được phục vụ trước Ví dụ điển hình như ngăn xếp – stack
- Tốc độ phục vụ trung bình của 1 Server: µ (yêu cầu/đơn vị thời gian)
- Phân bố xác suất của tiến trình phục vụ
Trang 8VD điển hình thường gặp:
+ M: Phân bố Markov (Poisson)
+ D: Determitistic – tiến trình với λ xác định là hằng số
+ G: Generic – Tiến trình tới bất kì
- [S]: Tiến trình phục vụ:
Tương tự với [A] – Tiến trình tới, cũng có một số dạng thường gặp như M, D, G
- [C]: Số sever trong hệ thống hàng đợi đơn
- [K]: Dung lượng tối đa của hệ thống, tức là số yêu cầu tối đa có thể nằm trong hệ thống
K = L + C;
Trong đó: L là độ dài hàng đợi, C là số Server
Nếu trong kí hiệu không nhắc đến K thì nó được mặc định là vô cùng
- [P]: Số nguồn phát vào hệ thống
- [D]: Thứ tự phục vụ ở Hàng đợi Mặc định là FIFO
Ví dụ:
- Với hệ thống hàng đợi đơn như sau
Sẽ được kí hiệu là: M/M/3/8/1/FIFO Viết rút gọn: M/M/3/8
- Hai hệ thống hàng đợi đơn sẽ được tìm hiểu trong bài tập lớn này:
Trang 9- A(t) : Số yêu cầu đi vào hệ thống cho tới thời điểm t, A(0) = 0
- D(t) : Số yêu cầu đi ra khỏi hệ thống cho tới thời điểm t, D(0) = 0
- N(t) : Số yêu cầu nằm trong hệ thống tại thời điểm t, N(0) = 0
Trang 10- N : số yêu cầu trung bình nằm trong hệ thống
- T : thời gian trung bình 1 yêu cầu nằm trong hệ thống
- λ : tốc độ tới trung bình
Ta có biểu thức liên hệ sau:
N =λ.T
Trang 11II Tính toán so sánh hiệu năng hai hệ thống hàng đợi M/M/1 và M/D/1 trên lý thuyết: 1.M/M/1:
a.Hệ thống hàng đợi đơn M/M/1:
Hệ thống hàng đợi M/M/1/∞ đang xét có:
- Tiến trình tới là tiến trình Poisson: tham số = 120 (gói/s)
- Tiến trình phục vụ là tiến trình Poison
- Tải của hệ thống : = 0.9
- Hàng đợi có một sever
- Chiều dài hàng đợi là vô hạn
Hình vẽ Sơ đồ hệ thống M/M/1
b.Tính toán đánh giá hiệu năng Hệ thống M/M/1:
Đối với hàng đợi M/M/1/
+ Tốc độ phục vụ của server tuân theo phân bố Poison với tham số
=> =
9,0
9,0
9,01
9,
120
1 8.1 = 0,0675 ( s ) + Thời gian trung bình của một yêu cầu trong hệ thống T
Trang 12T =
1 N =
120
1 9 = 0,075 ( s )
2.M/D/1:
a, Hệ thống hàng đợi đơn M/D/1/∞:
Hệ thống hàng đợi M/D/1/∞ đang xét có:
- Tiến trình tới là tiến trình Poisson: tham số = 120 (gói/s)
- Tiến trình phục vụ phục vụ các gói với thời gian phục vụ cố định
N =
)1.(
2
)2.(
Trang 13)2.(
Trang 14 Số yêu cầu nằm trong hàng đợi Nq:
+ Hàng đợi M/D/1/ : Nq =
)1.(
Trang 15 Thời gian trung bình một yêu cầu nằm trong hệ thông T:
+ Hàng đợi M/D/1/ : T =
)1.(
2
)2.(
.50
Trang 16- Thời gian trung bình một yêu cầu nằm trong hàng đợi Tq:
+ Hàng đợi M/D/1/ : Tq =
)1.(
2
.50
Trang 17IV.Mô phỏng hai hệ thống hàng đợi đơn trên phần mềm Network Simulation (NS2):
1.Phương án mô phỏng trên NS2:
a.Sơ đồ tổng quan mô phỏng:
Hình vẽ Sơ đồ mô phỏng trong NS2
Để mô phỏng hai hàng đợi trong NS2, chúng em dùng 2 Node được liên kiết với nhau (linked) bằng mộtđường truyền (Link) với tốc độ đường truyền là 100kbps và trễ trên đường truyền là 100ms Gói tin đi vào hàng đợi với chiều dài L = 1000000, độ dài hàng đợi được thiết lập lên đến 1000000 để đảm bảo được môi trường mô phỏng gần với yêu cầu đề bài là ∞ Những sự kiện xảy ra trong thời gian mô phỏng được in trực tiếp ra tracefile, sau đó một số thuật toán được sử dụng để tính toán ra những tham số cần thiết
Mô tả chi tiết hơn về hệ thống, có thể tham khảo thêm code trong phần phụ lục
Trang 18b.Thuật toán tính N, Nq, T, Tq:
Hình vẽ Thuật toán tính thời gian yêu cầu trung bình trong hàng đợi
Trang 19Hình vẽ Thuật toán tính thời gian trung bình một yêu cầu nằm trong hệ thông.
Hình vẽ Thuật toán tính số yêu cầu trung bình trong hệ thống
Trang 202.Kết quả mô phỏng:
a.Thời gian mô phỏng là 2s:
*M/M/1: Đồ thị thời gian trễ của từng gói tin (được vẽ bằng Xgraph trong NS2):
Độ thì biểu diễn sự phụ thuộc của số yêu cầu trong hàng đợi theo thời gian được vẽ bằng Xgraph tron NS2
Trang 21*M/D/1:Đồ thị thời gian trễ của từng gói tin (được vẽ bằng Xgraph trong NS2):
Độ thì biểu diễn sự phụ thuộc của số yêu cầu trong hàng đợi theo thời gian được vẽ bằng Xgraph tron NS2
Trang 22b Thời gian mô phỏng là 200s:
*.M/M/1: Đồ thị thời gian trễ của từng gói tin:
Đồ thị biểu diễn số yêu cầu nằm trong Hàng đợi phụ thuộc thời gian:
Trang 23*.M/D/1: Đồ thị thời gian trễ của từng gói tin:
Đồ thị biểu diễn số yêu cầu nằm trong Hàng đợi phụ thuộc thời gian:
Trang 25Với hệ thống MD1:
Trang 264.So sánh kết quả mô phỏng được và Số liệu tính toán thực tế
Sau khi thực hiện mô phỏng với quãng thời gian là 2s, 200s Nhận thấy kết quả mô phỏng sai lệch lớn so với kết quả tính toán Sau khi kiểm tra tính đúng đắn của thuật toán trong các file awk thì chúng em quyết định tăng thời gian mô phỏng lên theo nhiều mức, và nhận thấy rằng khi thời gian càng tăng lên, kết quả mô phỏng càng tiến gần đến kết quả tính toán lý thuyết
Bảng số liệu mô phỏng được của nhóm chúng em trong những quãng thời gian khác nhau:
Trang 27V Phụ lục:
Phụ lục 1 Tài liệu tham khảo
“Introduction to Network Simulator”
Teerawat Issariyakun & Ekram hossain
“Network by Example”
Jae Chung & Mark Cleypool
http://nile.wpi.edu/NS/
“NS Simulator for Beginers”
Eitan Altman & Tania
Phụ lục 2 Code Otcl cho NS2 File đính kèm báo cáo