Çift CPU Hata Toleransı Sağlıyor mu?


16

Diyelim ki iki Intel Xeon satın aldım ve bunları sunucu sınıfı donanıma kurdum ... Bir CPU başarısız olursa, diğeri yine de çalışır ve boşluğu alıp hata toleransı sağlar mı?

Bu pek olası görünmüyor, ancak herhangi bir varsayım yapmak yerine soracağımı düşündüm.

Yanıtlar:


29

Normal bir çift soketli sistemde hayır, işlemcilerin ve RAM'in çalışırken değiştirilmesine izin veren sunucular olmasına rağmen. Yani bu yaratıklar yapmak mevcut, ancak pazarın çok yüksek Sonuna geldik.

Gerçekten büyük bir şey değil - sunucunuzda başarısız olabilecek her şeyden, işlemci listenin hemen altında, anakartı kasadan tutan küçük pirinç yükselticilerin yanında.


1
Kötü kurulmuş termal macun, pik yük sırasında CPU'nun aşırı ısınmasına neden olabilir. Eminim, bunun spontan pirinç yükseltici arızasından çok daha fazla vakası vardır.
Garip Düşünme

8
@Odthinking Sanırım çok ciddiye aldın.
Peter

5
Çalışırken değiştirilebilir CPU'larda bile, sistem hala bunlardan birinin aniden başarısız olmasına tahammül etmez. OS çekirdeğinin şu anda ölen CPU'da yürütüldüğünü, diğer CPU'da yürütmeye devam edemeyeceğini varsayalım. Çalışırken değiştirilebilir CPU'lar için, çekirdeğin önce bu CPU'yu nazikçe kapatması gerekir.
Patrick

4
@Patrik: evet, doğru. Bilirsiniz - YANLIŞ;) bu üst düzey CPU'ların standart davranışıdır - bu, CPU'nun 5000+ USD'ye mal olduğu ana bilgisayardır. Yine de, işlem belleği kullanırlar ve işlem başka bir CPU'da yeniden başlatılır.
TomTom

5
@TomTom: Tabii ki, o zaman vanilya x86-64 mimarisi değil, saygıdeğer TANDEM (ve onun modern halefleri) gibi şeylerden bahsediyoruz.
Piskvor

9

Bir sistem çalışıyorsa ve CPU arızalanırsa, x86 emtia donanımı hakkında konuşmak normalde durma noktasına gelecektir. Ancak sistem, yeniden başlattıktan sonra, biraz daha yavaş da olsa iyi çalışır.

Birden fazla CPU çoğunlukla hataya dayanıklılık için değil, paralel işlemeye sahiptir. Ancak hala bir CPU'nun (veya daha fazlasının) başarısız olacağı bir sisteme sahip olmak güzel.

CPU'nuzun başarısız olduğunu Mark Henderson'ın önerdiğinden biraz daha fazla olduğunu söyleyebilirim, ancak yine de pek olası değildir. Benim deneyimime göre çoğunlukla sistem sık sık aşırı ısınır ve kendini kapatır (kötü klimalı bir ofis sunucu odasında oldukça kolaydır). İşlemciler bunu pek sevmezler.

Tabii ki, hoş bir IBM anabilgisayarınız veya benzeri bir sisteminiz varsa, bir CPU'yu (kart) çalışırken değiştirmek yeterince kolaydır.


Hmmm, ancak sert yeniden başlatma durumunda bile: CPU # 0 başarısız olursa IIRC hala vidalısınız - POST yok, bu da ilk başlatma işlemi için sadece ilk CPU kullanıldığı için başka önyükleme anlamına gelmiyor.
Piskvor

Durumun bu olup olmayacağını bilmiyorum. Bir sunucuda test etmeliyim. Bunun önemli olmadığını düşündüm ve 1 CPU olduğu sürece sistem iyi başlayacak.
aseq

5

Bir CPU başarısız olursa - ki bu diğer cevaplara göre, son derece düşüktür - temel olarak sistemin kurtarmak için yapabileceği hiçbir şey yoktur. Başarısız olmasına bağlı olarak, hafızayı garip yollarla bozabilir veya işlem tablosunu yok edebilir veya başka kim bilir. CPU'nun iyi çalıştığından emin olmak için sekmeleri tutan bir çeşit aktif izleme sistemine sahip olsaydınız (ve ölüm pençeleri sırasında CPU tarafından yapılan değişiklikleri geri alabilir), bu da başka bir sistem olurdu başarısız olabilir ve yazılım arızasını programlı olarak belirlemek oldukça zordur (temel olarak pratikte bunu yapabilmenin tek yolu, aynı şeyi aynı anda yapmak ve sonuçları karşılaştırmak - daha sonra işleri yavaşlatacak) orada öyle ki '

Bununla birlikte, bir CPU arızası kadar nadir olduğunda, bir sistemdeki CPU sayısının artırılması, arıza oranınızın artmasını sağlayacaktır, çünkü şimdi başarısız olabileceğiniz iki kat fazla şey var. Ayrıca CPU'ların önbelleklerini senkronize tutanlar gibi başarısız olabilecek başka alt sistemleriniz de var ve güç tüketimi ve termal çıktıdaki artış da genel sistem arızasının arkasındaki faktörlere katkıda bulunuyor (ve elbette aktif soğutma fanları başka başarısızlık noktası).


1
Katlanan CPU'ların makinenin arıza potansiyelini artırdığına işaret etmek için +1. Daha fazla "hareketli parça" arıza oluşması için daha fazla fırsat anlamına gelir.
Evan Anderson

4

Tam olarak ne tür hataları ele almak istediğinizi tanımlamanız gerekir. Birlikte çalışan bir çekirdek / CPU / bilgisayar koleksiyonunu bir ağ olarak görürsek, bir hata türü, bir düğümün yanıt vermeyi durdurmasıdır. Çok daha ciddi bir arıza, bir düğümün verileri bozmaya başlaması ve diğerlerine hatalı bilgi göndermesidir. Buna Bizans hatası denir ve en kötü durumda stratejik "yalanlar" yoluyla ağın işleyişini aktif olarak bozar. Hiçbir sistemin Bizans'a giden düğümlerinin üçte bir veya daha fazlasıyla başa çıkamayacağını göstermek nispeten kolaydır .

Yapmanız gereken şey, tam olarak ne tür arızalar beklediğinize karar vermek ve sisteminizi bunu göz önünde bulundurarak tasarlamak ve rastgele sayıda kötü amaçlı düğümü ele alma sorununun çözülemez olduğunu kabul etmektir. Sizin durumunuzda, bunlardan biri arızalıysa en az dört CPU'ya ihtiyacınız vardır.

Bir yan not: Kuantum fiziğinde imkansızlıklar yoktur, ancak belirli bir davranışı gözlemleme şansına sahip olmak için evrenin yaşından daha uzun süre beklemek zorunda kalırsak, bunun mümkün olduğunu söylemek zorunda değiliz. Sisteminizi tasarlarken bunu aklınızda bulundurun. ;)


2

CPU arızası nadir olabilir. Başarısızlık muhtemelen işletim sistemi düzeyinde başka sorunlara yol açar. Bunu herhangi bir hataya dayanıklılık biçimi olarak düşünmezdim.


1

Diğer cevaplar, bir CPU'nun başarısız olmasından çok nadirdir ve ortalama sunucularda çalışırken değiştirilemez, muhtemelen yapabileceğiniz şey başarısız olana kadar sunucuyu bir CPU ile bırakmaktır, elbette, bu yordamı tamamen çevrimdışı ve sunucunun durdurulması gerekir


1
Ben buna süper nadir demezdim. Sunucularımdan birinde yeni oluştu. Şu anda sorun giderme sürecinde. Çift CPU sunucusu fan arızası nedeniyle CPU'lardan birini kaybetti.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.