Ước tính xác suất lỗi phần cứng


13

Giả sử tôi chạy một tính toán siêu máy tính trên lõi 100 nghìn trong 4 giờ trên http://www.nersc.gov/users/computational-systems/edison/configuration , trao đổi khoảng 4 PB dữ liệu qua mạng và thực hiện khoảng 4 TB I / Ôi Tính toán là tất cả số nguyên, vì vậy kết quả là đúng hoặc sai (không có lỗi số trung gian).

Giả sử mã là chính xác, tôi muốn ước tính xác suất tính toán sai do lỗi phần cứng. Một cách tốt để đi về điều này là gì? Có những nguồn tốt cho những con số cần thiết để ước tính như vậy?


Tôi tưởng tượng kết quả CPU / ram thực sự ổn định so với các cân nhắc về mạng và đĩa.
meawoppl

Câu trả lời:


5

Bạn đã xem các báo cáo exascale khác nhau đã được đưa ra? Thất bại nặng nề không phải là một mối quan tâm đáng kể ngày hôm nay - chắc chắn, chúng xảy ra, nhưng tần suất của chúng không đủ cao để gây ra lo lắng nghiêm trọng. Nhưng chúng được ước tính là đủ thường xuyên trên các hệ thống exascale có hoặc nhiều lõi hơn mà các mã cần được chuẩn bị để phản ứng thích hợp. Tôi tin rằng những vấn đề này đã được đặt ra trong các báo cáo về lộ trình hướng tới exascale.Ôi(10số 8)

Hồi ức của tôi là trong số các chế độ thất bại khác nhau, các bit đơn lẻ trong bộ nhớ hoặc trên lõi bộ xử lý không phải là mối quan tâm đáng kể nhất. Thay vào đó, toàn bộ các nút bị hỏng, ví dụ do lỗi đĩa, lỗi hệ điều hành, v.v ... Các thiết kế exascale hiện tại do đó tất cả đều yêu cầu kiểm tra định kỳ mã vào RAM flash, tốt nhất là truyền dữ liệu điểm kiểm tra ra khỏi nút. Các mã sau đó sẽ cần có khả năng khởi động lại nhanh chóng từ trạng thái được lưu trước đó nếu hệ thống gặp phải một nút đã biến mất, thay thế nút này bằng nút khởi động nóng ở nơi khác trong hệ thống.


Nghe có vẻ chính xác những gì tôi cần. Bạn có ví dụ cụ thể trong tâm trí?
Geoffrey Irving

1
Tôi sẽ xem liệu có bất cứ điều gì trong số các báo cáo DoE khác nhau mà bạn quan tâm không. Tôi giả sử bạn cũng biết về exascale.org ? Có rất nhiều để đọc ở đó cho bạn.
Wolfgang Bangerth

1
Geoff, báo cáo exascale dứt khoát là của Peter Kogge, và có sẵn trực tuyến . Có một cái nhìn vào bất kỳ sự xuất hiện của khả năng phục hồi từ. Điều đó nói rằng, tôi có thể chỉ cho bạn một vài người tại NERSC có thể có thông tin cụ thể hơn về máy đó.
Aron Ahmadia

@AronAhmadia: Cảm ơn, tài liệu đó có vẻ tuyệt vời. Tôi chấp nhận câu trả lời này vì nó sẽ bao gồm nhiều loại lỗi hơn mà tôi quan tâm.
Geoffrey Irving

@Wolfgang: Điều này gợi cho tôi nhớ về những ngày chiến tranh lạnh của tôi khi tên lửa Minuteman được lập trình với các trạm kiểm soát, để nếu đèn flash neutron xảy ra gần đó, khiến bộ xử lý tắt ngay lập tức, nó có thể khởi động lại từ trạm kiểm soát gần đây nhất. Nếu nó mất điểm kiểm tra vào đúng thời điểm, nó được gọi là "bảo vệ khởi động lại".
Mike Dunlavey

9

Tôi đoán, bạn bắt đầu bằng cách thu thập tỷ lệ lỗi của các thành phần, chẳng hạn như DRAM, như nghiên cứu này của Google về Lỗi DRAM trong tự nhiên: Một nghiên cứu thực địa quy mô lớn Họ đã tìm thấy ~ 1% cơ hội để nhận một lỗi không thể sửa chữa mỗi năm.

Tôi không chắc đó có phải là điều bạn quan tâm không. Tôi sẽ quan tâm nhiều hơn đến các lỗi không thể phát hiện. Lỗi như vậy mà các phương pháp kiểm tra lỗi điển hình sẽ không phát hiện ra. Chẳng hạn, khi bạn gửi các gói qua hệ thống quang học, chúng đi kèm với một loại CRC nào đó, cho phép có một lỗi nhỏ xảy ra.

CẬP NHẬT: bài viết này Kiến trúc để phát hiện và phục hồi lỗi trực tuyến trong Bộ xử lý đa lõi nói về kiến ​​trúc đa lõi đáng tin cậy, nhưng chúng cũng bao gồm các khía cạnh khác nhau về độ tin cậy của hệ thống và có thư mục


Nghiên cứu tuyệt vời. Nó xác nhận rất nhiều trực giác, cũ, nóng, thường xuyên sử dụng, gần như đầy đủ ram là ít đáng tin cậy. Tôi hơi ngạc nhiên khi không có thất bại cụ thể của nhà cung cấp hoặc nói chung là kiến ​​trúc tồi tệ hơn.
meawoppl

3

Có những nguồn tốt cho những con số cần thiết để ước tính như vậy?

Bạn có thể thử hỏi quản trị viên của cụm bạn đang tính toán. Tôi tưởng tượng như là một phần của quá trình xác nhận của họ, họ đã phải đối mặt với vấn đề ước tính khả năng xảy ra lỗi phần cứng.


Cảm ơn! Rõ ràng trong nhận thức muộn màng, nhưng nó đã không xảy ra với tôi.
Geoffrey Irving

2

Âm thanh hoành tráng. Nếu chưa có ai thực hiện thử nghiệm này, bạn có thể xem xét việc chạy 100k lõi riêng làm một việc gì đó như lặp đi lặp lại đầu vào sha1, xem tỷ lệ lỗi là gì. (Không thể đo lường được tôi nghi ngờ), từ đó cũng làm như vậy, nhưng hãy để họ giao dịch kết quả chuỗi băm thường xuyên để có được tỷ lệ lỗi mạng của bạn. Điều này tôi tưởng tượng cũng rất nhỏ, nhưng tôi nghi ngờ bạn có thể nhận được ít nhất một cặp đôi sử dụng siêu xe của bạn trong vài giờ :)

Cách tiếp cận này đảm bảo rằng mọi phép tính đều đúng, vì băm cực kỳ nhạy cảm với các hoán đổi một bit, trong khi ngay cả một phép tính chỉ có thể ẩn các lỗi trong các nhánh, tức là toàn bộ phép tính sẽ không có hình elip trên mỗi trạng thái bộ nhớ liên tiếp.

Tôi đã làm việc để đảm bảo rằng mã được chạy chính xác bởi một cụm bên ngoài, động lực của họ là gian lận bằng cách gửi kết quả giả mạo. Giải pháp tôi hội tụ là tích hợp hàm băm vào tính toán với một số tần số khiến cho việc gian lận kém hiệu quả hơn so với thực hiện công việc.


2
Thật không may, kế hoạch khai thác bitcoin của bạn sẽ không được chấp thuận. :)
Geoffrey Irving

Tee hee hee. Nó chỉ là bằng chứng của công việc thực sự. : P
meawoppl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.