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, m 0 ) Trong đó: P: tập các place (|P| = n p ). T: là tập các transition (|T| = n t ). 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). P m Nm ∈ 0 là hình trạng ban đầu. Hình 2: Mạng Stochastic Petri Trong hình 2: P = {p 1 ,p 2 ,p 3 }; T = {t 1 ,t 2 }; m 0 = (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 ớ p 2 t 2 CPU kết thúc xử lý lệnh t 1 CPU bắt đầu xử lý lệnh p 3 CPU đang xử lý lệnh CPU sẵn sàng p 1 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 g iá hi ệ u năn g 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 2 3 t (b) M’ = (1,0,0,3,1) (a) M = (4,1,2,1,0) kích hoạt t 2 2 3 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 t i 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. E t (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,m 0 } 2. NM := {m 0 }; RS := {m 0 } 3. while NM ≠ ∅ 4. begin 5. let m ∈ NM 6. NM := NM - {m} 7. for all t ∈ E t (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{X n+1 =x n+1 /X n =x n , ,X 0 =x 0 } = Pr{X n+1 =x n+1 /X n =x n } (1) Với X i ∈ Τ là trạng thái tại thời điểm t i , Τ là tập trạng thái, t 0 <t 1 < <t n+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 t i 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 1 t → với t 1 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 t 2 là i-transition với µ 2 13 3 t → với t 3 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 i ppQ 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 m p )(#),( 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, http://www.daimi.au.dk/PetriNets . 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ủ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. ứ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. 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