Apakah Dual CPU Memberikan Toleransi Kesalahan?

16

Katakanlah saya membeli dua Intel Xeon dan memasangnya ke perangkat keras kelas server ... Jika satu CPU gagal apakah yang lain masih berfungsi dan mengambil kendur, maka memberikan toleransi kesalahan?

Ini sepertinya tidak terlalu mungkin, tetapi saya pikir saya akan meminta alih-alih membuat asumsi.

Soviero
sumber

Jawaban:

29

Dalam sistem dual-socket normal, tidak, meskipun ada server yang mengizinkan hot-swap prosesor dan RAM. Jadi hal-hal ini memang ada, tetapi mereka berada di ujung pasar yang sangat, sangat tinggi.

Ini bukan masalah besar - dari semua yang ada di server Anda yang bisa gagal, prosesornya ada di bagian bawah daftar, di samping anak tangga kecil dari kuningan yang menahan motherboard dari sasis.

Mark Henderson
sumber
1
Thermal-paste yang tidak diinstal dengan baik dapat menyebabkan panas berlebih pada CPU saat beban puncak. Saya yakin ada lebih banyak kasus yang terjadi daripada kegagalan riser kuningan spontan.
Berpikir aneh
8
@Oddikir saya pikir Anda menganggapnya terlalu serius.
Peter
5
Bahkan dengan CPU hot swappable, sistem masih tidak akan mentolerir kegagalan mendadak salah satunya. Misalkan kernel OS saat ini mengeksekusi pada CPU yang mati, itu tidak bisa hanya melanjutkan eksekusi pada CPU lain. Untuk CPU hot-swappable, kernel harus mematikan CPU itu dengan anggun terlebih dahulu.
Patrick
4
@ Patrik: ya, benar. Anda tahu - SALAH;) ini adalah perilaku standar untuk CPU kelas atas - memang, ini adalah mainframe di mana CPU berharga 5000+ USD. Namun, mereka menggunakan memori transaksional dan transaksi akan dimulai kembali pada CPU lain.
TomTom
5
@TomTom: Tentu saja, maka kita berbicara hal-hal seperti TANDEM yang terhormat (dan penerusnya di zaman modern), bukan arsitektur vanilla x86-64.
Piskvor
9

Berbicara tentang perangkat keras komoditas x86, jika sistem berjalan dan CPU gagal, semuanya akan terhenti secara normal. Namun sistem akan berfungsi dengan baik setelah reboot, meskipun agak lambat.

Beberapa CPU sebagian besar ada untuk memiliki pemrosesan paralel, tidak benar-benar untuk toleransi kesalahan. Tapi senang memiliki sistem yang tetap melakukan booting jika CPU (atau lebih) gagal.

Saya akan mengatakan itu sedikit lebih mungkin CPU Anda gagal daripada yang disarankan Mark Henderson, tetapi masih sangat tidak mungkin. Dalam pengalaman saya sebagian besar terjadi ketika sistem sering terlalu panas dan mati sendiri (itu cukup mudah di ruang server kantor ber-AC buruk). CPU tidak cenderung seperti itu.

Tentu saja jika Anda memiliki mainframe IBM yang bagus atau serupa, hot swap CPU (board) cukup "mudah".

aseq
sumber
Hmmm, tetapi bahkan dalam kasus hard reboot: IIRC jika CPU # 0 gagal, Anda masih kacau - tidak ada POST, yang berarti tidak ada boot lagi, karena hanya CPU pertama yang digunakan untuk proses awal startup.
Piskvor
Saya tidak tahu apakah itu masalahnya. Saya harus mengujinya di server. Saya pikir itu tidak masalah dan selama ada 1 CPU, sistem akan boot dengan baik.
aseq
5

Jika CPU gagal - yang sangat tidak mungkin, sesuai jawaban lain - pada dasarnya tidak ada yang bisa dilakukan sistem untuk pulih. Tergantung pada cara gagal itu bisa berakhir merusak memori dengan cara yang aneh, atau menghancurkan tabel proses, atau siapa yang tahu apa lagi. Jika Anda memiliki semacam sistem pemantauan aktif yang mengawasi CPU untuk memastikannya berfungsi dengan baik (dan dapat, katakanlah, gulung balik setiap perubahan yang dibuat oleh CPU selama pergolakan kematian), itu juga akan menjadi sistem lain yang dapat gagal, dan menentukan kegagalan perangkat lunak secara terprogram cukup sulit (pada dasarnya satu-satunya cara praktis Anda dapat melakukannya adalah dengan meminta CPU lain melakukan hal yang persis sama pada waktu yang sama persis dan membandingkan hasilnya - yang kemudian akan memperlambat hal-hal turun sedemikian rupa sehingga ada

Yang mengatakan, jarang seperti kegagalan CPU, meningkatkan jumlah CPU dalam suatu sistem akan benar-benar membuat tingkat kegagalan Anda naik, karena sekarang Anda memiliki dua kali lebih banyak hal yang dapat gagal. Anda juga memiliki subsistem lain yang dapat gagal juga, seperti yang membuat cache CPU tetap disinkronkan, dan peningkatan konsumsi daya dan output termal juga berkontribusi pada faktor-faktor di balik kegagalan sistem secara keseluruhan (dan tentu saja, kipas pendingin aktif adalah faktor lain. titik kegagalan).

halus
sumber
1
+1 untuk menunjukkan bahwa menggandakan CPU meningkatkan potensi kegagalan mesin. Semakin banyak "bagian yang bergerak" berarti lebih banyak peluang untuk kegagalan terjadi.
Evan Anderson
4

Anda harus menentukan dengan tepat jenis kegagalan yang ingin Anda tangani. Jika kita menganggap kumpulan core / CPU / komputer yang bekerja bersama sebagai jaringan, salah satu jenis kegagalan adalah bahwa sebuah node hanya berhenti menjawab. Kegagalan yang jauh lebih parah adalah ketika sebuah node mulai merusak data dan mengirimkan informasi yang salah kepada yang lain. Ini disebut kegagalan Bizantium , dan dalam kasus terburuk itu secara aktif mengganggu operasi jaringan melalui "kebohongan" strategis. Ini relatif mudah untuk menunjukkan bahwa tidak ada sistem yang dapat menangani sepertiga atau lebih dari simpulnya yang menggunakan Bizantium.

Yang perlu Anda lakukan, adalah memutuskan dengan tepat kegagalan seperti apa yang Anda harapkan, dan merancang sistem Anda dengan mempertimbangkan hal itu, dan menerima kenyataan bahwa masalah penanganan sejumlah node jahat yang sewenang-wenang tidak dapat dipecahkan. Dalam kasus Anda, Anda memerlukan setidaknya empat CPU jika salah satunya rusak.

Sebagai catatan: Dalam fisika kuantum tidak ada kemustahilan, tetapi jika harus menunggu lebih lama dari usia alam semesta untuk secara statistik memiliki kesempatan untuk mengamati perilaku tertentu, kita tidak harus mengatakan bahwa itu mungkin. Ingatlah hal itu ketika Anda merancang sistem Anda. ;)

Anders Sjöqvist
sumber
2

Kegagalan CPU sangat jarang terjadi. Kegagalan mungkin akan menghasilkan masalah lain di tingkat OS. Saya tidak akan menganggap ini sebagai bentuk toleransi kesalahan apa pun.

putih
sumber
1

Seperti jawaban lain, sangat jarang bahwa CPU gagal, dan di server rata-rata Anda tidak dapat melakukan hot swap, apa yang mungkin dapat Anda lakukan adalah meninggalkan server dengan satu CPU sampai yang gagal diganti, tentu saja, ini prosedur benar-benar offline dan Anda perlu melakukan penghentian server

Inti
sumber
1
Yah aku tidak akan menyebutnya super langka. Baru saja terjadi di salah satu server saya. Saat ini sedang dalam proses pemecahan masalah itu. Server CPU ganda baru saja kehilangan salah satu CPU karena kegagalan kipas.