6. Kết quả nghiên cứu, đóng góp khoa học của luận án
2.2.2.1. Mô hình hóa hệthống
Chúng ta xét đến một hệ thống theo mô hình khách - chủ (client – server), trong đó hệ thống nhận được các yêu cầu (transaction) từ máy khách và phục vụ các yêu cầu đó. Hệ thống cài đặt một bộ đệm theo dạng hàng đợi, tức cơ chế đến trước phục vụ trước (First Come First Serve), để tiếp nhận các yêu cầu [78]. Tiến trình Markov để mô hình hệ thống phần mềm khi thực hiện kỹ thuật trẻ hóa sẽ bao gồm ba trạng thái như tại Hình 2.6.
- : trạng thái hệ thống hoạt động bình thường: sẵn sàng phục vụ các yêu cầu. - : trạng thái không an toàn, tức trạng thái phần mềm gặp phải những lỗi. Khi
dó phần mềm cần được phục hồi lỗi và không thể phục vụ. - : trạng thái đang trẻ hóa.
Hoàn thành sửa chữa Trẻ hóa Thất bại Hoàn thành trẻ hóa Hoạt động Lỗi tiềm năng Lỗi Trẻ hóa
45
Hình 2.6. Các trạng thái khi thực hiện trẻ hóa
Từ các kí hiệu trạng thái trên, ta có các công thức để tính toán các độ đo chất lượng của hệ thống như sau:
Độ sẵn sàng: xác suất hệ thống sẵn sàng phục vụ các yêu cầu
(2.7) Độ tin cậy: xác suất hệ thống hoạt động không thất bại
(2.8) Độ an toàn: xác suất hệ thống không thất bại
(2.9)
Tiếp theo, quá trình xử lý các yêu cầu được gửi tới sẽ được mô hình hóa bằng tiến trình Markov trong đó mỗi trạng thái tương ứng với một số lượng yêu cầu còn lại trong hàng đợi. Chúng tôi sử dụng các kí hiệu sau khi mô hình quá trình phục vụ các yêu cầu của phần mềm bằng tiến trình Markov như sau.
- : thời gian từ khi phần mềm khởi động mới hoặc khởi động lại sau khi trẻ hóa lần kế trước đến khi ngừng nhận yêu cầu để chuẩn bị thực hiện trẻ hóa. - : xác suất chuyển từ trạng thái sang trạng thái .
- : xác suất chuyển từ trạng thái sang trạng thái .
- : xác suất có phép chuyển đổi trong hàng đợi tại thời điểm , cũng chính là xác suất ở trạng thái tại thời điểm nếu sử dụng tiến trình Markov mô hình cho các trạng thái liên quan đến số yêu cầu còn lại trong hàng đợi.
- : xác suất ở trạng thái tại thời điểm .
- : tổng số yêu cầu máy chủ có thể cho vào hàng đợi để phục vụ, bao gồm cả yêu cầu đang được xử lý. Nếu hàng đợi đã đầy thì các yêu cầu mới sẽ bị mất. - : giá trị kì vọng của thời gian hoàn thành tiến trình phục hồi các lỗi, tức hệ
thống ở trạng thái .
- : giá trị kì vọng của thời gian hoàn thành tiến trình bảo trì phòng ngừa, tức hệ thống ở trạng thái .
- : Thời gian khi hệ thống ở trạng thái . Giá trị kì vọng là . - : Tỉ lệ yêu cầu gửi đến máy chủ.
- : Tỉ lệ phục vụ các yêu cầu. - : Xác suất phần mềm hỏng hóc.
46
Khi thực hiện các tính toán tham số, chúng ta xét hai điều khoản khác nhau trong việc xác định thời gian bảo trì phòng ngừa:
Điều khoản I. Trẻ hóa được thực hiện sau một khoảng thời gian hằng số kể từ lúc nó được khởi động mới hoặc khởi động lại sau khi trẻ hóa lần kế trước mà không quan tâm đến bộ đệm trống hay không. Do đó, khoảng thời gian nghỉ giữa hai lần trẻ hóa chính là .
Điều khoản II. Trẻ hóa được chờ để thực hiện sau một khoảng thời gian hằng số . Cụ thể hơn, sau khoảng thời gian , hệ thống sẽ phục vụ nốt các yêu cầu trong hàng đợi trong khoảng thời gian và thực hiện trẻ hóa khi hàng đợi đã rỗng. Do đó, khoảng thời gian nghỉ giữa hai lần trẻ hóa bằng khoảng thời gian cộng với thời gian giải phóng hàng đợi , tức nằm trong khoảng . Có thể thấy vấn đề của điều khoản này là nếu khoảng thời gian giải phóng hàng đợi là quá lâu, hệ thống sẽ gặp trục trặc trước khi được trẻ hóa.
Các tiểu mục tiếp theo sẽ trình bày các tính toán cụ thể khi sử dụng hai tiến trình Markov ở trên để mô hình hóa hệ thống phần mềm trong quá trình trẻ hóa.
2.2.2.2. Các độ đo chất lƣợng của hệ thống phần mềm
Xét tiến trình Markov mô hình hệ thống phần mềm khi thực hiện trẻ hóa. Ta có xác suất chuyển trạng thái từ sang là và xác suất chuyển trạng thái từ sang là . Rõ ràng, hệ thống chỉ có thể chuyển trạng thái từ sang hoặc , do đó . Ngoài ra, sau khi thực hiện xong việc khắc phục lỗi (nếu hệ thống chuyển sang trạng thái ) hoặc trẻ hóa (nếu hệ thống chuyển sang trạng thái ), hệ thống sẽ chuyển về trạng thái . Do đó, . Từ đó ta có ma trận chuyển trạng thái:
( + (2.10) Cho là xác suất trạng thái mà phần mềm ở trạng thái . Từ công thức tính xác suất các trạng thái tại thời điểm từ xác suất các trạng thái tại thời điểm :
(2.11)
Cho , khi đó , ta có phương trình biểu diễn mối quan hệ giữa và :
(2.12)
Giải phương trình (2.12) ta có nghiệm tổng quát:
(2.13) với bất kì. Tuy nhiên, tại một thời điểm, hệ thống chỉ có thể ở 1 trong 3 trạng thái
, hoặc . Chú ý rằng , ta có
, tức ⁄ . Từ đó ta có xác suất hệ thống ở các trạng thái là:
47
(2.14) Ta có các công thức tính toán các độ đo chất lượng của hệ thống như sau.
Độ sẵn sàng:
(2.15)
Thay giá trị của vào ta có:
(2.16)
Độ tin cậy:
(2.17)
Trong đó là khoảng thời gian hệ thống chạy bình thường và là khoảng thời gian bắt đầu từ khi hệ thống ngừng nhận yêu cầu đến khi hệ thống được thực hiện trẻ hóa. Giá trị phụ thuộc vào từng điều khoản khác nhau được xét đến.
Độ an toàn:
(2.18)
Thay giá trị của ta có:
(2.19)
Như vậy, việc tính toán các tham số sẽ dựa vào các giá trị , , , , và . Chúng ta lần lượt xét các giá trị này ở các tiểu mục tiếp theo.
2.2.3. Tính toán các tham số của mô hình 2.2.3.1. Tính toán với điều khoản I 2.2.3.1. Tính toán với điều khoản I
Quá trình phục vụ các yêu cầu được mô hình hóa bằng tiến trình Markov như tại Hình 2.7. Mỗi trạng thái ( ) tương ứng với việc còn yêu cầu trong hàng đợi. Rõ ràng, xác suất hệ thống chuyển từ trạng thái sang trạng thái là , chính bằng xác suất hệ thống nhận thêm 1 yêu cầu mới. Ngược lại, xác suất hệ thống chuyển từ trạng thái sang trạng thái là , chính bằng xác suất hệ thống phục vụ xong 1 yêu cầu, tức số yêu cầu giảm đi 1. Tương ứng với mỗi trạng thái là trạng thái dừng ( ), tức trạng thái hệ thống bị hỏng hóc. Xác suất hệ thống chuyển từ trạng thái i sang trạng thái i’ bằng , chính là xác suất hệ thống bị hỏng hóc. Chú ý rằng tại thời điểm , quá trình sẽ bị hủy do hệ thống được trẻ hóa.
48
Hình 2.7. Tiến trình Markov với
Như đã trình bày khi mô hình hóa, ta có là xác suất có yêu cầu trong hàng đợi, cũng chính là xác suất tiến trình Markov ở trạng thái . Từ tiến trình như trong hình, ta có hệ phương trình chủ Chapman-Kolmogorov để tìm các cho điều khoản I:
Đối với trạng thái 0:
- Có thể chuyển từ trạng thái 1 sang với xác suất .
- Có thể chuyển sang các trạng thái 1 hoặc 0’ với xác suất lần lượt là và .
(2.20) Đối với các trạng thái ( ):
- Có thể chuyển từ các trạng thái hoặc sang với xác suất lần lượt là
và .
- Có thể chuyển sang các trạng thái , hoặc với xác suất lần lượt là , và .
(2.21) Đối với trạng thái :
- Có thể chuyển từ trạng thái sang với xác suất .
- Có thể chuyển sang các trạng thái hoặc với xác suất lần lượt là
và .
(2.22) Đối với các trạng thái ( ): có thể chuyển sang từ trạng thái với
xác suất . 1 2 3 K-1 K 1’ 2’ 3’ K-1’ K’ 0 0’
49
(2.23) Hệ phương trình chủ Chapman-Kolmogorov trên không thể giải một cách chính xác mà chỉ có thể giải gần đúng với điều kiện đầu: , với
và với . Khi đó ta có các xác suất liên quan tới mô hình Markov như sau:
∑
(2.24) và
(2.25)
Ngoài ra, ta có thời gian kì vọng hệ thống ở trạng thái sẽ tính bởi:
∫ [∑
]
(2.26) Thay các tham số trên vào các công thức (2.16) và (2.19) ta có công thức tính độ sẵn sàng và độ an toàn. Ngoài ra, theo điều khoản I, hệ thống được khảo sát trong giai đoạn , do đó độ tin cậy trung bình sẽ là:
(2.27)
2.2.3.2. Tính toán với điều khoản II
Trong trường hợp này cần phân biệt giữa và , do điều khoản II đã giả thiết rằng bảo trì phòng ngừa chỉ khởi động khi và chỉ khi bộ đếm được giải phóng sau khoảng thời gian trôi qua. Trong khoảng thời gian , quá trình phục vụ vẫn được mô hình hóa như tại Hình 2.7. Trong khoảng thời gian , quá trình phục vụ được mô hình hóa bằng tiến trình Markov như tại Hình 2.8. Rõ ràng, khi hàng đợi đã trống thì hệ thống sẽ được thực hiện trẻ hóa, do đó trạng thái 0 nằm trong tập các trạng thái dừng. Tương tự như điều khoản I, từ tiến trình Markov ta có hệ phương trình chủ Chapman-Kolmogorov: (2.28) (2.29) (2.30) (2.31) (2.32)
50
Hình 2.8. Tiến trình Markov với
Tổng hợp hệ phương trình chủ Chapman-Kolmogorov trong khoảng thời gian
và , ta có hệ phương trình chủ Chapman-Kolmogorov để tìm các cho điều khoản II:
(2.33) (2.34) (2.35) (2.36) (2.37) (2.38) Với nếu , ngược lại nếu . Hoàn toàn tương tự cho
nếu , ngược lại nếu . Tương tự điều khoản I, xác suất chuyển trạng thái được tính toán bằng tổng các xác suất tại :
∑
(2.39) và
(2.40) Từ đó ta có thời gian kì vọng hệ thống ở trạng thái sẽ tính bởi:
1 2 3 K-1 K 1’ 2’ 3’ K-1’ K’ 0
51 ∫ [∑ ] ∫ [∑ ] ∫ ∫ [∑ ] (2.41)
Thay các tham số trên vào các công thức (2.16) và (2.19) ta có công thức tính độ sẵn sàng và độ an toàn. Ngoài ra, theo điều khoản II, hệ thống được khảo sát trong giai đoạn , do đó độ tin cậy trung bình sẽ là:
(2.42)
2.2.4. Cài đặt thực nghiệm
Ở các tiểu mục trước, chúng tôi đã trình bày cách xây dựng các mô hình nhằm đánh giá sự ảnh hưởng của tham số tới các độ đo độ tin cậy, độ sẵn sàng và độ an toàn. Để đánh giá sự ảnh hưởng này, chúng ta cố định các tham số:
với giờ. Trong đó MTTF (Mean Time To Failure) là khoảng thời gian trung bình từ khi hệ thống bắt đầu hoạt động đến khi gặp trục trặc. Chúng tôi thực hiện việc cài đặt giải gần đúng hệ phương trình chủ Chapman-Kolmogorov trên ngôn ngữ Matlab.
2.2.4.1. Kết quả mô phỏng 1
Trong thực nghiệm này, chúng tôi sẽ thay đổi để xác định ảnh hưởng đến giá trị của để các độ đo đạt giá trị tối ưu. Tỉ lệ thất bại được giả định là hàm của thời gian thực:
(2.43) là hàm rủi ro của phân phối Weilbull. được cố định bằng 1.5 và được tính toán từ và hàm qua công thức:
* ( )
+ (2.44)
52 ( * (2.45)
chính bằng tỉ lệ phục vụ của một số phần mềm chuyển đổi truyền thông.
Ta có lần lượt các hình vẽ mình họa cho sự thay đổi của giá trị các độ đo độ sẵn sàng, độ an toàn và độ tin cậy khi thay đổi các tham số.
Hình 2.9. Độ sẵn sàng dưới điều khoản I
Hình 2.10. Độ sẵn sàng dưới điều khoản II
Độ sẵn sàng: ta có Hình 2.9 và Hình 2.10 minh họa cho giá trị của độ sẵn sàng dưới 2 điều khoản khác nhau. Chú ý rằng hình vuông màu đen trong hình biểu diễn vị trí độ sẵn sàng đạt giá trị cực đại. Từ đó chúng tôi có các nhận xét:
Độ sẵn sàng ① ② ④ ③ ① ② = 0.15 = 0.35 ③ = 0.55 ④ = 0.85 ∎ cực đ i Độ sẵn sàng ① = 0.15 ② = 0.35 ③ = 0.55 ④ = 0.85 ∎ cự đ i ① ② ④ ③
53
- Đối với cả hai điều khoản, với mọi giá trị của , giá trị càng cao thì độ sẵn sàng càng thấp.
- Đối với cả hai điều khoản:
Với và , độ đo độ sẵn sàng sẽ tăng lên rồi giảm dần. Do đó, giá trị của để độ sẵn sàng lớn nhất sẽ là đỉnh của cung tròn. Với và , độ đo độ sẵn sàng sẽ tăng liên tục khi
tăng. Tức hệ thống càng được bảo trì muộn thì độ sẵn sàng càng cao. Tuy nhiên, tốc độ tăng độ sẵn sàng về sau càng ngày càng giảm.
Hình 2.11. Độ an toàn dưới điều khoản I với
Hình 2.12. Độ an toàn dưới điều khoản I khi thay đổi
Độ an toàn ① ② ④ ③ ① = 0.15 ② = 0.35 ③ = 0.55 ④ = 0.85 Độ an toàn = 0.55
54
Hình 2.13. Độ an toàn dưới điều khoản II khi thay đổi
Hình 2.14. Độ tin cậy dưới điều khoản I và II khi Độ tin cậy = 0.55 Độ tin cậy = 0.55 Độ an toàn ① ② ④ ③ ① = 0.15 ② = 0.35 ③ = 0.55 ④ = 0.85
55
Độ an toàn: ta có Hình 2.11, Hình 2.12 và Hình 2.13 minh họa cho sự thay đổi giá trị của độ an toàn khi thay đổi tham số . Từ đó ta có các nhận xét: - Đối với điều khoản I: độ an toàn tỉ lệ nghịch với , tức với mọi giá trị của
, tăng thì độ an toàn giảm. Từ đó có thể nhận xét rằng dưới điều khoản I, hệ thống càng được trẻ hóa sớm thì càng có độ an toàn cao.
- Đối với điều khoản I: với cố định, càng lớn thì độ an toàn càng lớn. - Đối với điều khoản II: độ an toàn của hệ thống dưới điều khoản II sẽ giảm
theo sự giảm của (Hình 2.13). Tuy nhiên sự phụ thuộc là tương đối nhỏ. Độ tin cậy: để đánh giá sự ảnh hưởng của các tham số lên độ tin cậy, ta sẽ cố
định giá trị . Từ Hình 2.14 ta có các nhận xét
- Dưới điều khoản I, hệ thống được trẻ hóa càng sớm thì độ tin cậy của hệ thống càng được giữ ở mức cao.
- Dưới điều khoản II, độ tin cậy được tính toán dọc theo miền thời gian. Dễ dàng nhận ra độ tin cậy sẽ tăng khi tăng rất nhanh đến một ngưỡng nào đó và hầu như giữ nguyên tại đó.
2.2.4.2. Kết quả mô phỏng 2
Trong thực nghiệm này, chúng tôi cố định và sử dụng các hàm tương tự như tại kết quả mô phỏng thứ nhất. Sự thay đổi so với thực nghiệm trước là việc cho thay đổi, nhận các giá trị tương ứng 1.0, 1.5 và 2.0. Chúng ta lần lượt có các hình vẽ minh họa cho các trường hợp thể hiện sự ảnh hưởng của tham số đến các độ đo.
Hình 2.15. Độ sẵn sàng dưới hai điều khoản khi thay đổi
Độ sẵn sàng: ta có các nhận xét:
- Với , thời gian giữa các thất bại tuân theo phân phối mũ do đặc tính phi kí ức của nó. Do đó không nên thực hiện việc trẻ hóa trong trường hợp này nếu muốn cực đại hóa độ sẵn sàng.
Độ sẵn sàng ① ② ④ ③ ⑥ ⑤ Điều khoản I ① = 1.0 ② = 1.5 ③ = 2.0 Điều khoản II ④ = 1.0 ⑤ = 1.5 ⑥ = 2.0
56
- Với các giá trị còn lại, việc trẻ hóa sẽ cực đại hóa độ sẵn sàng tại một giá trị nhất định. Dễ dàng nhận ra xu thế tăng lên đến cực đại rồi giảm dần