Bài toán dự phòng tronghệ thống

Một phần của tài liệu Các phương pháp dự phòng nâng cao tin cậy của hệ thống tính toán (Trang 25)

1.2.1. Khái niệm

Dự phòng trong hệ thống hay là nâng cao độ tin cậy hệ thống bằng cách đƣa ra các đối tƣợng dƣ thừa là nguồn lực bổ sung để các đối tƣợng có thể thực hiện chức năng, nhiệm vụ của mình.

Mục đích dự phòng tronghệ thống - để đảm bảo hệ thống hoạt động bình thƣờng sau khi xuất hiện của các lỗi trong các thành phần của nó.

1.2.2. Các cách tiếp cận của dự phòng hệ thống

Các thành phần của hệ thống phức tạp thƣờng cho độ tin cậy thấp nên đòi hỏi chúng ta phải có phƣơng pháp phát triển đặc biệt nhƣ thế nào để đảm bảo tăng cƣờng và duy trì độ tin cậy của những hệ thống phức tạp.Để nâng cao đƣợc độ tin cậy của các hệ thống nhƣ thế thì phải bao gồm cả sự phát triển của phƣơng pháp toán học, tính toán ƣu tiên và đánh giá thử nghiệm. Phƣơng pháp tính toán về độ tin cậy của hệ thống dựa trên cơ sở lý thuyết xác suất và quá trình ngẫu nhiên đã đƣợc áp dụng và đã đạt đƣợc những kết quả khả quan. Từ những thông số về độ tin cậy của hệ thống thì chúng ta sẽ lập nên các phƣơng pháp dự phòng để nâng cao độ tin cậy của hệ thống.

Độ tin cậy và khả năng hoạt động an toàn của hệ thống là phụ thuộc vào phần lớn vào cấu trúc hệ thống và độ tin cậy của các thành phần cấu thành hệ thống. Các phƣơng pháp nâng cao độ tin cậy của hệ thốngdựa trên cấu trúc của hệ thống thông qua độ tin cậy của từng thành phần hệ thống là một bài toán phức tạp mà để giải quyết bài toán đó thì cần đến các công cụ nhƣ lý thuyết xác

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

suất, lý thuyết đồ thị, logic. Việc nghiên cứu các phƣơng pháp để nâng cao độ tin cậy của hệ thống là một trong những biện pháp để phát triển công nghệ hiện đại ngày nay. Trong dự phòng cấu trúc thì có bốn phƣơng pháp dự phòng cơ bản:

- Dự phòng nóng - Dự phòng lạnh

- Dự phòng theo cơ chế bỏ phiếu (chập 3) - Dự phòng bảo vệ tích cực.

a) Phƣơng pháp dự phòng nóng:

Hệ thống dự phòng nóng là hệ thống trong đó các phần tử dự phòng chịu tải nhƣ nhau và nhƣ phần tử cơ bản, cả trƣớc và sau khi chúng bƣớc vào trạng thái làm việc. Hệ thống có dự phòng nhƣ vậy còn gọi là hệ thống song song. [4] Phần tử dự phòng khi thay thế phần tử bị hỏng vẫn giữ nguyên chế độ tải trọng của mình. Do đó độ tin cậy của nó không phụ thuộc vào thời điểm chuyển tiếp nó từ trạng thái dự phòng sang trạng thái làm việc.

Hệ thống song song nhƣ vậy chỉ bị hỏng khi các phần tử đều hỏng (lần lƣợt cho tới phần tử cuối cùng), tức là sự hỏng của hệ là giao của các sự kiện hỏng của các phần tử. [4]

b) Phƣơng pháp dự phòng lạnh:

Hệ thống dự phòng lạnh là hệ thống trong đó các phần tử dụ phòng chƣa hoạt động cho đến khi chúng đƣợc thay thế cho phần tử bị hỏng. [4]

Khi hệ thống có sự cố hoặc cần sửa chữa, bảo trì thì phần tử dự phòng đƣợc khởi động lên để thay thế phần tử hỏng. [4]

c) Phƣơng pháp dự phòng theo cơ chế bỏ phiếu (chập 3)

Dự phòng theo cơ chế bỏ phiếu (chập 3) là các phần tử trong hệ thống đƣợc nhân 3 số lƣợng. Khi đó hệ thống sẽ làm việc nếu ít nhất 2 trong 3 phần tử đó làm việc và cho ra kết quả giống nhau. [6]

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hệ thống sẽ so sánh kết quả làm việc của 3 phần tử nếu có ít nhất 2 phần tử trả về kết quả giống nhau thì lúc đó hệ thống sẽ làm việc

d) Phƣơng pháp dự phòng bảo vệ tích cực

Hệ thống dự phòng tích cực [4] gồm n phần tử cùng loại làm việc nối tiếp và m phần tử cùng loại đó ở vị trí dự phòng. Khi một phần tử bất kỳ trong số n phần tử làm việc bị hỏng thì bộ chuyển tiếp sẽ đƣa một trong số m phần tử dự phòng vào thay.

Giả sử các phần tử làm việc và các phần tử dự phòng đều ở chế độ có tải khi đó hệ thống sẽ duy trì khả năng làm việc của mình cho tới số phần tử làm việc không hỏng (trong số m+n phần tử) không nhỏ hơn n.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

CHƢƠNG 2 NÂNG CAO ĐỘ TIN CẬY CỦA HỆ THỐNG TÍNH TOÁN 2.1. Các bƣớc tính toán độ tin cậy của hệ thống

Các bƣớc tính toán độ tin cậy của hệ thống bao gồm:

 Bƣớc 1: Xây dựng sơ đồ logic theo cấu trúc hệ thống

 Bƣớc 2: Tìm các đƣờng đi thành công của hệ thống và ghi lại những đƣờng đi đó dƣới dạng các toán tử logic cơ bản, rồi tiến hành tối hiểu hóa các toán tử logic.

 Bƣớc 3: Trực giao hoá các toán tử logic

 Bƣớc 4: Chuyển đổi mô hình logic sang giá trị đại số

2.1.1. Xây dựng sơ đồ logic theo cấu trúc hệ thống (adsbygoogle = window.adsbygoogle || []).push({});

Cấu trúc vật lý của một hệ thống tính toán hiện nay có thể có nhiều dạng khác nhau nhƣng hầu hết là sự kết hợp giữa sơ đồ nối tiếp (Hình 2.1) và sơ đồ song song (Hình 2.2).

N 1 2 3 n T

Hình 2.1: Sơ đồ của hệ các phần tử nối tiếp

1 2

n

N T

Hình 2.2: Sơ đồ của hệ các phần tử song song

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Sơ đồ cấu trúc logic là biểu diễn cấu trúc logic của hệ thống bằng sơ đồ theo các quy ƣớc về cách mã hoá và biểu diễn mối quan hệ giữa các thành phần dƣới dạng các ký hiệu. Việc xây dựng thành công sơ đồ cấu trúc logic của hệ thống cho ta một hình ảnh trực quan về cấu trúc hệthống và sẽ làđiều kiện tiên đề để có thể phân tích và đánh giá độ tin cậy của hệ thống.

Sơ đồ cấu trúc logic bao gồm:

- Các phần tử của một cấu trúc logic (hay còn gọi là các đỉnh), trong đó có một nút khởi đầu và kết thúc (đầu vào và đầu ra), các nút trung gian. - Các đỉnh đƣợc kết nối bởi các cạnh.

- Hƣớng của các cạnh trong đồ thị:

o Nếu việc truyền trao đổi thông tin giữa các đỉnh chỉ theo một hƣớng thì các cạnh tƣơng ứng trong sơ đồ cấu trúc logic có hƣớng theo hƣớng truyền.

o Nếu các đỉnh truyền thông tin theo cả hai hƣớng thì các cạnh tƣơng ứng trong sơ đồ khối là vô hƣớng.

- Cặp gồm hai đỉnh khác nhau trao đổi thông tin cho nhau đƣợc gọi là một cạnh (cung) của sơ đồ cấu trúc logic.

2.1.2. Thuật toán chuyển đổi sơ đồ cấu trúc logic sang đồ thị liên kết

a)Phân loại các đỉnh và các cạnh của đồ thị liên kết

- Nút nguồn: Có ít nhất một cung đi ra và không có cung đến. - Nút đích: Có ít nhất một cung đi vào và không có cung đi ra.

- Cạnh: Nối 2 đỉnh khác nhau của đồ thị. Ví dụ: Cạnh nối đỉnh i và j, ký hiệu là (i,j).

- Cung: Là cạnh có hƣớng. Ví dụ: Cạnh nối 2 đỉnh i và j tƣơng ứng với 2 cung là (i,j) và (j,i) và có (i,j)=(j,i).

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

- Đƣờng đi bắt đầu từ một đỉnh và kết thúc tại chính đỉnh đó đƣợc gọi là chu trình hay vòng lặp. Độ dài của đƣờng đi bằng số các cạnh (hoặc cung) trong đƣờng đi đó.

- Đƣờng (chu trình) trong đồ thị đƣợc gọi là đơn nếu nó đi qua mỗi cạnh đúng một lần.

- Đƣờng (chu trình) trong đồ thị đƣợc gọi là sơ cấp nếu nó đi qua mỗi đỉnh đúng một lần.

- Đƣờng đi qua tất cả các đỉnh gọi là đƣờng đi đầy đủ.

b) Thuật toán chuyển đổi từ sơ đồ cấu trúc logic sang đồ thị liên kết

Thuật toán chuyển đổi từ sơ đồ cấu trúc logic sang đồ thị liên kếtgồm các bƣớc sau:

- Nguồn của sơ đồ cấu trúc logic đƣợc thay thể bằng các đỉnh của đồ thị, gọi là đỉnh gốc. Các cung bắt đầu từ đỉnh nguồn của sơ đồ cấu trúc logic đƣợc thay thế bằng các cung của đồ thị và xuất phát từ đỉnh gốc.

- Các nút đỉnh đƣợc thay thế bằng các đỉnh của sơ đồ cấu trúc logic .

- Các cung trong sơ đồ cấu trúc logic đƣợc thể hiện bằng các cung trong đồ thị với các đỉnh tƣơng ứng. (adsbygoogle = window.adsbygoogle || []).push({});

- Tất cả các đỉnh khác (đỉnh khuyên – bắt đầu và kết thúc tại chính nó) đƣợc thể hiện bằng các cung trong đồ thị.

- Các cung và các cạnh của đồ thị đƣợc thay thế bởi các cung của sơ đồ cấu trúc logic .

Trong trƣờng hợp sơ đồ cấu trúc logic vô hƣớng thì việc biến đổi là đơn giản nhƣng nếu sơ đồ cấu trúc logic là có hƣớng thì việc quan trọng là phải xác định hƣớng của các cung và xây dựng làm sao cho hệ thống đạt hiệu quả.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Đồ thị liên kết nói chung (có ít nhất một cạnh) là có hƣớng nếu các cặp (i,j) đƣợc sắp thứ tự và mỗi cặp (i,j) là một cung. Đồ thị là vô hƣớng nếu các cặp (i,j) không sắp thứ tự và mỗi cặp (i,j) gọi là một cạnh

2.1.3. Thuật toán tìm tất cả các đƣờng đi trong ma trận liên kết:

a) Trường hợp đồ thị cần biểu diễn là vô hướng:

Ý tưởng thuật toán: Đồ thị có thể đƣợc biểu diễn bằng ma trận kề vuông cấp n, với n là số đỉnh của đồ thị. Phần tử δij ở hàng i cột j (i,j=0,1,2, ...n) đƣợc xác định nhƣ sau:

- δij =1 nếu cặp đỉnh xi và xj có cạnh nối với nhau.

- δij =0 nếu cặp đỉnh xi và xj không có cạnh nào nối với nhau.

Ma trận của đồ thị vô hƣớng là ma trận đối xứng, tức là các phần tử đối xứng qua đƣờng chéo chính sẽ tƣơng ứng bằng nhau.

b) Trường hợp đồ thị cần biểu diễn là có hướng:

Ý tưởng thuật toán: Đồ thị có thể đƣợc biểu diễn bằng ma trận kề vuông cấp n, với n là số đỉnh của đồ thị. Phần tử δij ở hàng i cột j (i,j=0,1,2, ...n) đƣợc xác định nhƣ sau:

- δij =1 nếu cặp đỉnh (xi, xj ) có cung.

- δij =0 nếu cặp đỉnh (xi, xj ) không có cung nào.

Ma trận của đồ thị có hƣớng không phải là ma trận đối xứng và ma trận biểu diễn đồ thị đơn là ma trận logic.

c) Thuật toán tìm tất cả các đường đi trong ma trên kề:

Để tìm tất cả các đƣờng đi trong ma trận kề dựa trên thao tác nhân ma trận liên kết một cột tƣơng ứng của ma trận đó đƣợc thể hiện nhƣ sau:

Bk = A B*k- 1(*)

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

- B*k- 1 là kết quả của phép chuyển đổi B k- 1 ;

Bài toán tìm tất cả các đƣờng đi trong ma trận kề trở thành bài toán cho ma trận A và ma trận cột B1 hãy tìm tất cả các đƣờng đi có thể có từ nguồn (điểm phát) tới đích (điểm nhận).

Thuật toán:

- Bước 1: Kiểm tra ma trận cột B1 có chứa cung bắt đầu từ đỉnh nguồn hay không. Nếu cung tồn tại thì ghi nhận đƣờng đi đó và thay thế cung đó bởi giá trị 0. Sự thay đổi này sẽ cho ta kết quả là B*

1 ; - Bước 2: Xét với k=2.

- Bước 3: Thực hiện phép tính (*) để tìm các giá trị Bk tƣơng ứng.

- Bước 4: Kiểm tra Bk bắt đầu từ nguồn, nếu đƣờng đi tồn tại thì ghi nhớ và thay thế cung đƣờng đi đó bởi giá trị 0. Nếu đƣờng đi xuất hiện trong Bk là đƣờng đi đầy đủ thì thay thế Bk =0. Sự thay đổi này cho ta kết quả là B*k .

- Bước 5: Kiểm tra B*k . Nếu B*k =0 thì thực hiện tiếp bƣớc 7. Nếu B*k

≠0 thì thực hiện tiếp bƣớc 6.

- Bước 6: Kiểm tra điều kiện k ≤ n-1. Nếu thoả mãn điều kiện k < n-1 thì tăng k lên 1 và thực hiện tiếp bƣớc 3. Nếu điều kiện k = n-1thì thực hiện tiếp bƣớc 7. (adsbygoogle = window.adsbygoogle || []).push({});

- Bước 7: Kiểm tra lại danh sách đƣờng đi và kết quả nhận đƣợc là danh sách các đƣờng đi có thể có từ đỉnh đầu đến đỉnh cuối.

d) Ví dụ mô tả:

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Đồ thị nhƣ hình 1.2a và 1.2b đƣợc chuyển thành dạng ma trận liên kết tƣơng ứng là A1 và A2 trong đó các phần tử là 0 hoặc (i,j):

Để thuận tiện và đơn giản hóa cách viết các phần tử trong ma trận thì ta bỏ dấu ngoặc đơn và dấu phẩy giữa hai đỉnh kết nối. Ví dụ: (1,2) = 12,…

Áp dụng thuật toán vừa trình bày ở trên mục 1.4.1.4 để áp dụng với ma trận A1 để tìm tất các các đƣờng đi trong ma trận từ đỉnh nguồn là đỉnh 1 và đỉnh đích là đỉnh 4:

; ;

Các bƣớc tiếp theo của thuật toán đƣợc thực hiện nhƣ sau:

; ;

;

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Theo thuật toán thì ở bƣớc 6 khi gặp điều kiện k = n -1 thì dừng lại và chuyển sang bƣớc 7 tức là liệt kê tất các đƣờng đi đã tìm đƣợc. Với bài toán này ta đã tính đƣợc các ma trận B1, B2, B3 và danh sách tất cả các đƣờng đi từ đỉnh 1 (đỉnh nguồn) đến đỉnh 4 (đỉnh đích) là: 14, 12*24, 13*34, 12*23*34, 13*32*24. Hệ thống có cấu trúc phức tạp đƣợc mô tả thông qua đồ thị có tất

cả các đƣờng đi thành công f(1,4): 1 4 v 1 2 4 v 1 3 4 v 1 2 3 4

v 1 3 2 4

2.1.4.Thuật toán tìm tất cả đƣờng đi của ma trận liên kết theo lý thuyết đồ thị

Thuật toán đã trình bày trong phần 2.1.3 chỉ thích hợp với những đồ thị có kích thƣớc nhỏ. Đối với các đồ thị có kích thƣớc lớn thì việc thực hiện bƣớc 4 và 5 là rất khó khăn, việc tính toán dài và dễ nhầm lẫn vì các phần tử của ma trận lúc này là các chuỗi dài. Chính vì sự khó khăn đó nên yêu cầu cần phát triển một thuật toán để tự động tìm kiếm tất cả các đƣờng đi giữa 2 đỉnh của đồ thị.

Trong bài toán lý thuyết đồ thị [1] thì chúng ta biết đến bài toán tìm đƣờng đi ngắn nhất, bài toán đƣờng đi tối thiểu giữa hai đỉnh của đồ thị, bài toán tìm đƣờng đi qua tất cả các đỉnh của đồ thị nhƣng bài toán ở đây là tìm tất cả danh sách các đƣờng đi từ đỉnh đầu đến đỉnh cuối của đồ thị.

a) Ý tưởng thuật toán: Thuật toán sử dụng phƣơng pháp tìm kiếm theo chiều sâu. Tƣ tƣởng của tìm kiếm theo chiều sâu là: Từ đỉnh nguồn (đỉnh đầu) của đồ thị ta di chuyển đến một đỉnh khác (một đỉnh bất kỳ mà có thể đi từ đỉnh đầu). Từ đỉnh này ta tiếp tục đi đến khác đỉnh khác. Nếu không thể đi tiếp đƣợc nữa thì quay lại đỉnh trƣớc đó và đi đến đỉnh khác. Cứ nhƣ vậy cho đến khi đến đỉnh cuối của đồ thị.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

b) Ví dụ mô tả:

Xét lại ví dụ trên, cho đồ thị vô hƣớng

Áp dụng thuật toán tìm kiếm theo chiều sâu, ma trận A1 sẽ đƣợc viết lại nhƣ sau:

Để tìm tất cả các đƣờng dẫn từ đỉnh 1 (nguồn) đến đỉnh 4 (đích) theo thuật toán 2.1.3 chúng ta có đƣờng đi đầu tiên từ đỉnh 1 2, đỉnh 2 không phải là đỉnh đích nên chuyển tiếp sang đỉnh 3, theo đƣờng: 1 2 3; đỉnh 3 không phải là đỉnh đích nên đi tiếp sang đỉnh 4, đỉnh 4 là đỉnh đích nên ta có đƣờng đi: 1 2 3 4. Ghi nhớ lại đƣờng đi này và quay trở lại đỉnh 3, nhƣng không có đƣờng đi nào từ đỉnh 3 đến đỉnh 4 ngoài con đƣờng đã tìm đƣợc nên từ đỉnh 3 quay lại đỉnh 2 hoặc đỉnh 1.

- Nếu quay lại đỉnh 2 thì từ đỉnh 2 ta có thể đi tiếp đến đỉnh 4, vậy ta có đƣờng đi: 1 2 4.

- Nếu quay lại đỉnh 1 thì ta có thể đi tiếp đến đỉnh 4, vậy ta có đƣờng đi:

1 3 4.

Tƣơng tự nhƣ vậy ta cũng tìm đƣợc các đƣờng đi: 1 3 2 4 1 4. Hệ thống phức tạp đƣợc mô tả bằng phƣơng pháp đồ thị, áp dụng thuật toán ở mục 2.1.3 ta tìm đƣợc tất cả các đƣờng đi thành công f(1,4): 1 4 v 1 2 4

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

2.1.5. Tối thiểu hóa các toán tử logic

Việc tối thiểu hoá các toán tử logic thƣờng dựa trên các hằng đẳng thức Boole hay còn đƣợc gọi là các luật trong đại số Boole. (adsbygoogle = window.adsbygoogle || []).push({});

Tối thiểu hoá hàm boole tức là tìm dạng biểu thức boole đơn giản nhất của

Một phần của tài liệu Các phương pháp dự phòng nâng cao tin cậy của hệ thống tính toán (Trang 25)