Nâng cao độ tin cậy của hệ thống tin học công nghiệp

Quá trình sản xuất dựa trên kỹ thuật vi xử lý và sử dụng máy tính công nghiệp ngày càng trở nên phổ biến. Việc hư hỏng máy tính công nghiệp có thể gây ảnh hưởng nghiêm trọng đối với toàn bộ quá trình sản xuất. Để hạn chế nguy cơ này việc nâng cao độ tin cậy của hệ thống là nhiệm vụ hàng đầu của tin học công nghiệp.

PGS. Lê Văn Doanh – Eric Castelli

Trung tâm MICA Trường ĐHBK Hà nội

Quá trình sản xuất dựa trên kỹ thuật vi xử lý và sử dụng máy tính công nghiệp ngày càng trở nên phổ biến. Việc hư hỏng máy tính công nghiệp có thể gây ảnh hưởng nghiêm trọng đối với toàn bộ quá trình sản xuất. Để hạn chế nguy cơ này việc nâng cao độ tin cậy của hệ thống là nhiệm vụ hàng đầu của tin học công nghiệp.

Bài viết sau đây tóm lược nội dung các bài báo của Daniel Lelìevre trong tạp chí Mesures tháng 1,2,3/2004 đề cập đến vấn đề tính toán độ tin cậy và các biện pháp nâng cao độ tin cậy của hệ thống tin học công nghiệp.

Thế giới không ngừng tiến hóa

Thế giới xung quanh ta không ngừng tiến hóa và biến đổi theo xu hướng ngày càng hoàn thiện hơn. Thế giới công nghiệp cũng vậy, chúng luôn luôn biến đổi và phát triển. Tuy nhiên nền sản xuất xã hội luôn phải đối mặt với nguy cơ không sẵn sàng hoạt động của các thiết bị, của việc thao tác sai cùng những sai lầm trong khâu thiết kế chế tạo… Kết quả làm ngừng trệ quá trình sản xuất, gây tổn thất to lớn về kinh tế, cần phải tốn kém thời gian, công sức và vật tư để khôi phục lại sự hoạt động bình thường của hệ thống sản xuất. Nhiều giải pháp khắc phục vấn đề này được đưa ra mà điển hình là các hệ thống có dự phòng.

Nhờ công cụ toán xác suất thống kê ngày nay ta có thể tiếp cận vấn đề xác định chi phí phát sinh do sự không sẵn sàng hoạt động của hệ thống sản xuất và đánh giá độ tin cậy của một hệ thống một cách thuận lợi.

Khi phân tích các nguy cơ có thể xảy ra đối với hệ thống sản xuất ta nhận thấy rằng một số phần tử của hệ thống công nghệ có thể nằm trong tình trạng căng thẳng. Trong các nguy cơ tự nhiên làm cho hệ thống không sẵn sàng hoạt động thì mất nguồn điện hay hệ thống cấp nước, khí và thiếu hụt vật tư là những yếu tố chung thường xảy ra và ảnh hưởng tới toàn bộ quá trình sản xuất. Đây là các nguy cơ thuộc loại “kinh điển“, chúng phụ thuộc vào trình độ công nghệ và phải được giải quyết bằng khoa học và công nghệ của từng lĩnh vực cụ thể.

Đối với hệ thống tin học công nghiệp thuộc loại “hệ thống mới“. Do sự phát triển và tiến bộ nhanh chóng của công nghệ phần cứng cho phép cải thiện và nâng cao chất lượng sản phẩm tin học một cách đáng kể. Kết quả làm ta lầm tưởng rằng mọi sản phẩm tin học là rất đáng tin cậy. Tuy nhiên mọi tấm huân chương cũng đều có mặt trái của nó. Ví dụ trường hợp các máy tính server trên cơ sở PC. Ban đầu chúng được thiết kế sử dụng cho yêu cầu tính toán cá nhân. Trong thực tế các PC trong điều kiện hoạt động của xí nghiệp làm việc song song với nhau trong một mạng máy tính, một hư hỏng nhỏ của chúng cũng có thể dẫn tới hậu quả rất tốn kém của toàn hệ thống. Một số PC được giao nhiệm vụ thu thập dữ liệu cho toàn bộ hệ thống nên nguy cơ mất dữ liệu tích lũy của toàn hệ thống càng tăng. Khi hệ thống tin học công nghiệp càng mở rộng một máy server mạnh sẽ làm nhiệm vụ máy chủ và các máy PC đơn giản đóng vai trò các đầu cuối thì một hư hỏng của máy chủ sẽ dẫn tới tê liệt hoạt động của toàn hệ thống điều hành sản xuất.

Một cách tiếp cận độ tin cậy trên cơ sở tiên nghiệm

Các thiết bị tin học thường ít khi xảy ra hư hỏng và để đánh giá hư hỏng có thể xảy ra người ta thường dựa trên trên cơ sở tiên nghiệm. Tuy nhiên độ tin cậy là một lĩnh vực hoàn toàn có thể tính toán và khống chế được. Ví dụ vấn đề an toàn của các nhà máy điện hạt nhân hay của chuyến bay, chất lượng của ô tô, cuả điện thoại di động là kết quả của việc phân tích độ tin cậy của rất nhiều sự lựa chọn công nghệ của các phòng thiết kế.

Có thể ví hoạt động một cách tin cậy của thiết bị như vấn đề của người lái xe khi mà do ngẫu nhiên bụi có thể rơi vào mắt anh ta nhưng không làm cản trở việc anh ta nhìn rõ đống rơm trên đường. Đối với máy tính thì hình ảnh bụi ở đây có thể là phần mềm của server phải được nạp lại sau sáu tháng, đống rơm là nguồn điện có thể bị mất sau ba năm hoạt động. Nếu ta có giải pháp khắc phục được các lỗi có thể xảy ra trong khi vận hành thì có thể kết luận rằng hệ thống hoạt động một cách tin cậy với các lỗi.

Nguồn gốc của các lỗi và hư hỏng

Mọi hư hỏng có nguồn gốc từ một lỗi, ví dụ lỗi của người thiết kế hay vận hành. Lỗi có thể tạo nên một sai lệch và chính sai lệch cũng có thể dẫn đến hư hỏng. Một lập trình viên nhầm lẫn khi viết một dòng mã lệnh và tạo nên một lỗi, nếu lỗi này không được phát hiện ngay khi dịch thì khi chạy chương trình nó tạo nên một dữ liệu sai trong bộ nhớ. Khi người sử dụng truy cập vào dữ liệu này hệ thống sẽ cho thông tin sai và không đảm bảo chương trình hoạt động như mong muốn. Một ví dụ khác nguồn cấp cho server nhận một xung điện áp vượt quá mức yêu cầu, xung này gây hư hỏng một linh kiện và cart mẹ không hoạt động đúng làm cho bộ xử lý sẽ bị hư hỏng sau vài giờ. Có thể phân ra nhiều loại lỗi:

Lỗi vật lý: là các lỗi tạo nên trong điều kiện hoạt động bình thường.Ví dụ như một linh kiện bị chốt lại sau khi đã hoạt động lâu dài hoặc một đĩa cứng bị gẫy khi chuyển động do vật liệu bị già hóa. Trong các trường hợp này các lỗi không thể tránh được.

Lỗi ngoài: là các lỗi xảy ra trong các trường hợp làm việc không bình thường. Ví dụ lỗi do nhiễu điên từ khi bọc kim giữa linh kiện và vỏ máy bị hỏng hoặc một chấn động cơ học quá mạnh làm hư hại các chi tiết chuyển động….

Lỗĩ thiết kế: là các lỗi do không trù lượng đầy đủ các vấn đề trong quá trình thiết kế phần cứng và lập trình phần mềm như tính toán sai công suất tiêu thụ của cart mẹ, nguồn nuôi linh kiện không chính xác, người lập trình mắc lỗi khi phân tích hoặc viết các mã lệnh…

Lỗi tương tác: là các lỗi do người sử dụng hoặc người bảo dưỡng tay nghề kém gây ra như cắm cart quá mạnh làm gẫy chân cắm, người bảo dưỡng thao tác kém…

Lỗi sơ ý: ví dụ do sơ ý người sử dụng vô tình cắt nguồn, hệ thống có virus…

Một số chỉ tiêu đánh giá độ tin cậy

Ta hãy lấy ví dụ một server đang quản lý các file không sẵn sàng hoạt động do bị hư hỏng nguồn cung cấp, điều này dẫn đến việc không thể truy cập vào các file và làm cho server tê liệt. Sau khi nguồn hư hỏng được thay thế, server được khởi động lại và công việc lại tiếp tục. Ta muốn đánh giá chi phí do ngừng hoạt động và chi phí bảo dưỡng sửa chữa nguồn. Tổn thất về sản xuất do sự không sẵn sàng hoạt động của server phụ thuộc vào thời gian ngừng hoạt động của nó. Xuất phát từ nhóm các linh kiện như nhau và để chúng hoạt động dài hạn, ta sẽ thấy đến một lúc nào đó các linh kiện có thể bị hư hỏng. Ta không thể biết trước một cách chính xác thời điểm xảy ra hư hỏng của từng linh kiện, tuy vậy ta cũng có thể đánh giá tuổi thọ trung bình của từng linh kiện. Tuổi thọ trung bình này sẽ không đổi nếu số lượng linh kiện càng lớn. Đa số các nhà chế tạo công bố độ tin cậy của thiết bị theo các dữ liệu về độ tin cậy của các linh kiện. Để đánh giá định lượng người sử dụng các chỉ tiêu trung bình sau đây:

– Thời gian trung bình giữa các hư hỏng MTBF ( Mean Time Between Failure ) tính bằng giờ hoặc năm.

– Thời gian trung bình đến hư hỏng MTTF (Mean Time To Failure) là thời gian trung bình đén lúc hư hỏng, tức là thời gian mà thiết bị đảm bảo hoạt động tốt.

Trong trường hợp server thường có MTTF là 30.000 giờ hoặc 3,4 năm (một năm bằng 8760 giờ). Ta cũng có thể biểu diễn theo hệ số hư hỏng bằng nghịch đảo của MTTF:

l = 1/ MTTF

Công thức gần đúng này thường được ứng dụng cho các phần tử có hệ số hư hỏng không đổi. Vì giá trị của l rất nhỏ nên người ta thường biểu diến hệ số hư hỏng theo thời gian FIT (Failure In Time), với 1 FIT bằng 1 hư hỏng trong một tỷ giờ. Trong trường hợp server người ta đánh giá độ tin cậy bằng l =”33333.10-5″ hư hỏng/giờ = 33333 FIT.

Ta giả thiết rằng server hư hỏng cần phải sửa chữa, việc sửa chữa có tính chất tức thời và ta cũng có thể đánh giá chúng bằng:

– Thời gian trung bình đến lần sửa chữa MTTR (Mean Time To Repair) tính theo giờ. Trong tính toán độ tin cậy, nhiều nhà chế tạo đưa ra MTTR bằng 8 giờ. Ta cũng có thể tính toán hệ số sử chữa bằng nghịch đảo của MTTR tính bằng 8 giờ:

m = 1/ MTTR = 1/ 8 = 0,125

Khi đã biết MTTR và MTTF ta có thể tính toán thời gian giũa lần hư hỏng MTBF.

Vì thời gian trung bình giữa hai hư hỏng liên tiếp có một lần sửa chữa ngay nên :

MTBF = MTTR + MTTF

Trong trường hợp server là 30008 giờ rất gần với MTTF, do vậy ta thường lẫn lộn giữa MTTF và MTBF.

Khả năng sẵn sàng hoạt động A (Availability) được tính theo biểu thức:

A = MTTF / (MTTF+MTTR ) = 1 – MTTR / MTBF.

Xuất phát từ các dữ liệu đối với server ở trên ta có thể tính độ sẵn sàng hoạt động của sever bằng 99,973 % của chu kỳ và độ không sẵn sàng tính theo thời gian bằng 0,027 % thời gian tức là bằng 142 phút/ năm.

Ta đã biết cách đánh giá độ không sẵn sàng hoạt động của một server trong một năm. Để có thể xác định độ không sẵn sàng hoạt động của 3 server ta giả thiết MTTF của mỗi server là 30.000, 15.000 và 20.000 giờ.

Ta có thể tính l = 3,33.10-5 + 6,66.10-5 +5.10-5 = 15.10-4, bằng 6666 giờ hoặc một hư hỏng trong khoảng 9 tháng. Ta cũng thấy rằng cách tính toán này không cho ta biết trước thời điểm nào sẽ xuất hiện hư hỏng, tuy nhiên cũng có thể ước lượng được rằng đối với 3 máy một năm cần chuẩn bị sửa chữa trung bình 1,3 lần và người sử dụng phải chịu phiền phức trong mỗi năm là trên 10 giờ sửa chữa.

Độ tin cậy của hoạt động: Ta có thể đặt câu hỏi là cần nghiên cứu sự sẵn sàng hoạt động của thiết bị hay độ tin cậy của chúng ? Để trả lời câu hỏi này ta hãy lấy ví dụ trường hợp đường dây cấp điện cho tầu điện bị đứt làm tầu phải dừng. Để giảm nguy cơ thuộc loại này có thể khắc phục theo hai hướng: Một là cải tiến chất lượng đường cáp, trong giới hạn của công nghệ và kinh tế điều này làm tăng MTTR và làm giảm l của nó. Hai là giảm thời gian can thiệp của ê kíp bảo dưỡng và cải thiện hiệu quả bảo dưỡng. Điều này sẽ làm giảm MTTR.

Việc hư hỏng một động cơ máy bay khi đang lăn bánh trên đường băng về nguyên tắc không gây hậu quả nghiêm trọng và chỉ tốn thời gian sửa chữa. Tuy nhiên hư hỏng động cơ khi đang bay sẽ là một thảm họa. Ngay sau khi tiến hành hoạt động và trong suốt thời hạn của nó động cơ máy bay phải đảm bảo hoạt động tốt. Nhà thiết kế máy bay chỉ có một hướng giải quyết duy nhất là nâng cao độ tin cậy của động cơ để đảm bảo chuyến bay an toàn. Khi đang bay việc sửa chữa động cơ không thể thực hiện được, do vậy ta cần phải đề cập đến độ tin cậy của hoạt động, khi đó MTTR không có ý nghĩa nữa.

Ta xác định độ tin cậy là xác suất mà thiết bị đảm bảo hoạt động không hư hỏng trong thời gian t và l là hệ số hư hỏng bằng công thức:

R(t) = e- l t

Ta xét một ví dụ khác có một server thu thập dữ liệu khi sản xuất một lô thuốc. Nhà sản xuất chỉ có thể bán sản phẩm khi biết thời hạn sử dụng của chúng. Khi server bị hư hỏng trong hai lần sản xuất chỉ gây chậm trễ cho việc sản xuất. Một hư hỏng của server trong khi tiến hành công việc có thể dẫn đến tổn hại cho lô thuốc đang sản xuất. Giả thiết lô thuốc được sản xuất trong 72 giờ và hệ số hư hỏng của server là 3,333. 10-5, xác suất mà server đảm bảo hoạt động không hư hỏng là: R(t) = e -3,3333.10-5.72 = 0,997603

Ta cũng có thể nhận được kết quả rất khớp khi tính toán độ sẵn sàng hoạt động của hệ thống:

A= MTTF/ (MTTF+MTTR) = 30.000/ (30.000+ 72 ) = 0,99760

Do vậy ta có thể chấp nhận độ tin cậy của một hoạt động bằng độ sẵn sàng hoạt động của nó với MTTR bằng thời gian hoạt động.

Xuất phát từ độ tin cậy của một linh kiện ta có thể tính toán độ tin cậy của toàn thiết bị và cả thời gian trung bình đến lần hư hỏng MTTF. Tuy nhiên các nhà sản xuất chỉ cho giá trị của MTTF theo cấu hình chuẩn tại nhà máy. Trên thực tế cấu hình này bị thay đổi,ví dụ ta bổ sung thêm bộ xử lý thứ hai, 2 đĩa cứng, 3 thanh nhớ. Vì có bổ sung thêm các linh kiện nên cần thêm các hệ số hư hỏng của chúng. Ta giả thiết chỉ xảy ra hư hỏng trong một linh kiện là phải dừng máy để sửa chữa. Xuất phát từ các hệ số này ta tính lại MTTF, ví dụ ban đầu MTTF = 30.000 giờ, khi thêm bộ xử lý thứ hai, 2 đĩa cứng, 3 thanh nhớ thì MTTF giảm đi và chỉ còn 24813 giờ. Để tóm tắt ta đánh giá khả năng sẵn sàng hoạt động của server này theo bảng 1 sau đây:

Bảng đánh giá khả năng sẵn sàng hoạt động của 1 server

Linh kiện Số lượng l = 1/MTTF l tổng MTTR m= 1/MTTR
Cart mẹ 1 6,25.10-6 6,25.10-6 14 giờ 7,14.10-2
CPU 2 5,71.10-7 1,14.10-6 10 giờ 1,00.10-1
Nguồn 1 1,00.10-5 1,00.10-5 11 giờ 9,09.10-1
Đĩa cứng 8 2,00.10-6 1,60.10-5 16 giờ 6,25.10-2
Bộ nhớ 256 MB 4 7,99.10-7 3,20.10-6 10 giờ 1,00.10-1
Cart mạng 1 1,00.10-6 1,00.10-6 10 giờ 1,00.10-1
Hệ thống 3,76.10-5 7,69.10-2

MTTF = 1/ l = 26604 giờ

MTTR = 1/ m = 13 giờ

MTBF = MTTF + MTTR = 26617 giờ

Khả năng sẵn sàng A = MTTF/ ( MTTF + MTTR ) = 99,951 %

Độ không sẵn sàng = 1- A = 0,048 % = 0,049. 8760/100= 4,3 giờ/ năm.

Thời gian sửa chữa phụ thuộc vào loại sự cố

Thời gian trung bình đến hư hỏng MTTF là một việc nhưng thời gian trung bình đến sửa chữa MTTR là việc khác. Ta biết rằng cùng một hư hỏng có thể để lại các hậu quả rất khác nhau, tùy theo vai trò của linh kiện mà hệ thống giao phó. Bên trong hệ thống có một số linh kiện ở tình trạng dễ hư hỏng hơn các linh kiện khác. Sự hư hỏng của hệ thống phụ thuộc vào tính chất của các linh kiện tạo nên hệ thống.Ví dụ tổn thất do hư hỏng cart mẹ khác với tổn thất do hư hỏng đĩa cứng. Trong trường hợp đầu tiên chỉ cần thay cart mẹ nhưng trong trường hợp thứ hai cần phải mất thời gian khôi phục dữ liệu trên đĩa cứng. Vì thế ta cần tính toán MTTR của hệ thống từ MTTR của các linh kiện. Chỉ cần tính tổng của các hệ số sửa chữa (m) của từng linh kiện với hệ số hư hỏng của chúng (l) tạo nên hệ số sửa chữa của hệ thống và lấy nghịch đảo sẽ được MTTR. Ngoài ra để nghiên cứu MTTR của hệ thống ta phân tích chúng theo từng linh kiện, cụ thể là:

– Thời gian trung bình cần can thiệp vào thiết bị.

– Thời gian thay đổi linh kiện

Vì MTTR thay đổi theo từng linh kiện nên MTTR tổng giảm đi kéo theo sự sẵn sàng hoạt động của hệ thống giảm.

Các biện pháp bảo vệ chống lỗi

Vì mọi hư hỏng đều có nguồn gốc là các lỗi gây trở ngại đến hoạt động của hệ thống ta phải lựa chọn và phối hợp nhiều giải pháp bảo vệ chống lỗi. Các giải pháp có thể là:

Ngăn trở các lỗi có thể xuất hiện trong hệ thống bằng cách sử dụng các hệ thống tiêu chuẩn hóa, việc này có tác dụng giảm các lỗi do thiết kế hệ thống.

– Chọn các linh kiện có độ tin cậy cao, cải thiện đièu kiện làm việc của chúng như tản nhiệt, tránh nhiễu điện từ, bảo vệ chống dao động điện áp nguồn.

– Sử dụng các phần cứng và phần mềm quen thuộc đối với người sử dụng sẽ giảm được các lỗi tương tác.

Loại trừ các lỗi bằng cách phát hiện và sửa lỗi sớm, trước khi các lỗi có thể gây ra sai lệch.

Chấp nhận lỗi trong hệ thống bằng có chế dự phòng (redundancy).

Hệ thống có dự phòng cho phép tồn tại các lỗi bằng cơ chế sống chung với lỗi, có khả năng che chắn các lỗi. Việc dự phòng có thể chỉ tác động lên một bộ phận hệ thống (partial redundancy) hoặc dự phòng toàn bộ (massive redundancy). Nhiều nhà chế tạo theo phương pháp dự phòng bộ phận vì nó kinh tế hơn.

Sau khi đã nhận dạng các chức năng dễ mắc lỗi trong hệ thống bằng cách nghiên cứu xác suất hư hỏng của từng bộ phận ta tạo nên các hệ con có dự phòng. Ví dụ đối với server là có hai nguồn cấp, đĩa gương… Giải pháp này được dự kiến trong thiết kế hệ thống, tuy nhiên trong quá trình làm việc có thể sau vài năm hệ thống không còn đủ khả năng che chắn lỗi cho các hệ con. Ví dụ một nguồn hư hỏng do quá điện áp làm nguồn dự phòng mắc song song với nó cũng bị ảnh hưởng. Nguồn dự phòng này có thể chỉ che chắn được 9 trong 10 lỗi có thể xảy ra.

– Dự phòng có thể là bậc n, nghĩa là số hệ con có thể lớn hơn 1. Dự phòng đơn giản nhất là dự phòng kép nghĩa là có hai hệ con được điều khiển để thay thế cho nhau. Một hệ có dự phòng có thể bao gồm các hệ con giống nhau gọi là hệ đồng nhất (homogeneous redundancy) hoặc không đồng nhất (heterogeneous redundancy). Các hệ con có thể làm việc đồng bộ hoặc không đồng bộ. Vậy câu hỏi đặt ra là dự phòng có thể làm hệ thống tin cậy với thời gian vô hạn được không ? Cho dù áp dụng mọi biện pháp dự phòng vẫn có khả năng đến một lúc nào đấy hệ thống của chúng ta hoạt động không tin cậy. Lý do có rất nhiều nhưng chắc chắn là thời gian làm việc tin cậy của hệ thống kéo dài thêm rất nhiều.

Chiến lược bảo dưỡng thích hợp.

Việc bảo dưỡng và thay thế các bộ phận hư hỏng phải được tiến hành theo phương hướng nâng cao độ tin cậy bằng cách không bảo dưỡng tràn lan mà tập trung vào những bộ phận hay hư hỏng. Đảm bảo sửa chữa khắc phục lỗi trong thời gian ngắn nhất bằng cách huy động vật tư, nhân lực thích hợp. Có thể thực hiện việc sửa chữa nguội hoặc sửa chữa nóng.

Nguồn HDH -(Theo: Tạp chí TĐHNN)

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s