Hiện nay, có ba phương pháp đánh giá hiệu năng thông qua mô phỏng hệ thống [1], đó là: phương pháp sử dụng Mạng hàng đợi (Queue Network - QN) [1,2], phương pháp sử dụng Mạng Petri (Petri Net - PN) [3] và phương pháp sử dụng Chương trình máy tính được thiết kế đặc thù chỉ để mô phỏng cho một hệ thống [1]. Trong đó, phương pháp cuối cùng tuy cho kết quả với độ tin cậy và chính xác cao nhưng phải trả giá về sự đòi hỏi và chiếm dụng tài nguyên rất lớn, vì vậy, phương pháp này thường ít được sử dụng trong đánh giá hiệu năng. Phương pháp sử dụng mạng hàng đợi, với nền tảng là lý thuyết xếp hàng và luật Little, do chi phí thấp, việc mô phỏng đơn giản, trở nên rất hữu dụng đối với các hệ thống không phức tạp, đòi hỏi độ chính xác của kết quả phân tích không cao.
10 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 2431 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Phương pháp đánh giá hiệu năng hệ thống sử dụng mạng Stochastic Petri, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Abstract: Nowadays, Performance Evaluation is one of
the most important fields of information technology. Hence,
it has been widely studied in recent years. This paper
presents the performance evaluation method using
Stochastic Petri Net. With the capability of simulating
complex systems and mapping to Markov chain, this
method is powerful widely used in many systems, especially
in computer and communication systems.
I. ĐẶT VẤN ĐỀ
Đánh giá hiệu năng thông qua mô phỏng hệ thống
là một phương pháp hiệu quả và đặc biệt hữu ích đối
với các nhà thiết kế, xây dựng hệ thống. Nền tảng của
phương pháp là:
− Mô phỏng hệ thống: mô hình hoá cấu trúc
(structure) và mô tả hành vi (behaviour) của hệ
thống.
− Phân tích, đánh giá hiệu năng trên mô hình mô
phỏng hệ thống.
Hiện nay, có ba phương pháp đánh giá hiệu năng
thông qua mô phỏng hệ thống [1], đó là: phương pháp
sử dụng Mạng hàng đợi (Queue Network - QN) [1,2],
phương pháp sử dụng Mạng Petri (Petri Net - PN) [3]
và phương pháp sử dụng Chương trình máy tính được
thiết kế đặc thù chỉ để mô phỏng cho một hệ thống [1].
Trong đó, phương pháp cuối cùng tuy cho kết quả với
độ tin cậy và chính xác cao nhưng phải trả giá về sự
đòi hỏi và chiếm dụng tài nguyên rất lớn, vì vậy,
phương pháp này thường ít được sử dụng trong đánh
giá hiệu năng. Phương pháp sử dụng mạng hàng đợi,
với nền tảng là lý thuyết xếp hàng và luật Little, do
chi phí thấp, việc mô phỏng đơn giản, trở nên rất hữu
dụng đối với các hệ thống không phức tạp, đòi hỏi độ
chính xác của kết quả phân tích không cao. Đối với
các hệ thống phức tạp do khả năng hạn chế trong việc
biểu diễn các quan hệ tương tranh (concurrency),
đồng bộ (synchronization) cũng như các hoạt động
nội tại của server nên phương pháp sử dụng mạng
hàng đợi không đáng tin cậy. Trong bối cảnh đó,
phương pháp sử dụng mạng Petri để mô phỏng hệ
thống, sau đó, trên cơ sở phân tích cây trạng thái
(được thể hiện thông qua tập hình trạng của mạng) để
rút ra các kết quả đánh giá hiệu năng cả về định tính
và định lượng, được coi như một giải pháp dung hoà
hai phương pháp trên, trong đó, kết hợp khả năng mô
phỏng phức tạp của phương pháp thứ ba với khả năng
phân tích đơn giản, hiệu quả của phương pháp đầu.
Phương pháp dùng mạng Petri có thể áp dụng đối với
các hệ thống có hoạt động phức tạp với đầy đủ các
mối quan hệ giữa các thành phần trong hệ thống.
Mô hình mạng Petri được Carl Adam Petri đề xuất
vào năm 1962, trải qua hơn 40 năm phát triển, từ một
mạng Petri đơn giản ban đầu, những người quan tâm
nghiên cứu đã cho ra đời một loạt các loại mạng Petri
mức cao (Coloured Petri Net, Predicate Petri Net,
Stochastic Petri Net...) có thể mô phỏng cũng như
phân tích hiệu năng cho các hệ thống từ đơn giản đến
phức tạp. Trong đó, mạng Stochastic Petri (SPN) [1,4]
do khả năng quy tương đương về chuỗi Markov đã tạo
ra một ưu thế vượt trội trong đánh giá hiệu năng định
lượng và trở thành một hướng nghiên cứu nhiều hứa
hẹn. PN nói chung và SPN nói riêng là những vấn đề
Phương pháp đánh giá hiệu năng hệ thống
sử dụng mạng Stochastic Petri
A System Performance Evaluation Method
Using Stochastic Petri Net
Tạ Hải Tùng
tương đối phức tạp, vì vậy, trong giới hạn ngắn gọn
của bài báo chúng tôi tập trung vào việc ứng dụng
SPN trong đánh giá hiệu năng, các khía cạnh chuyên
sâu có thể được tìm hiểu thêm trong các tài liệu tham
khảo [1,3,4,6].
II. PHƯƠNG PHÁP ĐÁNH GIÁ HIỆU NĂNG
HỆ THỐNG SỬ DỤNG MẠNG STOCHASTIC
PETRI
Hình1 chỉ rõ các bước của phương pháp (mỗi bước
ứng với một cung, bước tương ứng với cung đứt nét
có thể được thực hiện nhiều lần để mang lại kết quả
tối ưu):
Bước 1: Mô phỏng hệ thống thành một SPN.
Bước 2: Xây dựng cây trạng thái của hệ thống
thông qua việc xây dựng tập hình trạng của SPN.
Bước 3: Tiến hành phân tích hiệu năng định tính.
Hình 1: Sơ đồ ứng dụng SPN trong đánh giá hiệu năng
Bước 4: Trên cơ sở cây trạng thái, xây dựng chuỗi
Markov thời gian liên tục (Continuous Time Markov
Chain - CTMC) đại diện cho hệ thống.
Bước 5: Tiến hành phân tích hiệu năng định lượng.
Bước 6: Từ kết quả đánh giá hiệu năng tiến hành
xây dựng hệ thống (bước này không được đề cập do
ngoài phạm vi bài báo).
Các mục tiếp sau sẽ đi vào cụ thể của từng bước.
1. Mô phỏng hệ thống về SPN
a) SPN
Mô hình SPN là một đồ thị có hướng. Trong đó các
đỉnh là: các place đại diện bởi các hình tròn, các
transition đại diện bởi các hình chữ nhật: hình chữ
nhật đen là transition tức thời (immediate transition –
i-transition), hình chữ nhật trắng là các transition gắn
thời gian (timed transition – t-transition). Các đỉnh
khác loại nối với nhau bởi các cung, đối với đỉnh là
transition tương ứng có các cung vào (input arc), cung
ra (output arc), cung ức chế (inhibitor arc) phân biệt
bởi đoạn thằng có hình tròn ở đầu. Mỗi place có chứa
các token, được biểu diễn bởi các hình tròn đen (do
vấn đề ngữ nghĩa nên trong bài báo này vẫn sử dụng
nguyên gốc các thuật ngữ: place, transition, token).
Một sự phân bố các token tại mỗi place là một hình
trạng (marking) của SPN
Về mặt hình thức, SPN được định nghĩa như sau:
Định nghĩa 1: Một SPN được biểu diễn bởi:
SPN = (P, T, Pr, I, O, H, W, m0)
Trong đó: P: tập các place (|P| = np).
T: là tập các transition (|T| = nt).
Pr: tập ưu tiên gắn với mỗi transition. Với lưu ý một i-
transition luôn có giá trị ưu tiên lớn hơn bất kỳ một t-
transition nào.
I, O, H: Các tập trọng số tương ứng với cung vào, cung
ra, cung ức chế.
W:T→ R+ là một hàm liên kết với mỗi transition t. Đối
với t-transition thì W(t) là tốc độ kích hoạt (firing rate).
PmNm ∈0 là hình trạng ban đầu.
Hình 2: Mạng Stochastic Petri
Trong hình 2:
P = {p1,p2,p3}; T = {t1,t2}; m0 = (1,2,0)
Nét đặc thù của SPN là sự liên kết yếu tố thời gian
(tuân theo phân bố xác suất mũ) với sự kích hoạt của
t-transition trong SPN thông qua tốc độ kích hoạt W(t-
Bộ nhớ
p2
t2 CPU kết thúc
xử lý lệnh
t1 CPU bắt đầu
xử lý lệnh
p3 CPU đang xử lý
lệnh
CPU sẵn sàng
p1
Mô phỏng
(1)
Xây dựng
cây
trạng thái
(2)
Phân tích
định lượng
(5)
Phân tích
định tính
(3)
Diễn giải,
xây dựng
hệ thống
(6)
Xây dựng CTMC
(4)
Hệ thống mong đợi
SPN
Cây trạng thái CTMC
Kết quả đánh
giá hiệu năng
transition).
Ngoài các thành phần cơ bản trên, hiện nay để mô
phỏng các hệ thống phức tạp, người ta còn thêm vào
một số thành phần mở rộng tạo nên mạng Stochastic
Reward (SRN) [6,7]
− Ý nghĩa các thành phần của SPN trong mô phỏng hệ
thống:
Place: Đại diện cho tài nguyên hay tình trạng của
tài nguyên.
Transition: Đại diện cho một sự kiện trong chuỗi sự
kiện xảy ra trong quá trình hoạt động của hệ thống.
i-transition: Đại diện cho sự kiện xảy ra tức thời khi
mà điều kiện kích hoạt được thoả mãn.
t-transition: Đại diện cho sự kiện cần trải qua thời
gian trễ trước khi kích hoạt.
Cung: Đại diện cho luồng vào và luồng ra của hệ
thống.
Token: Bản thân token không có ý nghĩa bằng số
lượng token. Số lượng token đại diện cho số lượng tài
nguyên, số lượng yêu cầu... Số lượng token kết hợp
với các place và các cung cấu thành điều kiện để kích
hoạt một transition (cấu thành một sự kiện). Sự lưu
chuyển token thể hiện hoạt động của hệ thống. Sự
phân bố các token đại diện cho các trạng thái của hệ
thống.
Xuất phát từ ý nghĩa trên chúng ta thấy được rằng:
− Cấu trúc của hệ thống có thể được mô phỏng bởi sự
biểu diễn về mặt hình học các thành phần của SPN
(place, transition, token, cung).
− Hoạt động của hệ thống có thể được mô phỏng bởi
sự lưu chuyển các token (chính là sự biến đổi các
trạng thái của hệ thống) giữa các đỉnh của SPN
thông qua sự kích hoạt của các transition (hay sự
xuất hiện của các sự kiện). Đây chính là quá trình
mô tả hành vi trong mô phỏng hệ thống.
Định nghĩa 2: Một transition t gọi là có khả năng
kích hoạt (enabled) trong một hình trạng m khi mà
mọi place đầu vào của t chứa số token không nhỏ hơn
trọng số của cung liên kết và mọi place đầu vào ức
chế có số lượng token nhỏ hơn trọng số của cung ức
chế liên kết.
Định nghĩa 3: Hình trạng m tồn tại một i-transition
có khả năng kích hoạt được gọi là hình trạng vô hình
(vanishing marking). Ngược lại, ta có hình trạng hữu
hình (tangible marking).
Một transition có khả năng kích hoạt t được chọn
kích hoạt sẽ trải qua một khoảng thời gian trễ tuân
theo phân bố hàm mũ (nếu là i-transition thì thời gian
trễ bằng 0) trước khi kích hoạt. Khi kích hoạt, t sẽ loại
khỏi các place vào (kết nối với t thông qua cung vào)
số lượng token tương ứng với trọng số của cung liên
kết và đưa ra place ra (kết nối với t thông qua cung
ra) số token tương ứng với trọng số của cung liên kết.
Trong hình 3 , chúng ta sẽ xem xét sự biến đổi hình
trạng của SPN khi kích hoạt t.
Hình 3: Sự lưu chuyển token trong SPN
Khi trong một hình trạng có nhiều hơn một
transition có khả năng kích hoạt thì luật sau sẽ được
áp dụng để chọn ra một transition được kích hoạt [4]:
Một transition trong số các i-transition có khả năng
kích hoạt (nếu tồn tại) sẽ được chọn đầu tiên theo xác
suất:
W
W(t)=p . Với W là tổng độ phức tạp của các
i-transition có khả năng kích hoạt.
Nếu không tồn tại i-transition có khả năng kích
hoạt, một t-transition sẽ được chọn theo một trong hai
chiến lược:
1. Chiến lược “chạy đua” (race policy)
Trong chiến lược này thì t-transition nào có tốc độ
lớn nhất (hay thời gian trễ nhỏ nhất) trong số các t-
transition có khả năng kích hoạt sẽ được chọn kích
hoạt trước. Chính vì vậy, nảy sinh một vấn đề: So
sánh thời gian trễ giữa các t-transition có gốc thời gian
khác nhau. Trong bối cảnh đó có hai phương pháp:
− Phương pháp khởi tạo lại từ đầu (resampling): Khi
2
23
t
(b)
M’ = (1,0,0,3,1)
(a)
M = (4,1,2,1,0)
kích hoạt t
2
23
t
xét chọn transition kích hoạt thì đồng thời khởi tạo
lại gốc thời gian đối chứng. Nghĩa là không hề xét
đến các yếu tố lịch sử.
− Phương pháp nhớ (memory policy) được bổ sung
thêm vào chính sách để lưu lại các thông tin lịch sử
kích hoạt, phương pháp nhớ gồm các phương pháp
con sau:
Phương pháp nhớ mức thấp: Trong phương pháp
này, tại hình trạng hiện tại, nếu transition ti vẫn tiếp
tục giữ khả năng kích hoạt có được từ các nhịp trước
nhưng tại đó không được chọn kích hoạt thì sẽ không
phải khởi tạo lại gốc thời gian khi đem so sánh với các
transition có khả năng kích hoạt khác.
Phương pháp nhớ mức cao: Phương pháp này,
ngoài khả năng lưu vết các transition vẫn tiếp tục giữ
khả năng kích hoạt, còn có khả năng lưu vết một
transition khi nó không có khả năng kích hoạt ở nhịp
sau, để đến khi nó lại có khả năng này ở một nhịp nào
đó trong tương lai thì gốc thời gian không phải khởi
tạo lại.
2. Chiến lược lựa chọn trước (preselection policy)
Trong đó t-transition sẽ được chọn với xác suất
W
W(t)=p . Với W là tổng tốc độ kích hoạt của các t-
transition có khả năng kích hoạt.
b) Các bước mô phỏng hệ thống
Bước 1: Xác định các hoạt động, chuỗi sự kiện của
hành động và tài nguyên cần thiết cho quá trình hoạt
động của hệ thống.
Bước 2: Sắp đặt các hoạt động theo mối quan hệ
nhân quả xác định trước (hoạt động nào kéo theo
hoạt động nào)
Bước 3: Mỗi hoạt động hoặc sự kiện sẽ được đại
diện bởi một transition.
Bước 4: Các tài nguyên cần thiết, các trạng thái
trải qua trong quá trình hoạt động của tài nguyên
được đại diện bởi các place.
Bước 5: Xác định hình trạng ban đầu của hệ thống.
Bước 6: Chọn lựa chiến lược hoạt động (một trong
hai chiến lược: chạy đua hay lựa chọn trước)
2. Xây dựng cây trạng thái
Cây trạng thái của hệ thống được thể hiện thông
qua tập hình trạng của SPN, với mỗi hình trạng đại
diện cho một trạng thái. Gọi:
RS (Reachability Set) là tập hình trạng của hệ
thống.
NM (New Marking) là tập hình trạng mới chưa
được xét.
Et(m) là tập các transition có khả năng kích hoạt tại
hình trạng m.
Ta có thuật toán xây dựng cây trạng thái với tư
tưởng của thuật toán là: Xuất phát từ hình trạng ban
đầu, ta xác định các transition có khả năng kích hoạt
(chính là các sự kiện có thể xảy ra trong hệ thống), lần
lượt kích hoạt các transition để tạo ra các hình trạng
mới (trạng thái mới của hệ thống), đồng thời lưu trữ
các thông tin về phép chuyển đổi hình trạng đó để tạo
ra ma trận Q' (với m, m' là chỉ số hàng và cột, W(t,m)
là giá trị của phần tử tương ứng). Công việc được tiếp
tục lặp lại với các hình trạng mới (theo nghĩa không
có trong tập các hình trạng đã có), đến khi không thể
nảy sinh ra một hình trạng mới nào.
1. input {P,T,PR,I,O,H,W,m0}
2. NM := {m0}; RS := {m0}
3. while NM ≠ ∅
4. begin
5. let m ∈ NM
6. NM := NM - {m}
7. for all t ∈ Et(m)
8. begin
9. let m →t m'
10. store_Q’(m,m',W(t,m))
11. if m' ∉ RS
12. then NM := NM ∪ {m'}
13. RS := RS ∪ {m'}
14. else mark(m’)
15. end
16. end
17. p(0) = (1,0,...,0)
18. Output RS,Q’,p(0)
Với đầu vào là SPN trải qua thuật toán trên chúng ta
thu được tập hình trạng của SPN, đồng thời thu được
ma trận Q’ có số chiều bằng số trạng thái trong hệ
thống và xác suất thời điểm ban đầu p(0) phục vụ cho
quá trình xây dựng CTMC sau này.
Thuật toán trên chỉ dừng khi số lượng trạng thái của
hệ thống là hữu hạn. Đối với các hệ thống mà việc
xuất hiện các trạng thái mới là vô hạn thì cây trạng
thái cũng có số nút không thể xác định được và thuật
toán không dừng, đó chính là hiện tượng bùng nổ
trạng thái (state explosion). Phương pháp đánh giá
hiệu năng đề cập trong bài báo này chỉ quan tâm đến
các hệ thống hữu hạn trạng thái.
3. Phân tích hiệu năng định tính
Phân tích hiệu năng định tính đem lại câu trả lời về
các tính chất, thuộc tính của hệ thống. Dưới đây sẽ
định nghĩa một số thuộc tính tiêu biểu của hệ thống
cũng như cách phân tích nó trong SPN.
a) Tính dừng
Định nghĩa 4: Hệ thống được gọi là dừng nếu trong
quá trình hoạt động hệ thống đạt tới “điểm chết”
(deadlock) (điểm tại đó không có sự kiện tiếp theo xảy
ra và hệ thống sẽ giữ trạng thái mà nó đạt được đến
khi nào có tác động của môi trường bên ngoài).
Ngược lại ta có hệ thống “sống” (live)
Tính chất này được phân tích trong SPN dựa vào
tập hình trạng của hệ thống: Nếu tồn tại hình trạng
không có khả năng kích hoạt một transition nào, ta kết
luận: hệ thống dừng.
b) Tính giới hạn (Bounded)
Định nghĩa 5: Một hệ thống được gọi là giới hạn
nếu số lượng trạng thái của nó là giới hạn.
Trong SPN, khái niệm giới hạn được gắn với số
lượng token tại mỗi place: Nếu tồn tại một place có số
lượng token tăng lên không ngừng vượt quá một giới
hạn định trước thì coi hệ thống là không giới hạn. Nếu
hệ thống có số lượng token tại mỗi place luôn nhỏ hơn
một số k thì hệ thống được gọi là k-bounded.
c) Tính bảo toàn (Conservative)
Định nghĩa 6: Một SPN được coi là bảo toàn nếu
số lượng token tại mọi hình trạng trong tập hình trạng
của nó là như nhau.
d) Tính khôi phục ngược (Reversible)
Định nghĩa 7: Hệ thống được gọi là có khả năng
khôi phục ngược nếu trong quá trình hoạt động có khả
năng quay lại trạng thái ban đầu.
Trong SPN, tính chất này sẽ được phân tích thông
qua việc tìm kiếm hình trạng ban đầu tại các node
khác node gốc của tập hình trạng.
4. Xây dựng CTMC
CTMC – Continuous Time Markov Chain – được
xác định theo quan hệ sau:
Pr{Xn+1=xn+1/Xn=xn,...,X0=x0} = Pr{Xn+1=xn+1/Xn=xn} (1)
Với Xi∈Τ là trạng thái tại thời điểm ti, Τ là tập
trạng thái, t0<t1<...<tn+1. Do thời gian là liên tục mà
không gian trạng thái lại rời rạc, nên khi đạt đến một
trạng thái thì CTMC sẽ “ở” trạng thái đó trong một
khoảng thời gian gọi là thời gian trễ (residence time)
tuân theo phân bố xác suất mũ với hàm phân bố:
)2(0,1)( ≥−= − tetF ti iµ
Vì vậy một CTMC được đại diện bởi ma trận Q và
véc-tơ xác suất thời điểm ban đầu p(0), trong đó, các
phần tử của ma trận Q chính là thành phần tốc độ (µi)
dùng để xác định thời gian trễ tại mỗi trạng thái i
trong (1).
Trong SPN do yếu tố thời gian được gắn với t-
transition nên các phần tử của ma trận Q lúc này chính
là tốc độ kích hoạt của t-transition. Q được xây dựng
từ Q' sau khi đã loại các phần tử tương ứng với các
hình trạng (trạng thái) vô hình (định nghĩa 3) (do
trạng thái này thực tế không tồn tại, hệ thống sẽ ngay
lập tức chuyển sang trạng thái hữu hình kế tiếp). Cơ
sở để xây dựng Q được mô tả thông qua hình 4:
Hình 4: Xây dựng ma trận đặc trưng Q từ cây trạng thái
Trong đó: 1 và 3 là các trạng thái hữu hình, 2 là
trạng thái vô hình
21
1t→ với t1 là t-transition với tốc độ kích hoạt µ1.
λ
Q = µ2µ1
1 3
2
-µ1µ2 µ1µ2
λ -λ
32
t 2→ với t2 là i-transition với µ2
13
3t→ với t3 là t-transition với tốc độ kích hoạt λ.
Các phần tử đường chéo của Q được tính theo công
thức:
∑
≠
−=
ji
jiii qq ,, (3)
5. Phân tích định lượng
Nền tảng của phân tích định lượng là việc tính xác
suất trạng thái p của hệ thống tại giai đoạn bền vững
(steady-state).
Giai đoạn bền vững là giai đoạn mà tại đó xác suất
để hệ đạt đến một trạng thái trong không gian trạng
thái không phụ thuộc vào yếu tố thời gian (Chú ý: Từ
state trong steady-state nên hiểu là “giai đoạn” thay vì
“trạng thái” do nó không phải là một trạng thái nằm
trong không gian trạng thái của hệ thống).
p được xác định thông qua việc giải hệ phương
trình:
∑
∈
==
ψi
ippQ 1,0 (4)
ψ: Không gian trạng thái.
(các phương pháp kinh điển có thể áp dụng: Gauss,
Jacobi, Gauss-Seidel, SOR ...)
Công đoạn này đơn giản nhưng đòi hỏi nhiều tài
nguyên. Phương pháp tiếp cận song song được trình
bày trong [7] là một giải pháp hữu ích đối với các hệ
thống phức tạp, có số trạng thái lớn (tương ứng số
phần tử của Q lớn).
Từ xác suất p, các thông số hiệu năng định lượng sẽ
được tính theo các công thức sau:
− Xác suất để place có đúng k token:
{ } ∑
=∈
==
kmPmRm
mp
)(#),( 0
kP#Pr (5)
− Số lượng token trung bình tại một place:
[ ] { }∑∞
=
==
0
P#Pr
k
kkPE (6)
− Thông lượng tại transition t:
∑
∈∈
=
)(),( 0
m)W(t,
mEtmRm
mt
t
pX (7)
− Hiệu suất tại một place hay hiệu suất sử dụng tài
nguyên:
[ ] ( )∑∞
=
==
1
#Pr
k
kPPU (8)
Trong đó:
pm: Xác suất trạng thái tương ứng hình trạng m tại
giai đoạn bền vứng.
m0: Hình trạng ban đầu.
R(m0): Tập hình trạng của SPN.
#P: Số lượng token tại place P.
III. ỨNG DỤNG
Mục này đề cập đến việc ứng dụng SPN trong đánh
giá hiệu năng hệ thống FileServer được thực hiện
thông qua SPNBuilder - phần mềm được chúng tôi
xây dựng dựa trên nền tảng lý thuyết được trình bày
trong mục 2 và cách tiếp cận đề xuất trong [5].
1. Phần mềm SPNBuilder
Phần mềm gồm các chức năng chính sau:
− Xây dựng SPN trực quan (Graphic Editor): Cung
cấp sẵn các thành phần mạng để người sử dụng có
thể xây dựng SPN cho hệ thống của mình.
− Trình diễn sự lưu chuyển token mô phỏng hoạt động
của hệ thống (Token Game).
− Phân tích hiệu năng định tính.
− Phân tích hiệu năng định lượng.
− Phần mềm được xây dựng bằng ngôn ngữ Java, yêu
cầu bản JDK từ 1.3 trở lên.
2. Đánh giá hiệu năng hệ thống File Server
Xét hệ thống gồm có 3 Client và 1 FileServer kết
nối trong môi trường mạng sử dụng phương pháp truy
cập đường truyền TokenRing với các điều kiện sau
(hình 5):
− Các Client có cấu hình giống hệt nhau.
− Một Client chỉ phát sinh yêu cầu khi yêu cầu ở nhịp
trước đã được phục vụ.
Hình 5: Sơ đồ hệ thống FileServer
− FileServer phục vụ theo chiến lược FIFO với mỗi
lần truy cập đường truyền chỉ để gửi trả lời cho một
Client.
− Thông lượng đường truyền: 10Mbit/s.
− Chiều dài đoạn cáp: 2000m.
− Số bit trung bình một gói tin yêu cầu: 1000bpp.
− Số bit trung bình một gói tin trả lời: 32000bpp.
− Số bit biểu diễn Token: 24bit
− Thời gian trung bình một trạm phát sinh yêu cầu :
11.11ms.
− Thời gian trung bình xử lý một yêu cầu tại server:
2ms.
a) Mô phỏng hệ thống
Để mô phỏng chúng ta chia hệ thống ra thành 3
phần: Client A, FileServer và SuperClient. Trong đó,
SuperClient đại diện cho tất cả các Client giống nhau
còn lại với mục đích làm giảm số lượng place,
transition đại diện . Các thành phần này sẽ lần lượt
được mô phỏng và tập hợp lại tạo nên SPN của toàn
hệ thống (hình 6).
− Mô phỏng ClientA
Ban đầu ClientA ở trạng thái rỗi được đặc trưng bởi
một token nằm trong A_Idle. Sau một khoảng thời
gian được xác định thông qua tốc độ kích hoạt của
A_IssueReq thì A phát sinh yêu cầu, yêu cầu được
lưu tại vùng đệm A_WaitNToken.
Khi NetworkToken đến đại diện bởi một token
trong A_CapNToken. Sẽ có hai trường hợp xảy ra:
Nếu không có yêu cầu trong bộ đệm thì lập tức
NetworkToken sẽ được chuyển sang trạm kế tiếp, ở
đây là FileServer, sau một khoảng thời gian di chuyển
được xác định bởi tốc độ kích hoạt của
A_RelNToken. Nếu có yêu cầu trong bộ đệm thì sau
một khoảng thời gian được xác định bởi tốc độ kích
hoạt của A_TranReq, yêu cầu sẽ được chuyển đến
cho FileServer (tại S_GetReq), đồng thời A chuyển
sang trạng thái đợi trả lời A_WaitReply và giải phóng
NetworkToken cho trạm kế tiếp.
− Mô phỏng SuperClient
SuperClient về cơ bản giống với ClientA chỉ khác
khi Network Token đến trạm này thì trước khi được
chuyển sang trạm kế tiếp phải quay vòng với số lần
bằng đúng số Client mà nó đại diện. Công việc đếm
này được thực hiện bởi N-1_Count. Hơn nữa, tốc độ
kích hoạt của N-1IssueReq phụ thuộc vào số token
trong N-1_Idle nghĩa là phụ thuộc vào số Client rỗi
(còn có khả năng ra yêu cầu).
− Mô phỏng FileServer
Yêu cầu đến FileServer được xếp hàng tại
S_GetReq. Sau khoảng thời gian được xác định bởi
tốc độ kích hoạt của S_IssueReply, yêu cầu được xử
lý và FileServer phát ra bản tin trả lời được lưu tại
S_WaitNToken. Khi NetworkToken đến bản tin trả
lời sẽ được chuyển đến đúng trạm đang đợi tùy theo
tình trạng (số lượng token) tại A_WaitReply (đại diện
cho yêu cầu đến từ A), N-1_WaitReply (đại diện cho
các yêu cầu đến từ SuperClient sau yêu cầu từ A đến
FileServer), N-1_WaitBefore (đại diện cho các yêu
cầu đến trước yêu cầu từ A):
Nếu place N-1_WaitBefore rỗng, nghĩa là không có
yêu cầu nào xếp hàng trước yêu cầu đến từ A, thì trả
lời sẽ được gửi về A.
Nếu place N-1_WaitBefore không rỗng (có
SPNToken trong đó), nghĩa là tồn tại yêu cầu đến
trước yêu cầu A.
Do hệ thống hoạt
động FIFO, nên
bản tin trả lời sẽ
trả về cho
SuperClient.
Nếu
A_WaitReply rỗng
nghĩa là yêu cầu
đến từ A đã được
phục vụ thì các
yêu cầu đến từ
SuperClient ngay
sau A, đang được
xếp hàng tại place
N-1_WaitReply sẽ
được chuyển tất cả
(ký hiệu bới trọng
số các cung tương
ứng là F) sang N-
1_WaitBefore
thông qua việc
kích hoạt
transition Merge .
Sau khi bản tin
trả lời được gửi đi,
NetworkToken sẽ
được giải phỏng,
gửi đến trạm kế
tiếp (Super Client).
Từ các thông số
của hệ thống đã
cho, ta tính được
tốc độ kích hoạt cho từng t-transition:
A_IssueRq có tốc độ: λ = 0.09
N-1_IssueRq = m(N-1_Idle)*0.01, với m(N-1_Idle)
là số SPNToken của N-1_Idle tại hình trạng m.
S_IssueReply = η = 0.5
A_TranRq = N-1_TranRq = µ = 10.
S_TranReply = β = 0.31
A_RelNToken = S_RelNToken = γ = 204.8
N-1_TranNToken = γ = 204.8
Đơn vị: số lần kích hoạt / ms
b) Kết quả phân tích định tính
System has 551 states.
Including 277 vanishing states, 274 tangible states.
*** SYSTEM IS 3-BOUNDED ***
*** SYSTEM IS LIVE ***
Hình 6: SPN của hệ thống FileServer
*** SPN IS NOT CONSERVATIVE ***
*** SYSTEM IS NOT REVERSIBLE ***
c) Kết quả phân tích định lượng
Chúng ta thu được các thông số:
Pr(A_Idle = 1) = α = 36.194%
E(S_CapNToken) = 0.090
U(N-1_CapNToken) = 19.586%
Từ việc tính U cho các place ta có thể vẽ được biểu
đồ hiệu suất sử dụng tài nguyên như hình 8.
Hình 7: Cây trạng thái
Hình 8: Biểu đồ hiệu suất sử dụng tài nguyên
d) Đánh giá kết quả
Sử dụng SPN đã mô phỏng được các hoạt động cơ
bản nhất của hệ thống. Trong đó quan trọng nhất là
mô phỏng được chiến lược phục vụ FIFO của
FileServer. Từ mô phỏng này chúng ta có thể mở rộng
cho các hệ thống Client-Server có hoạt động phức tạp
hơn, phản ánh được sự phong phú, đa dạng, đặc thù
của các ứng dụng trong thực tế.
Các tính chất của hệ thống cũng như các thông số
đưa ra mang lại cái nhìn sâu sắc hơn về hệ thống và
đặc biệt hữu ích đối với các nhà thiết kế và quản trị
mạng.
IV. KẾT LUẬN
Bài báo trình bày về phương pháp đánh giá hiệu
năng sử dụng mạng Stochastic Petri. Phương pháp có
các ưu điểm lớn trong khả năng:
− Mô phỏng hệ thống ở cấp độ phức tạp cao.
− Thực hiện các phân tích hiệu năng định tính và định
lượng đáng tin cậy.
Tuy nhiên, phương pháp này cũng bộc lộ những
nhược điểm cơ bản sau:
− Nguy cơ bùng nổ trạng thái (state explosion) đối với
các hệ thống quá phức tạp dẫn đến việc phân tích
hiệu năng khó thực hiện (do đòi hỏi tài nguyên lớn).
− Khó khăn trong việc biểu diễn hệ thống về SPN do
trình độ mô phỏng của người sử dụng (bao gồm:
nhận thức về hệ thống và kiến thức về SPN).
− Yếu tố thời gian trong SPN phải tuân theo phân bố
mũ, trong khi, trên thực tế có nhiều hệ thống tồn tại
các phân bố thời gian khác nhau không có khả năng
chuyển đổi về chuỗi Markov, các hệ thống non-
Markovian [4].
Để SPN thực sự trở thành một phương pháp hữu
hiệu trong đánh giá hiệu năng, hướng nghiên cứu
trong thời gian tới đây của chúng tôi là:
− Vận dụng những ưu điểm của các PN khác như:
Coloured Petri Net, Abstract Datatype Petri Net... để
có thể mô phỏng hệ thống một cách chính xác hơn.
− Xây dựng các hệ thống tính toán song song để tăng
hiệu năng tính toán giúp cho việc phân tích các hệ
thống có số trạng thái lớn.
− Xây dựng phần mềm có khả năng xây dựng SPN
thông qua mô tả của người sử dụng theo một
phương thức đơn giản nhất.
− Nghiên cứu, phát triển các phương pháp, các giải
thuật mới có thể đối phó đối với các hệ thống có số
lượng trạng thái là không giới hạn (Ví dụ: SPN
không giới hạn trạng thái – Infinite SPN [1]).
TÀI LIỆU THAM KHẢO
[1] B.R.HAVERKORT, Performance of Computer
Communication Systems, John Wiley & Sons, 1998.
[2] NEIL J.GUNTHER, The Practical Performance
Analyst, McGraw-Hill, 1998.
[3] F.DICESARE,..., “Practice of Petri Nets in
Manufactoring”, Chapman & Hall, 1994.
[4] K.S.TRIVEDI,..., “The Evolution of Stochastic Petri
Net”, In Proc.World Congress on Systems Simulation ,
Singapore, Sept. 1-3, 1997.
[5] O.C.IBE,..., “Performance evaluation of client-server
systems”, IEEE Transactions on Parallel and
Distributed Systems, 4(11) 1993.
[6] G.CIADO,..., “Automated generation and analysis of
Markov reward models using Stochastic Reward Nets,
Linear Algebra, Markov Chains, and Queueing
Models”, (invited) Carl Meyer and R. J. Plemmons
(eds.), IMA Volumes in Mathematics and its
Applications, Vol. 48, pp. 145-191, Springer-Verlag,
Heidelberg, 1993.
[7] SUSANN ALLMAIER, DAVID KREISHE, “Parallel
Approaches to the Numerical Transient Analysis of
Stochastic Reward Nets”, In Proc. Parallel Computing
Proc. IEEE 20th Int. Conf. on Application and Theory
of Petri nets (ICATPN'99), Williamsburg, USA, 1999.
[8] Website: Petri Nets World: Online Services for the
International Petri Nets Community,
Ngày nhận bài: 09/07/2003
SƠ LƯỢC TÁC GIẢ
TẠ HẢI TÙNG
Sinh ngày 26 tháng 10 năm
1980 tại Hà Nội.
Tốt nghiệp Đại học Bách
khoa Hà Nội ngành Công nghệ
thông tin, năm 2003.
Hiện công tác tại Khoa Công
nghệ Thông tin Đại học Bách
khoa Hà Nội
Hướng nghiên cứu: Đánh giá
hiệu năng, truyền thông và mạng máy tính
Email: tungth@it-hut.edu.vn
Các file đính kèm theo tài liệu này:
- Phương pháp đánh giá hiệu năng hệ thống sử dụng mạng Stochastic Petri.pdf