Theo kí pháp của Kendall một hệ thống xếp hàng được phân loại qua các kí hiệu của bộ mô tả kendall tổng quát có dạng α/δ/m/β/N/Q α: phân bố xác suất của khoảng thời gian yêu cầu để phục
Trang 1Báo cáo mạng: Hàng đợi
Trang 2MỤC LỤC
Mở đầu
Chương I: Giới thiệu
1.Lịch sử hình thành hàng
đợi
2.Chức năng và tầm quan
trọng của hàng đợi
Chương II: Các khái niệm cơ
bản
1.Định nghĩa về hàng đợi
2.Các tham số đặc trưng
của một hàng đợi
3.Mô tả trạng thái cho hệ
thống hàng đợi
4.Các thông số hiệu năng
thường dùng trong mô hình
mạng hàng đợi
Chương III: Một số hàng đợi
cơ bản
1.Hàng đợi Markov M/M/1
2.Các hàng đợi nhiều trạm
dịch vụ: M/M/m
3.Các hàng đợi có số khách
hàng hạn chế M/M/m/N/N
4.Hàng đợi M/G/1
5.Các hệ thống có phản hồi
Chương IV: Mạng các hàng
đợi
1.Định lý đến 2.Thuật toán nhân chập 3.Thuật toán phân tích giá trị trung bình
Kết luận Tài liệu tham khảo
Mở đầu
Sự phát triển của mạng máy tính có tác động sâu sắc đến nhiều khía cạnh của khoa học
kĩ thuật cũng như cuộc sống con người Việc ra đời và phát triển của các mạng tốc
độ cao đã đẩy nhanh sự phát triển của mạng máy tính Qua mạng tốc độ cao, quá trình truy xuất các luồng thông tin khác nhau được thực hiện nhanh hơn với giá thành thấp hơn Hệ thống thông tin cũng như mạng máy tính cần phải được xây dựng phức tạp hơn
để đáp ứng nhu cầu xử lí, truyền tải thông tin với tốc độ nhanh và dung lượng lớn Sự phát triển của mạng máy tính hiện nay đã dẫn đến sự hình thành và phát triển của mạng Internet, Internet cung cấp cho thế giới rất nhiều dịch vụ
đa dạng, một trong những
Trang 3dịch vụ của Internet được sử
dụng rộng rãi và được nhiểu
người quan tâm nhất nhất là
Word Wide Web Các trang
Web được lưu trữ trong các
WebServer, với số lượng các
trang Web tăng một cách
nhanh chóng hiện nay thì việc
đảm bảo cho các WebServer
hoạt động có hiệu quả là một
yêu cầu hết sức cần thiết
Trong quá trình thiết kế xây
dựng mạng máy tính đặc biệt
là hệ thống Internet thì một
nhiệm vụ đặt ra hết sức quan
trọng là phải phân tích đánh
giá được hiệu năng của hệ
thống để hỗ trợ cho việc xây
dựng và phát triển hệ thông
tin
Việc phân tích đánh giá hiệu
năng của mạng máy tính là
một việc tương đối phức tạp
Một trong những phương
pháp đánh giá được sử dụng
rộng rãi và có hiệu quả trên
thực tế là phương pháp mô
hình hoá và các mô hình được
sử dụng hiện nay là mô hình
hàng đợi, mạng Petri, đồ thị,
và các mô hình lai ghép
Trong đó mô hình hàng đợi là
một mô hình đơn giản và tỏ ra
có hiệu quả trong thực tế Lý thuyết xếp hàng đã được nghiên cứu rộng rãi trên thế giới đầu thế kỉ 20 Có nhiều ứng dụng được cài đặt sử dụng lí thuyết này, có các thư viện mở được xây dựng để giải quyết các bài toán trên
mô hình hàng đợi một trong
số đó có thể kể đến là thư viện PDQ
Chương 1 Giới thiệu
1 Lịch sử hình thành hàng đợi
2 Chức năng và tầm quan trong
Lý thuyết hàng đợi
(Queueing theory) là một
chuyên ngành thú vị của xác suất Những bài báo đầu tiên viết về nó cách đây khoản vài chục năm nhưng ứng dụng của nó mang lại là rất lớn trong công nghệ thông tin, kinh tế…
Lý thuyết hàng đợi, nghiên cứu quá trình phục vụ Nó nghiên cứu những đặc trưng
và xác định các tính chất của
Trang 4hệ thống được thiết lập bởi
các yêu cầu (của khách hàng)
Những yêu cầu, thời gian
phục vụ là những đại lượng
ngẫu nhiên Những hệ như
vậy thường là những mô hình
của các hệ thống thực tế, ví
dụ: mạng điện thoại, mạng
máy tính, hệ thống tính toán,
…
Thành phận quan trọng của
một hệ thống phục vụ:
+ Luồng các yêu cầu vào
+ Máy phục vụ
+ Phương pháp phục vụ
+ Hàng đợi
+ Luồng các yêu cầu ra
Mục đích nghiên cứu của
chuyên ngành:
+ Đánh giá tham số hệ thống
tự tế bằng phương pháp thống
kê
+ Tìm điều kiện dừng của hệ
thống
+ Tìm những đặc trưng cơ
bản của hệ thống: xác suất
được phục vụ, phân phối của
số các yêu cầu ở trong phục
vụ
+ Bài toán tối ưu của hệ
thống
Chương 2 Các khái niệm cơ bản
1 Định nghĩa về hàng đợi:
• Hàng đợi là hệ thống bao gồm các thành phần : khách hàng vào/ra hệ thống
(input/output), hệ thống phục vụ (server), hàng đợi(queue)
• Khách hàng vào hệ thống được đưa vào hàng đợi, đến lượt thì được phục vụ ở server, sau khi được phục vụ xong thì ra khỏi hệ thống Khi dùng hàng đợi ta hiểu là toàn bộ hệ thống xếp hàng bao gồm các yêu cầu đợi phục vụ và các yêu cầu đang được phục vụ
Ví dụ:
Trang 5Các hệ thống điện
thoại: khi số lượng
lớn khách hàng quay
số để kết nối đến một
trong những đường ra
hữu hạn của tổng đài
Trong mạng máy tính:
khi mà gói tin được
chuyển từ nguồn tới
đích và đi qua một số
lượng các nút trung
gian Hệ thống hàng
đợi xuất hiện tại mỗi
nút ở quá trình lưu
tạm thông tin tại bộ
đệm
Hệ thống máy tính:
khi các công việc tính
toán và tuyến làm
việc của hệ thống yêu
cầu dịch vụ từ bộ xử
lý trung tâm và từ các
nguồn khác
Những tình huống này
được diễn tả bằng
hình vẽ sau:
Hình 2-1 Mô hình chung của hệ thống hàng đợi
Hình 2-2: Ví
dụ về mạng hàng đợi mở
Hình 2-3 Ví
dụ về mạng hàng đợi đóng
Trang 62 Các tham số đặc
trưng của hàng đợi
- Tính chất của
dòng khách
hàng đến hàng
đợi hay phân
bố xác suất
khoảng thời
gian giữa các
yêu cầu hàng
đợi
- Phân bố xác
suất khoảng
thời gian dịch
vụ cho mỗi
yêu cầu trong
hàng đợi
- Số các server
tại hàng đợi
- Dung lượng bộ
đệm hay dung
lượng lưu trữ
tại hàng đợi
- Tổng số các
yêu cầu hiện
đang có mặt tại
hàng đợi
- Các kiểu dịch
vụ
Theo kí pháp của Kendall một hệ thống xếp hàng được phân loại qua các kí hiệu của bộ
mô tả kendall tổng quát
có dạng α/δ/m/β/N/Q
α: phân bố xác suất của khoảng thời gian yêu cầu
để phục vụ các khách hàng trong hệ thống xếp hàng
δ: phân phối xác suất trong khoảng thời gian yêu cầu để phục vụ các khách hàng trong hệ thống xếp hàng
β: kích thước bộ đệm hoặc dung lượng lưu trữ tại hệ thống xếp hàng
N : số lượng khách hàng được phép chuyển qua
hệ thống
Q: phương thức phục vụ
3 Mô tả trạng thái cho hệ thống hàng đợi:
• Trạng thái của một
hệ thống hàng đợi
là một véc tơ biểu diễn số khách hàng
Trang 7trong mỗi hàng đợi
của hệ thống tại mỗi
thời điểm cụ thể
Trạng thái hệ thống
hàng đợi cho phép
mô tả hàng đợi một
cách đầy đủ ở thời
điểm bất kì mà
không cần biết thêm
các đại lượng khác
như thời gian phục
vụ, thời gian giữa
hai lần đến liên tiếp
• Đối với hệ thống
xếp hàng ta thường
dùng mô hình
thống kê Markov để
tính toán , để mô tả
trạng thái hệ thống
ta tính Pn(t) là xác
suất để hệ thống có
véc tơ trạng thái n
tại thời điểm t
4 Các thông số hiệu
năng thường dùng
trong mô hình
mạng hàng đợi:
Ví dụ về hệ thống hàng đợi đơn giản
Hình 2-4 Hệ thống hàng đợi đơn giản
λ - tốc độ đến trung
bình , thời gian đến trung bình -1/λ
µ - tốc độ phục vụ
trung bình, thời gian phục vụ trung bình 1/µ
Với kích thước của
bộ đệm là vô hạn, quy tắc phục vụ là FCFS (đến trước phục vụ trước )
• Tốc độ đến của các khách hàng (λ) : λ
=T A
• trong đó A - số các khách hàng đến hệ
Trang 8thống T-Thời gian
quan sát (hay thời
gian đó) Trong khi
A đếm số các yêu
cầu đến hàng đợi thì
λ biểu diễn tốc độ
mà các yêu cầu đó
đến Đơn vị đo của
tốc độ là : khách
hàng đơn vị thời
gian Ví dụ, nếu
một hệ điều hành
được cung cấp các
công cụ để mà đếm
số yêu cầu về phục
vụ một số tài
nguyên (CPU,
đĩa ) thì tổng số
lần đếm trong một
đơn vị thời gian
chính là tốc độ đến
(throughput) của hệ
thống xếp hàng hay
là tốc độ trung bình
các khách hàng
chuyển qua hệ
thống: X = T C
Trong đó C là số
các khách hàng
hoàn thành dịch vụ
Đại lượng này cũng
biểu thị tốc độ Do
nó là một đại lượng
có thể đo tốc độ hoàn thành dịch vụ một cách trực tiếp, giống như tốc độ đến Trong một số trường hợp ta sẽ thấy tốc độ đến hệ thống của các khách hàng λ sẽ bằng với thông lượng X
• Số khách hàng trung bình trong hệ thống xếp hàng :
Q = n = ∑∞
= 1
n np n
(khách hàng)
Độ đo này là trung bình trọng số của số các khách hàng trong hệ thống xếp hàng với các xác suất trạng thái được dùng như các trọng
số Các biểu diễn khác
Trang 9Q =
T
τ
Trong đó, τ - tổng
thời gian thường trú
của tất cả khách
hàng đã hoàn thành
dịch vụ
• Thời gian đáp ứng
(R-Response time)
R =
C
τ
(giây)
trong đó, τ là tổng
thời gian thường trú
của tất cả các khách
hàng đã hoàn thành
dịch vụ
Cách biểu diễn
khác, thời gian đáp
ứng : R = W+S
(thời gian thường
trú bằng tổng thời
gian phục vụ và
thời gian mà khách
hàng đó phải đợi
trước khi được
phục vụ.
• Thời gian phục vụ
(S-service time)
được định nghĩa là :
S = C B
trong đó B - tổng thời gian hệ thống bận trong khoảng thời gian T Đại lượng này không phải là tốc độ mà nó biểu diễn tổng thời gian trung bình để hoàn thành phục vụ một yêu cầu đến
• Thời gian đợi (W-waiting time) thời
gian đợi của một khách hàng trước khi được phục vụ được xác định : W=SQ, trong đó Q
- số các khách hàng trung bình trong hàng đợi, S - tốc độ dịch vụ
• Độ hiệu dụng
(utilitization) hay là
xác suất để hệ thống xếp hàng là không rỗng và tất cả các server bận (trường hợp nhiều server):U
= 1 - p o
Cách định nghĩa khác : độ hiệu dạng trung bình U = T B :
Trang 10Đại lượng này biểu diễn tổng thời gian trung bình mà server hay tài nguyên bị bận trong khoảng thời gian quan sát T Độ hiệu dụng không có đơn
vị mà thường được biểu diễn dưới dạng
%
• Xác suất để hệ
thống xếp hàng là rỗng po
• Xác suất để tất cả
các kênh phục vụ đều bận hay xác suất để 1 khách hàng bị từ chối là :
PN hay P[quetteing]
(trong đó N-kích thước hệ thống).
Chương III: Một số hàng
đợi cơ bản
Bất kỳ hệ thống xếp hàng
nào cũng được mô tả bởi :
Tiến trình đến
Nếu các khách hàng đến
vào các thời điểm t1, t2 … tjthì
các biến số ngẫu nhiên
Pj=tj-tj-1 được gọi là các thời điểm giữa các lần đến Các thời điểm này thường được giả thiết là các biến
số ngẫu nhiên độc lập và được phân bố đồng nhất IID (Independent and Identycally distributed) Các tiến trình đến thông dụng nhất là :
M: Tiến trình mũ (là tiến
trình Markov hay tiến trình không nhớ)
Er: Tiến trình Erlang bậc r Hr: Tiến trình siêu số mũ bậc r
D: Tiến trình tất định
(deterministic)
G: Tiến trình chung
Tiến trình phục vụ
Thời gian mà mỗi công việc tiêu tốn cần thiết tại server gọi là thời gian phục
vụ Các thời gian phục vụ thường giả thiết là các biến
số ngẫu nhiên IID Các tiến trình phục vụ thông dụng nhất cũng giống như thời gian đến
Trang 11Số lượng các bộ server:
Số lượng các server phục
vụ cho hàng đợi
Dung lượng hệ thống
Kích thước bộ nhớ đệm
cực đại
Qui mô mật độ
Số lượng các công việc
đến tại hàng đợi Qui mô
mật độ luôn là hữu hạn
trong các hệ thống thực
Tuy nhiên phân tích hệ
thống với qui mô mật độ
lớn sẽ dễ dàng hơn nếu
giả thiết rằng qui mô mật
độ là vô hạn
Qui tắc phục vụ
Thứ tự mà theo đó các
công việc trong hàng xếp
được phục vụ Các qui tắc
phổ biến nhất là đến trước
phục vụ trước FCFS (First
Come First Served), đến
sau phục vụ trước LCFS
(Last Come First Served),
theo vòng tròn RR (Round
Robin), thời gian xử lý
ngắn nhất phục vụ trước
SPT (Shortest Procesing
Time First) và thời gian xử
lý ngắn nhất được đề cử
SRPT (Shortest Remaining Processing Time First)
1 hàng đợi Markov M/M/1.
Hình 2.2.Hàng đợi đơn giản
Hàng đợi đơn giản là hàng đợi chỉ có 1 server, với thời gian phục vụ cho mỗi khách hàng là như nhau, do đó, thời gian phục vụ trung bình S cố định Chiến lược của hàng đợi này là chiến lược FIFS
Hàng đợi M/M/1 có hai đặc trưng chủ yếu là :
- Tiến trình đến là tiến trình Poisson
- Hệ thống phục vụ ( Server) có thời gian dịch vụ cho mỗi khách hàng là biến ngẫu nhiên có phân bố mũ Sau đây ta sẽ khảo sát hai đặc trưng trên của hàng đợi này
Trang 12Quá trình đến của khách
hàng là một tiến trình
Poisson
- Xác suất để 1 khách hàng
đến hệ thống trong khoảng
thời gian [t, t+∆t] là λ ∆ t
- Xác suất để không có khách
hàng nào đến hệ thống trong
khoảng thời gian [t, t+∆t] là
(1-λ ∆ t)
λ là tốc độ khách hàng đến
Sử dụng lí thuyết quá trình
Poisson ta có :
- Xác suất để có n khách hàng
đến hệ thống trong khoảng
thời gian t s là :
Pn(t)=
! x
e ) t ( λ x λ t
- Số khách hàng trung bình
đến hệ thống trong t(s) là :
t ) t ( nP n
0 n
= ∑∞
=
Thời gian phục vụ mỗi khách
hàng là biến ngẫu
nhiên tuân theo phân
bố mũ
Trong hệ thống xếp hàng
M/M/1 thì thời gian phục vụ
là các biến ngẫu nhiên tuân theo phân bố mũ nghĩa là:
- Xác suất để một dịch
vụ được hoàn thành trong khoảng thời gian [t, t+∆t] là
t
∆ µ
- Xác suất để không có một dịch vụ nào được hoàn thành trong khoảng thời gian
[t, t+∆t] là 1- µ ∆ t
Trong đó µ là tốc độ dịch vụ trung bình của server va 1/µ lf thời gian dịch vụ trung bình cho mỗi khách hàng của server Hệ thống serve phục
vụ như vậy là hệ thống không nhớ
2 Các hàng đợi nhiều trạm dịch vụ: M/M/m.
Trước hết, ta xét hàng đợi chỉ
có 2 server (hình 2.4)
Hình 2.4 Hàng đợi có 2 server
Với hàng đợi này, ta có thể làm giảm thời gian lưu trú của
Trang 13khách hàng trong hệ thống
Ta có:
Q S
S
R= + 12 ρ
Công thức này xây dựng được
vì khi có 2 server cùng xử lý
một hàng đợi, thời gian phục
vụ của mỗi server giảm đi còn
một nửa Mặt khác, không
phải lúc nào 2 server cũng
bận, do đó có thể chưa cần
phục vụ xong khách hàng thứ
nhất (ví dụ ở server 1) ta đã
có thể phục vụ tiếp khách
hàng thứ 2 (ở server 2) nên
thời gian phục vụ thực tế phụ
thuộc vào xác suất bận của
server, tức là phụ thuộc vào
mức độ tận dụng hệ thống tại
một serverρ
Từ đây, ta có:
S
2
+
Suy ra: =1 − ρ 2
S
2
ρ
ρ
−
=
Q
Công thức này cũng được sử
dụng cho hệ thống đa server,
tuy nhiên, dạng của nó như
sau:
m
S
R
ρ
−
=
m Q
ρ
ρ
−
=
1 , với m là
số server của hệ
Thời gian đáp ứng chính xác
của các hệ thống đa server có
thể được tính bằng công thức
− +
=
) 1 (
) , ( 1
ρ
ρ
m
m C S
R , trong đó
) , (m S
C λ là xác suất mọi server đều bận và yêu cầu gửi đến sẽ được đặt vào hàng xếp
Thông thường, hàm này được
( )
!
) (
!
) ( 1
!
) ( )
,
m k
m m
m m
m
ρ ρ
ρ
ρ ρ
+
−
=
được gọi là hàm Erlang C Hàm Erlang B được định nghĩa cho hệ thống không có hàng đợi, tức là nếu khách hàng đến yêu cầu dịch vụ khi tất cả các server đều bận thì yêu cầu của họ sẽ bị huỷ Hàm này có dạng như sau:
∑−
0 !
) (
!
) ( ) ,
m
k m m
m m
B
ρ
ρ ρ
Các hàm này có khả năng tính toán khá dễ Do đó, nó cũng thường được sử dụng trong việc tính thời gian đáp ứng chính xác của hệ phân tán