Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 63 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
63
Dung lượng
1,11 MB
Nội dung
B GIO DC V ĐO TO
TRƯỜNG ĐI HỌC KHOA HỌC
KHOA CÔNG NGHỆ THÔNG TIN
BI BO CO THỰC TẬP CHUYÊN NGNH CUỐI KHÓA
ĐềTài:MôphỏnghàngđợibằngGPSS (General Purpose Simulation System)
Giảng viên hướng dẫn : Đặng Thanh Chương
Sinh viên thực hiện : Nguyễn Quang Hà
MỤC LỤC
CHƯƠNG 1: GIỚI THIỆU ĐỀTÀI 4
I. Đặt vấn đề 4
II. Mục tiêu đềtài 4
III. Giới hạn đềtài 4
CHƯƠNG 2: LÝ THUYẾT CHUNG VỀ HÀNGĐỢI 6
II. Các khái niệm cơ bản 6
1. Định nghĩa về hàng đợi: 6
2. Các tham số đặc trưng của hàngđợi 7
3. Mô tả trạng thái cho hệ thống hàng đợi: 7
4. Các thông số hiệu năng thường dùng trong mô hình mạng hàng đợi: 8
III. Một số hàngđợi cơ bản 8
1. Hàngđợi Markov M/M/1 8
2. Hàngđợi Markov M/M/n 10
3. Hàngđợi có Markov M/M/n/n 11
I. Giới thiệu GPSS 16
II. Các thực thể GPSS ( GPSS Entities ) 17
1. Thực thể Transaction 18
2. Các thực thể Block ( Block Entities ) 20
3. Các thực thể Facility ( Facility Entities ) 20
4. Thực thể Function ( Function Entities ) 21
5. Các thực thể Logicswitch ( Logicswitch Entities ) 22
6. Các thực thể Matrix ( Matrix Entities ) 23
7. Các thực thể Queue ( Queue Entities ) 23
8. Các thực thể Storage ( Storage Entities ) 24
9. Các thực thể Savevalue ( Savevalue Entities ) 24
10. Các thực thể Table ( Table Entities ) 25
11. Các thực thể Userchain ( Userchain Entities ) 25
12. Các thực thể Variable ( Variable Entities ) 25
III. Các câu lệnh GPSS 25
1. Câu lệnh START 27
2. Câu lệnh STORAGE 28
IV. Các câu lệnh Block ( Block Statements ) 29
1. Block GENERATE 31
2. Block ADVANCE 33
3. Block QUEUE 34
4. Block DEPART 34
5. Block ENTER 35
6. Block LEAVE 36
7. Block SEIZE 37
8. Block RELEASE 38
9. Block TERMINATE 39
10. Block TEST 39
V. Câu lệnh sử dụng phân bố xác suất 41
- -
2
VI. Báo cáo tiêu chuẩn 42
1. Quản lý báo cáo ( Report Management ) 42
2. Báo cáo mẫu 42
Mô hình chung 42
Báo cáo 42
CHƯƠNG 4: MÔ PHỎNGHÀNGĐỢI 50
1. Hàngđợi M/M/1 theo lý thuyết 50
2. Mô phỏnghàngđợi M/M/1 50
II. Mô phỏnghàngđợi M/M/n 53
2. Mô phỏnghàngđợi M/M/4 53
III. Mô phỏnghàngđợi M/M/n/n 56
1.Lý thuyết hàngđợi M/M/n/n 56
2. Mô phỏnghàngđợi M/M/4/4 57
Kết luận 62
Tài liệu tham khảo 63
- -
3
CHƯƠNG 1: GIỚI THIỆU ĐỀ TI
I. Đặt vấn đề.
Hiện nay, hàngđợi được ứng dụng khá rộng rãi trong thực tế. Một bài toán trong
thực tế đặt ra là phải tính, hay dự đoán được khả năng đáp ứng của một hệ thống
với một hàngđợi cụ thể được áp dụng. Về mặt lý thuyết, đã có nhiều nghiên cứu về
các mô hình hàngđợi này, cũng như các công thức để tính toán. Song một nhược
điểm mà cách tính toán theo lý thuyết mắc phải là phức tạp và gặp rất nhiều khó
khăn trong việc áp dụng tính toán vào thực tế. Các mô hình lý thuyết mới chỉ đáp
ứng được các mô hình hàngđợi ở dạng đơn giản, trong khi các hàngđợi trên thực tế
hoạt động khá phức tạp. Do có, một nhu cầu phát sinh là phải có một công cụ phục
vụ cho việc mô phỏng cũng như tính toán trên các mô hình hàng đợi. Từ đó, đềtài
được thực hiện nhằm cung cấp một cung công cụ giúp giải quyết bài toán trên cũng
như phục vụ cho mục đích nghiên cứu học tập về các mô hình hàng đợi.
II. Mục tiêu đề tài.
Mục tiêu của đềtài là nghiên cứu các mô hình hàng đợi. Đồng thời, bước đầu
xây dựng mô
phỏng về các mô hình hàngđợi đơn giản. Trong đó, các mô phỏng phải
giải quyết được vấn đề cốt yếu là
có khả năng mô phỏng các trường hợp trong hệ
thống hàngđợi mà nếu tính toán lý thuyết là quá
phức tạp.
Hệ thống hàngđợi được nghiên cứu chỉ dừng lại ở mô hình M/M/n/n.
Để thực hiện mục tiêu đề ra, đềtài đã thực hiện thông qua hai bước, bước một là
nghiên cứu lý
thuyết hàngđợi và chương trình mô phỏng GPSS, bước hai là
áp dụng các lý thuyết đó để xây dựng mô phỏng. Tương ứng, bản báo cáo cũng
được trình bày theo trình tự trên với:
• Chương 1 trình bày sơ bộ về dề tài.
• Chương 2 trình bày về các lý thuyết mô hình hàng đợi
• Chương 3 trình bày về chương trình mô phỏng GPSS
• Chương 4 trình bày về quá trình mô phỏng và các kết quả đạt được
III. Giới hạn đề tài.
Nội dung nghiên cứu chỉ dừng lại ở mô hình hàngđợi kinh điển, gặp nhiều trong
thực tế là M/M
system (M/M/n/N/K) – Markov-Markov system. Trong đó:
• Quá trình đến là quá trình Poisson (xét theo X
i
~ P(λ)), có nghĩa là khoảng thời
gian đến được phân phối theo hàm mũ với mật độ λ.
• Thời gian phục vụ (holding time, service time): tuân theo phân phối hàm số
mũ với mật độ
μ.
• Quá trình đến là độc lập với các quá trình phục vụ và ngược lại.
• n: số server phục vụ.
• K : dung lượng của hệ thống hay tổng khả năng phục vụ của hệ thống. Bao
gồm số Server và số buffer. K
≥
n.
• N: số khách hàng.
• Các khách hàng luôn “kiên nhẫn”, không có hiện tượng hủy yêu cầu từ
- -
4
phía khách hàng
khi chưa được phục vụ xong.
• Không xãy ra quá trình “cố gắng thử lại” hay “yêu cầu lại” của các khách
hàng.
• Trong M/M system, buffer (hay queue) được thực hiện ở dạng FIFO (First in
fisrt out). Tuy
nhiên, hoàn toàn có thể thay thế bằng một dạng khác. Do vấn
đề này không thuộc phạm vi đề tài, nên chỉ có một dạng được áp dụng chung
cho tất cả các mô phỏng là FIFO.
Mô phỏng được xây dựng bằngGPSS World Student (phiên bản 5.2.2) trên hệ
điều hành Window.
Các mô phỏng chỉ mới dừng lại ở việc mô phỏng một mô hình đơn, chưa hình thành
việc liên kết các hệ thống với nhau.
- -
5
CHƯƠNG 2: LÝ THUYẾT CHUNG VỀ HNG ĐỢI
I. Giới thiệu
Lý thuyết hàngđợi (Queueing theory) là một chuyên ngành 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 hệ 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.
II. 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ụ:
Cá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:
- -
6
Hình 2- 1: Mô hình chung của hệ thống hàng đợi
2. 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ạihàng đợi.
- Dung lượng bộ đệm hay dung lượng lưu trữ tạihàng đợi.
- Tổng số các yêu cầu hiện đang có mặt tạihàng đợi.
- Các kiểu dịch vụ.
Theo kí pháp của Kendall một hệ thống hàngđợi được phân loại qua các kí hiệu của
bộ mô tả kendall tổng quát có dạng A/B/m/K/n/D
• A: 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 hàng đợi.
• B: 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 hàng đợi.
• m: số lượng server
• K: 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.
• D: 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 trong
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 P
n
(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.
- -
7
4. Các thông số hiệu năng thường dùng trong mô hình mạng hàng đợi:
Hình 2- 2: Hệ thống hàngđợi đơn giản
Đối với một hệ thống hàng đợi, cần tìm cách để đánh giá được các chỉ số sau:
- Tốc độ lưu lượng đến (Arrival rate): tốc độ luồng lưu lượng đến hay số khách hàng
đến trung bình trong một khoảng thời gian, ký hiệu λ.
- Tốc độ phục vụ (Service rate): tốc độ phục vụ hay số khách hàng trung bình được
phục vụ trên một đơn vị thời gian, ký hiệu µ.
- Số lượng trung bình của khách hàng trong hệ thống
E[N]
.
- Số lượng trung bình của khách hàng trong hàngđợi
]E[N
Q
.
- Thời gian trung bình trong hệ thống
E[W]
: bao gồm 2 khoảng thời gian: thời gian
đợi và thời gian phục vụ. Tính toán các tham số hiệu năng này đòi hỏi những giả thiết
thêm dựa trên đặc tính của hệ thống hàng đợi, như: quy tắc phục vụ khách hang (giả sử là
FCFS), phân bố trạng thái ổn định
, 1,0,
=
kP
k
(cũng giống như phân bố xác suất của
số lượng khách hàng trong hệ thống).
- Thời gian trung bình trong hàngđợi (thời gian đợiđể được phục vụ)
]E[W
Q
: bằng
thời gian trung bình hệ thống trừ đi thời gian phục vụ.
- Xác suất tắc nghẽn PB: Xác suất hệ thống bận hay còn gọi là hệ số sử dụng của toàn
hệ thống (Utilization factor).
Lưu ý: Các cách tiếp cận đã trình bày được sử dụng để phân tích bất kỳ một hệ thống
hàng đợi đều phải có các giả thiết sau:
Quá trình đến là quá trình Poisson, có nghĩa là khoảng thời gian đến được phân bố
theo hàm mũ.
- Quá trình đến với tốc độ đến thay đổi.
- Hệ thống có một hoặc nhiều server.
- Thời gian phục vụ có dạng phân bố hàm mũ.
- Quá trình đến là độc lập với các quá trình phục vụ và ngược lại.
- Có hữu hạn (hoặc vô hạn) các vị trí đợi hữu hạn trong hệ thống.
Tất cả các giả thiết tạo thành lớp đơn giản nhất của hệ thống hàng đợi.
III. Một số hàngđợi cơ bản
1. Hàngđợi Markov M/M/1.
Là hàngđợi có quá trình đến Poisson với tốc độ
λ
, thời gian phục vụ có phân phối mũ
tốc độ phục vụ
µ
với 1 server phục vụ và trạng thái hệ thống (kích thước bộ đệm) không
- -
8
giới hạn.
Hình 2-3: Mô hình hàngđợi M/M/1
Lược đồ trạng thái
Hình 2-4: Chuỗi Markov của hàngđợi M/M/1
Các công thức sau đây đã được chứng minh bằng phương pháp giải tích.
• Số lượng trung bình khách hàng trong hệ thống:
ρ
ρ
−
=
1
][NE
với
µ
λ
ρ
=
• Số lượng trung bình khách hàng đợi, có nghĩa là chiều dài hàngđợi trung
bình:
ρ
ρ
ρ
ρ
ρ
−
=−
−
=
11
][
2
Q
NE
• Thời gian đợi trung bình trong hệ thống là:
)1(
1
][
ρµ
−
=
WE
• Thời gian đợi trung bình trong hàngđợi là:
)1(
1
][][
ρµ
ρ
µ
−
=−=
WEWE
Q
• Số lượng server được sử dụng (Server utilization):
ρ
µ
λ
==−=
0
1 PU
s
- -
9
2. Hàngđợi Markov M/M/n.
Là hàngđợi có quá trình đến Poisson với tốc độ
λ
, thời gian phục vụ có phân phối mũ
tốc độ phục vụ
µ
với n server và trạng thái hệ thống (kích thước bộ đệm) không giới hạn.
Hình 2-5: Mô hình hàngđợi M/M/n
Lược đồ chuyển trạng thái và hệ phương trình trạng thái cân bằng:
Hình 2-6: Chuỗi Markov của hàngđợi M/M/n
Trong mô hình trên, hệ thống ở trạng thái i khi có i khách hàng được phục vụ đồng
thời. Tốc độ đến và tốc độ phục vụ của chùm trong trạng thái i được xác định là
λ
và
µ
i
Khi một khách hàng đến tại trạng thái i sẽ được chuyển sang trạng thái i+1; ngược
lại, khi một khách hàng hoàn thành phục vụ của nó và rời khỏi hệ thống, trạng thái i sẽ
được chuyển về trạng thái i-1.
Đặt P = (P
0
,P
1
, ,P
n
) là xác suất trạng thái cân bằng của hệ thống, với P
i
là xác suất
trạng thái ổn định (steady-state) của trạng thái i
)0( ni ≤≤
. Theo lược đồ trạng thái như
hình 2-6, ta có hệ phương trình trạng thái cân bằng sau:
( )
( )
+=+
+=+
+=+
=
−+
nnn
PnPPn
PPP
PPP
PP
)(
23
2
11
213
102
01
µλλµ
µλλµ
µλλµ
λµ
=
=
=
=
0
0
3
3
3
0
2
2
2
01
!
!3
2
P
n
P
PP
PP
PP
n
n
n
µ
λ
µ
λ
µ
λ
µ
λ
- -
10
[...]... xung quanh một Block hoặc một nhóm của các Block nơi Transaction chờ đợiđể có thể thu thập Hàngđợi sẽ thu thập và báo cáo số liệu thống kê như chiều dài hàngđợi tối đa và trung bình, độ trễ trung bình, tỷ lệ phần trăm của các transaction đã bị làm trễ Thời gian trong GPSS cũng là một khái niệm trừu tượng Nó đo thời gian trong mô phỏngbằng các đơn vị thời gian Một đơn vị thời gian được giải thích một... tác Mỗi mô phỏng đều có một lệnh Queue liên kết với nó Các đối tượng mô phỏng thực hiện mỗi lệnh trên một hàngđợi sau một cái khác, cho đến khi nó phải dừng lại hoặc cho đến khi nó đã hết những việc cần làm Lệnh được thực thi ngay lập tức hoặc được xếp hàngđợi Lệnh được thực thi ngay lập tức, chẳng hạn như HALT và SHOW, được thực hiện ngay sau khi chúng nhận được bởi các đối tượng mô phỏng lệnh khác... thể GPSS ( GPSS Entities ) GPSS được xây dựng xung quanh một số khái niệm trừu tượng cơ bản được gọi là các thực thể Để có thể tạo ra mô phỏng phức tạp, phải có được một sự hiểu biết về các thực thể và các quy tắc để có thể thao tác được với thực thể đó Các thực thể GPSS là những đối tượng trừu tượng tồn tại trong một mô phỏng Nếu thích một khái niệm cụ thể hơn, ta có thể nghĩ về một thực thể GPSS. .. cầu phải đợi được tính theo công thức Erlang’s C hoặc được goi là Erlang’s delay: pnn ∞ ρi n!(n − ρ ) P ( waiting ) = C (n, ρ ) = ∑ P0 = n−1 i i −n ρ pnn n! n i =n + ∑ i! n!(n − ρ ) i =0 Các công thức sau đây đã được chứng minh bằng phương pháp giải tích • Số lượng trung bình khách hàng trong hệ thống: E[ N ] = ρ + • ρ C (n, ρ ) n−ρ Số lượng trung bình khách hàng đợi, có nghĩa là chiều dài hàngđợi trung... bởi các đối tượng mô phỏng lệnh khác được xếp hàngđợi Chúng được đặt ở phần cuối của một danh sách các lệnh chưa được hoàn thành Khi một đối tượng mô phỏng không có lệnh thực thi ngay lập tức để làm đại diện cho một mô phỏng, nó thực hiện các lệnh tiếp - - 25 theo trên lệnh Queue của mô phỏng Nếu một mô phỏng đang chạy nhận được một lệnh thực thi, mô phỏng bị tạm dừng trong khi câu lệnh thực thi ngay... là các mô phỏng Các loại thực thể nổi bật nhất là các Transactions và Block, bởi vì mô phỏng, ở một mức độ lớn, là bao gồm nhiều Transactions di chuyển từ một Block đi vào Block khác Transactions là các loại thực thể duy nhất có thể bị xóa ra khỏi mô phỏngĐể có hiệu quả trong việc tạo ra các mô phỏng, ta phải hiểu các thuộc tính của các thực thể GPSS và làm thế nào để sử dụng các Block GPSSđể gây... Transaction nếu chúng không tồn tại • Sự ưu tiên ( Priority ) – Sự ưu tiên của một Transaction được xác định bằng cách nhận được khi nó và các Transactions khác đang chờ đợi cùng một tài nguyên Transaction với giá trị ưu tiên cao hơn sẽ nhận được sự ưu tiên Các hàngđợi ưu tiên quan trọng nhất trong mô phỏng là Current Events Chain, Facility Delay Chains, và các Storage Delay Chain Future Events Chain không... Q ] = • ρ C (n, ρ ) n−ρ Số yêu cầu được phục vụ trung bình: E[ N s ] = λ =ρ µ 3 Hàngđợi có Markov M/M/n/n Là hàngđợi có quá trình đến Poisson với tốc độ λ , thời gian phục vụ có phân phối mũ tốc độ phục vụ µ với n server và trạng thái hệ thống (kích thước bộ đệm) bị giới hạn bởi số lượng n - - 11 Hình 2-7: Mô hình hàngđợi M/M/n/n a Lưu lượng xảy đến (Offered Traffic), lưu lượng được mang (Carried... GPSS I Giới thiệu GPSS General Purpose Simulation System (GPSS) là một ngôn ngữ được thiết kế để mô hình hóa các sự kiện rời rạc Loại ngôn ngữ như nó tồn tại được đến ngày hôm nay là kết quả của hơn hai mươi năm phát triển GPSS có gốc rễ trong những ngày đầu phát triển của các máy tính lớn, những ý tưởng cơ bản của nó đã được chứng minh là phù hợp với các ứng dụng dựa trên các vấn đề của ngày nay bằng. .. lệnh Queue Khi một đối tượng mô phỏng nhận được một Transaction, nó được đặt vào cuối mô phỏng của câu lệnh Queue Câu lệnh START được dùng để thiết lập và bắt đầu một phiên mô phỏng Việc mô phỏng sẽ không được kết thúc cho đến khi giá trị kết thúc được thiết lập bằng toán hạng A là 0 hoặc là một số âm Câu lệnh TERMINATE được sử dụng để giảm giá trị của toán hạng A Việc mô phỏng có thể được dừng lại trong . 42
CHƯƠNG 4: MÔ PHỎNG HÀNG ĐỢI 50
1. Hàng đợi M/M/1 theo lý thuyết 50
2. Mô phỏng hàng đợi M/M/1 50
II. Mô phỏng hàng đợi M/M/n 53
2. Mô phỏng hàng đợi M/M/4. mạng hàng đợi: 8
III. Một số hàng đợi cơ bản 8
1. Hàng đợi Markov M/M/1 8
2. Hàng đợi Markov M/M/n 10
3. Hàng đợi có Markov M/M/n/n 11
I. Giới thiệu GPSS