Kozmik Işınlar: Bir programı etkileme olasılıkları nedir?


546

Bir kez daha bir tasarım incelemesine katıldım ve belirli bir senaryo olasılığının programı etkileyen "kozmik ışın riskinden daha az" olduğu iddiasıyla karşılaştım ve bunun en ince fikrine sahip olmadığım aklıma geldi olasılık.

"2 -128 , 340282366920938463463374607431768211456'dan 1 olduğu için, bu hesaplamalar birkaç milyarlık bir faktör tarafından kapatılsa bile, şansımızı burada almaya haklı olduğumuzu düşünüyorum ... bizi mahvediyorum, inanıyorum. "

Bu programcı doğru mu? Bir kozmik ışının bir bilgisayara çarpması ve programın yürütülmesini etkileme olasılığı nedir?


42
"Kazanan Piyangolar: Bir programı etkileme olasılıkları nedir?"
kennytm

27
Kısmen programın nerede yürütüldüğüne ve ne kadar iyi korunduğuna bağlıdır. Dünya'da kozmik ışın akısı, derin uzayda veya hatta Dünya yörüngesinin yakınında olduğundan çok daha düşüktür. Hubble Uzay Teleskobu, örneğin, kozmik ışın izleriyle dolu ham görüntüler üretir.
Adam Hollidge

89
Bu şu andan itibaren, birileri finallybloklar hakkında sorular sorduğunda , onu " programın çıkması veya kozmik bir ışınla vurulması dışında her zaman yürütür" ile nitelendirmemiz gerektiği anlamına mı geliyor ?
skaffman

72
Yıllar önce bir prototip parçacık dedektörü üzerinde çalışarak, "ah!" her kozmik ışın tarafından vurulunca. İyi günler ...
Beta

8
Bir süredir burada okuduğum en ilginç sorular üzerine. Gerçek bir göz açıcı. Yeniden açmak için bana güven.
Agnel Kurian

Yanıtlar:


308

Gönderen Vikipedi :

1990'larda IBM tarafından yapılan çalışmalar, bilgisayarların ayda 256 megabayt RAM başına genellikle bir kozmik ışına bağlı hata yaşadığını göstermektedir. [15]

Bu, bayt başına ayda 3.7 × 10-9 veya saniyede bayt başına 1.4 × 10-15 olasılığı anlamına gelir . Programınız 1 dakika çalışır ve 20 MB RAM kaplarsa, hata olasılığı

                 60 × 20 × 1024²
1 - (1 - 1.4e-15)                = 1.8e-6 a.k.a. "5 nines"

Hata kontrolü, başarısızlığın sonrasındaki azalmaya yardımcı olabilir. Ayrıca, Joe tarafından yorumlandığı gibi daha kompakt cips boyutu nedeniyle, arıza oranı 20 yıl önce olduğundan farklı olabilir.


10
Daha da önemlisi, 1995'teki CPU'lar için çip özellik boyutu yaklaşık 0.35 um veya 350 nm idi. Şimdi bu boyut 35nm'de 1/10.
Joe Koberg

18
Riski azaltmak yerine, her bir bitin durumunu değiştirmek daha az enerji gerektireceğinden, azaltılmış boyutun riski arttırması mümkün müdür?
Robert

63
Azalan boyut kesinlikle riski artırır. Uzay araçları için sertleştirilmiş işlemciler kozmik ışın etkilerini önlemek için çok büyük özellik boyutları kullanır.
Joe Koberg

22
Sadece kozmik ışınlar değil, çipte kullanılan malzemelerdeki radyoaktif izotoplar çok daha büyük bir sorundur. Yapımcılar, silikon, lehim, kapsülleme vb.'nin alfa veya beta yayıcı içermediğinden emin olmak için büyük uzunluklara giderler.
Martin Beckett

14
Vaov! Bu, bilgisayarımdaki yaklaşık 1 baytın her iki günde bir bozulduğu anlamına gelir.
Stefan Monov

91

Görünüşe göre, önemsiz değil. Gönderen bu New Scientist makalesinde , Intel patent başvurusundan bir alıntı:

"Kozmik ışının neden olduğu bilgisayar çökmeleri meydana geldi ve aygıtların (örneğin, transistörler) yongalardaki boyutu azaldıkça frekansla artması bekleniyor. Bu sorunun önümüzdeki on yıl içinde bilgisayar güvenilirliğinin önemli bir sınırlayıcısı olması bekleniyor."

Patentin tamamını buradan okuyabilirsiniz .


7
Neden çip boyutunda bir azalma ile artarlar? Elbette daha küçük bir nesnenin bir ışın tarafından vurulması daha az olasıdır (yani bir duvara tenis topu atmak, onu bir pul atmakla karşılaştırmak)
Jonathan.

7
Çünkü bileşenlerin boyutu küçüldükçe, kozmik ışın vuruşlarına çok daha duyarlı hale gelirler.
ire_and_curses

4
Evet, daha küçük isabet etme olasılığı daha azdır, ancak isabetin durumu etkileme olasılığı daha yüksektir.
John Hascall

2
@ire_and_curses [alıntı gerekli]
Anko

8
@Anko - Bu çok açık. Belirli bir bileşen küçüldükçe, biraz ayarlamak için daha az voltaj ve daha az şarj gerekir. Bu, onu uzaydan gelen enerjiyle patlatmaya daha duyarlı hale getirir. Ancak, sizin için bir alıntı : LSI bellek aygıtları küçüldükçe, nükleer radyasyona bağlı yumuşak arızalara karşı daha hassas hale gelirler.
ire_and_curses

55

Not: Bu cevap fizik değil, ECC olmayan bellek modüllerindeki sessiz bellek hataları ile ilgilidir. Bazı hatalar dış uzaydan, bazıları - masaüstünün iç uzayından gelebilir.

CERN kümeleri ve Google veri merkezleri gibi büyük sunucu çiftliklerinde ECC bellek hataları ile ilgili birkaç çalışma vardır. ECC'li sunucu sınıfı donanım, tüm tek bit hatalarını algılayabilir ve düzeltebilir ve birçok çok bitli hatayı algılayabilir.

ECC olmayan masaüstü bilgisayarların (ve ECC olmayan mobil akıllı telefonların) olduğunu varsayabiliriz. Makalelerde ECC ile düzeltilebilir hata oranları (tek bitflips) olup olmadığını kontrol edersek, ECC olmayan bellekte sessiz bellek bozulma oranını bilebiliriz.

Bu nedenle, program büyük veri kümesine (birkaç GB) veya yüksek bellek okuma veya yazma hızına (GB / s veya daha fazla) sahipse ve birkaç saat çalışırsa, masaüstü donanımında birkaç sessiz bit döndürmeyi bekleyebiliriz. Bu oran memtest tarafından tespit edilemez ve DRAM modülleri iyidir.

Uzun küme, BOINC internet çapında grid computing gibi binlerce ECC olmayan bilgisayarda çalışır, her zaman bellek bit çevirme ve ayrıca disk ve ağ sessiz hatalarından hatalar olacaktır.

Sandia'nın 2012 raporunda gördüğümüz gibi, tek bit hatalarından ECC korumasına sahip daha büyük makineler (10 bin sunucu) için, her gün çift bit döndürmeler olabilir, bu nedenle tam boyutlu paralel çalıştırma şansınız olmayacaktır. birkaç gün boyunca program (düzenli kontrol noktası olmadan ve çift hata durumunda son iyi kontrol noktasından yeniden başlatılmadan). Büyük makineler ayrıca önbelleklerinde ve cpu kayıtlarında (hem ALU veri yolunda hem mimari hem de dahili çipin tetikleyicileri) bit döndürürler, çünkü hepsi ECC tarafından korunmaz.

Not: DRAM modülü bozuksa işler çok daha kötü olacaktır. Örneğin, birkaç hafta sonra ölen dizüstü bilgisayara yeni DRAM taktım. Çok fazla bellek hatası vermeye başladı. Ne aldım: dizüstü bilgisayar kilitleniyor, linux yeniden başlatılıyor, fsck çalışıyor, kök dosya sisteminde hatalar buluyor ve hataları düzelttikten sonra yeniden başlatmak istediğini söylüyor. Ama bir sonraki her yeniden başlatmada (yaklaşık 5-6 tane yaptım) hala kök dosya sisteminde bulunan hatalar var.


9
BH 2011'den ek materyaller: "Bitsquatting. Sömürü olmadan DNS kaçırma" media.blackhat.com/bh-us-11/Dinaburg/… 10000-30000 FIT / Mbit (100 saatten az) arasında modern çoklu GB DRAM'lerini listeler her 128 MB için hata). Bu makalede ayrıca çoğu yumuşak hatanın radyasyondan, neredeyse tüm vakalardan - kozmik ışınlardan ve bazı durumlarda PC içindeki alfa yayıcılardan kaynaklandığı sonucuna varılan makaleler de listelenmektedir . BH yazarları deneme yaptı ve popüler sitelerden 1 bit değiştirilen alan adlarına 50000 erişim elde etti
osgx

Burada daha yeni çalışmalar eklemek için şeref. SO oylamasının dinamikleri ve zaman içinde nasıl biriktikleri göz önüne alındığında, bu konuda güncel bir sunum yapmak çok zor (burada).
Fizz

Benzer bir sorun yaşadık. Kesin bir çalışma yapmadık, ancak görünür bit döndürmelerle oldukça fazla çökme dökümümüz vardı. Biz bu bit döndürür kontrol ve kod bölümünde oldukları ortaya çıktı. Orada olması gerekenlerle karşılaştırdık ve kasıtlı modifikasyona benzemedi (yani ortaya çıkan talimatların pek bir anlamı yoktu). Sonunda, (arşivlenmiş) yayınlanan sürümlerle çarpışma dökümlerini karşılaştıran ve bu tür durumları filtreleyen basit bir uygulamamız vardı. İlginçtir, bu tür vakaların çoğunun İran, Arabistan'dan geldiğini düşünüyorum ve sanırım Güney Amerika'dan bir ülke daha (şimdi hatırlamıyorum).
GiM

2
Google'ın makalesinde, bazı RAM'lerin kötü olduğu bir duruma benziyor Makinelerin üçte biri ve filomuzdaki DIMM'lerin% 8'inden fazlası yılda en az bir düzeltilebilir hata gördü. DIMM başına düzeltilebilir hata oranlarımız, Mbit başına ortalama 25.000-75.000 FIT (milyar saat çalışma başına arıza) ve Mbit başına ortalama 778 - 25.000 (hatalı DIMM'ler için ortalama) anlamına gelir, önceki çalışmalar Mbit başına 200-5.000 FIT bildirmektedir. DIMM başına düzeltilebilir hata sayısı oldukça değişkendir, bazı DIMM'ler diğerlerine göre çok sayıda hata yaşar.
vartec

31

Wikipedia 90'lı yıllarda IBM tarafından yapılan bir araştırmada "bilgisayarların ayda 256 megabayt RAM başına yaklaşık bir kozmik ışına bağlı hata yaşadığını" gösteriyor. Maalesef alıntı, Scientific American'da başka referans vermeyen bir makaleye yapıldı. Şahsen, bu sayının çok yüksek olduğunu düşünüyorum, ancak belki kozmik ışınların neden olduğu bellek hatalarının çoğu gerçek veya fark edilebilir sorunlara neden olmaz.

Öte yandan, yazılım senaryoları söz konusu olduğunda olasılıklar hakkında konuşan insanların tipik olarak ne hakkında konuştukları hakkında bir fikri yoktur.


7
Bir bitin çevrilme olasılığı, bitin program üzerinde belirgin bir etkiye sahip olma olasılığı ile çarpılmalıdır. Sanırım ikinci olasılık düşündüğünüzden çok daha düşük.
Mark Ransom

2
@ Mark: Tipik bilgisayar programlarında yerleşik olarak bu tür hataya dayanıklılık yoktur. Bozuk kod yürütülürse, program kodundaki tek bitlik bir hata, programın çökmemesinden daha olasıdır.
Robert Harvey

75
Evet, ancak belleğin çoğu, kapakta bu görünmezlik olmayacak veriler içeriyor.
zoul

34
@zoul. lol 'visiblp' de, ama e = 1100101 ve p = 1110000 ise, 3 bit döndürmenin talihsiz kurbanısın !
PaulG

10
@ Paul: veya bir parmak vuruşu .
mpen

30

Kozmik ışınlar görünüşe göre Toyota otomobillerindeki elektroniklerin arızalanmasına neden oldu, bu yüzden olasılığın çok yüksek olduğunu söyleyebilirim :)

Kozmik ışınlar gerçekten Toyota'nın sıkıntılarına neden oluyor mu?


23
"Federal düzenleyiciler Toyotas'ta ani hızlanmanın kozmik ışınlarla bağlantılı olup olmadığını araştırıyorlar." Bu yüzden federal düzenleyicilere hayatınız üzerinde asla güç vermemelisiniz.

13
Sanırım buradaki teori, kozmik ışınların eski beyinlerde uçları ters çevirmelerine ve hatalı pedala basmalarına neden olmasıdır.
Knox

16
"Görünüşe göre"? Bu noktada bunun vahşi bir tahmin olduğunu söyleyebilirim. Kendi vahşi tahminim, bu fenomenin gömülü sistemlerin (aslında en karmaşık bilgisayar sistemleri) eski kabusunun bir sonucu olduğu - yarış durumu.
Michael Burr

7
@Knox: Eski Folyo şapka Çık dışarı, bir kullanışlı!

3
Şaka olmayabilir. Daha önce böyle ciddi garip şeyler gördüm. Çoğu insanın düşündüğü kadar nadir değildir.
Brian Knoblauch

25

ECC ile Kozmik Işınların 1 bit hatalarını düzeltebilirsiniz. Kozmik ışınların 2 bitlik hatalara yol açtığı vakaların% 10'undan kaçınmak için ECC hücreleri tipik olarak yongalar üzerinde serpiştirilir, böylece iki hücre yan yana olmaz. Bu nedenle, iki hücreyi etkileyen bir kozmik ışın olayı, iki düzeltilebilir 1 bit hatasına neden olur.

Güneş durumları: (Parça No. 816-5053-10 Nisan 2002)

Genel olarak konuşursak, DRAM belleğinde ~ 10 ila 100 FIT / MB oranında kozmik ışın yumuşak hataları meydana gelir (1 FIT = 1 cihaz 1 milyar saatte başarısız olur). Bu nedenle, 10 GB belleğe sahip bir sistem her 1000 ila 10.000 saatte bir ECC olayı göstermelidir ve 100 GB'a sahip bir sistem her 100 ila 1.000 saatte bir olay gösterecektir. Bununla birlikte, bu, yukarıda özetlenen etkilerin bir fonksiyonu olarak değişecek kaba bir tahmindir.


17

Bellek hataları gerçek ve ECC bellek yardımcı oluyor. Doğru uygulanan ECC bellek tek bit hataları düzeltmek ve çift bit hataları tespit edecek (örneğin bir hata tespit edildiğinde sistemin durdurulması.) İnsanların çalıştırılarak çözülen bir yazılım sorunu gibi görünüyor ne şikayet ne kadar düzenli gelen görebilirsiniz memtest86 ve kötü hafızayı keşfetmek. Elbette kozmik bir ışının neden olduğu geçici bir arıza, sürekli olarak başarısız olan bir bellek parçasından farklıdır, ancak belleğinizin doğru çalışması için ne kadar güvenmeniz gerektiğine dair daha geniş bir soru ile ilgilidir.

20 MB yerleşik büyüklüğüne dayanan bir analiz önemsiz uygulamalar için uygun olabilir, ancak büyük sistemler rutin olarak büyük ana belleklere sahip birden fazla sunucuya sahiptir.

İlginç bağlantı: http://cr.yp.to/hardware/ecc.html

Sayfadaki Corsair bağlantısı maalesef ölü gibi görünüyor.


Kozmik ışın bitflipleri, özellikle "kozmik ışın olayları" şemsiyesi altında güneş fırtınaları eklersek, düzgün dağılmayabilir. Aynı bayt içinde iki veya daha fazla bitflip varsa, tipik ECC hatayı düzeltemez.
tobixen

@tobixen Çift bit hatası algılamak, bozuk verilerle çalışmaya devam etmekten daha iyidir. ECC'den sonraki adım DIMM yansıtma ile Chipkill ...
janm

13

Bu gerçek bir konudur ve bu nedenle ECC belleği sunucularda ve gömülü sistemlerde kullanılır. Ve uçan sistemler neden yer tabanlı sistemlerden farklıdır.

Örneğin, "katıştırılmış" uygulamalar için hedeflenen Intel parçalarının teknik özelliklere ECC ekleme eğiliminde olduğunu unutmayın. Bir tablet için bir Bay Trail, hafızayı biraz daha pahalı ve muhtemelen daha yavaş hale getireceğinden, eksiktir. Ve bir tablet mavi ayda bir programı çöktüğünde, kullanıcı çok fazla umursamaz. Yazılımın kendisi zaten HW'den çok daha az güvenilir. Ancak endüstriyel makine ve otomotivde kullanılmak üzere tasarlanan SKU'lar için ECC zorunludur. Buradan beri, SW'nin çok daha güvenilir olmasını bekliyoruz ve rastgele rahatsızlıklardan kaynaklanan hatalar gerçek bir sorun olacaktır.

IEC 61508 ve benzer standartlara göre sertifikalı sistemler genellikle hem tüm RAM'in işlevsel olup olmadığını kontrol eden önyükleme testlerine (sıfır veya birde takılı bit yok) hem de ECC tarafından tespit edilen hatalardan kurtulmaya çalışan çalışma zamanında hata işleme ve Ayrıca, meydana gelen hataların fark edildiğinden emin olmak için sürekli olarak bellek okuma ve yazma ve bellek yazma görevlerini de yerine getirir.

Ama genel PC yazılımı için? Önemli bir şey değil. Uzun ömürlü bir sunucu için mi? ECC ve bir hata giderici kullanın. Düzeltilemez bir hata çekirdeği öldürürse, öyle olsun. Ya da paranoyaklaşırsınız ve bir adım bozulursa, diğer çekirdek ilk çekirdek yeniden başlatılırken diğerini devralabilir.


Kozmik ışın bitflipleri, özellikle "kozmik ışın olayları" şemsiyesi altında güneş fırtınaları eklersek, düzgün dağılmayabilir. Ani bir patlama bayt içinde birkaç bitflips'e neden olabilir ve ECC algoritmaları bir hatayı düzeltemez.
tobixen

12

Bir program yaşam için kritik öneme sahipse (başarısız olursa birini öldürür), ya arıza korumalı olacak ya da bu tür bir arızadan otomatik olarak kurtulacak şekilde yazılmalıdır. Diğer tüm programlar, YMMV.

Toyotalar buna bir örnektir. Bir gaz kablosu hakkında ne söyleyeceğinizi söyleyin, ancak yazılım değildir .

Ayrıca bkz http://en.wikipedia.org/wiki/Therac-25


Gaz kelebeği için yazılımı kaldırın. Gaz kelebeği sensörleri ve kabloları zayıf noktadır. Mitsubishi gaz kelebeği konum sensörünüz rastgele bir sayı üreticisine başarısız oldu ... İstenmeyen hızlanma yok, ancak yakıt karışımı için iyi bir şey yapmadığı kesin!
Brian Knoblauch

3
@Brian: İyi bir yazılım, veri noktalarının süreksiz olduğunu anlardı ve verilerin kötü olduğu sonucuna varırdı.
Robert Harvey

..ve sonra ne ... İyi veri gerekiyor. Kötü olduğunu bilmek hiç yardımcı olmuyor. Sihirli bir şekilde çalışabileceğiniz bir şey değil.
Brian Knoblauch

3
@Brian: Bir kere, verilerinizin kötü olduğu bilgisine dayanarak düzeltici önlemler alabilirsiniz. Örneğin, hızlanmayı durdurabilirsiniz.
Robert Harvey

Evet, cheksum verilerini alabilirsiniz (ve yapmalısınız). En iyi uçtan uca. Ancak bu sadece yolsuzluk olasılığını azaltır. "Bu geçerli mi" talimatınızın sadece hata işleyicisine dalmak istediğinizde bellekte veya CPU kaydında biraz bozuk olduğunu düşünün.
eckes

11

Bir zamanlar uzayda uçacak cihazları programladım ve sonra (sözde, hiç kimse bana bu konuda herhangi bir kağıt göstermedi, ancak işte ortak bilgi olduğu söyleniyordu) kozmik ışınların her zaman hatalar yaratmasını bekleyebilirdiniz.


8
Atmosferin üzerinde iki şey olur: 1) toplam akı daha yüksektir 2) çok daha fazlası ağır, çok enerjik parçacıklar şeklinde gelir (biraz küçük bir alana paketlenmiş yeterli enerjiyle).
dmckee --- ex-moderatör kedi yavrusu

Kaynaklar ile ilgili olarak, kitaplar (örneğin, books.google.com/books?hl=tr&lr=&id=Er5_rzW0q3MC ), konferanslar (örneğin, radecs2015.org , seemapld.org ve diğerleri) ve bu konuyla ilgili makaleler bulunmaktadır . Kozmik ışınlar havacılıkta bir şaka değildir. Pek çok uzay aracının, çoğu modern bir akıllı ekmek kızartma makinesi fırınının işleme gücüne sahip rad-sertleştirilmiş bilgisayarlar kullanmasının temel nedenlerinden biridir.
David Hammen

8

"kozmik ışın olaylarının" buradaki cevapların çoğunda tekdüze bir dağılım olduğu düşünülmektedir, bu her zaman doğru olmayabilir (yani süpernova). (Wikipedia göre en azından) gelen tanım gereği "kozmik ışınlar" Her ne kadar dış mekan, ben de hiç 's adil dahil düşünüyorum yerel (aka güneş fırtınaları koronal kütle atımı aynı çatı altında. Ben a dahilinde çevirmek için birkaç bit neden olabilir inanıyoruz kısa zaman aralığı, ECC etkin belleği bile bozmaya yetecek kadar.

Güneş fırtınalarının elektrik sistemlerine oldukça fazla zarar verebileceği iyi bilinmektedir ( Mart 1989'daki Quebec elektrik kesintisi gibi ). Bilgisayar sistemlerinin de etkilenmesi muhtemeldir.

Yaklaşık 10 yıl önce başka bir adamın hemen yanında oturuyordum, her dizüstü bilgisayarımızla oturuyorduk, oldukça "fırtınalı" güneş havası olan bir dönemde (kutupta otururken, bunu dolaylı olarak gözlemleyebilirdik - bir sürü aurora borealis görüldü). Aniden - aynı anda - her iki dizüstü bilgisayarımız çöktü. OS X ve Linux kullanıyordum. İkimiz de çöken dizüstü bilgisayarlara alışkın değiliz - Linux ve OS X'te oldukça nadir bir şey. Farklı işletim sistemlerinde çalıştığımızdan beri yaygın yazılım hataları az çok göz ardı edilebilir (ve bir sıçrama sırasında olmadı) ikinci). Bu olayı "kozmik radyasyon" a atfetmeye geldim.

Daha sonra, "kozmik radyasyon" işyerimde içten bir şaka haline geldi. Sunucularımızda bir şey olduğunda ve bununla ilgili herhangi bir açıklama bulamadığımızda, hatayı şaka yaparak "kozmik radyasyon" a bağlarız. :-)


7

Daha sık olarak, gürültü verileri bozabilir. Checksum'lar bununla birçok seviyede mücadele etmek için kullanılır; bir veri kablosunda tipik olarak verinin yanından geçen bir eşlik biti vardır. Bu yolsuzluk olasılığını büyük ölçüde azaltır. Daha sonra ayrıştırma düzeylerinde, anlamsız veriler genellikle yok sayılır, bu nedenle bazı bozulmalar eşlik bitini veya diğer sağlama toplamlarını geçse bile, çoğu durumda yok sayılır.

Ayrıca, bazı bileşenler gürültüyü engellemek için elektrikle korunur (muhtemelen kozmik ışınlar değil).

Ama sonuçta, diğer cevaplayıcıların söylediği gibi, karıştırılan ara sıra bit veya bayt vardır ve bunun önemli bir bayt olup olmadığı şansa bırakılmıştır. En iyi durum senaryosu, bir kozmik ışın boş bitlerden birini karıştırır ve kesinlikle hiçbir etkisi yoktur veya bilgisayarı çökertir (bu iyi bir şeydir, çünkü bilgisayar zarar görmekten korunur); ama en kötü durum, eminim hayal edebileceksiniz.


Kozmik ışın bitflipleri, özellikle "kozmik ışın olayları" şemsiyesi altında güneş fırtınaları eklersek, düzgün dağılmayabilir. Aynı bayt içinde iki bit bitiniz varsa, eşlik biti kontrolü başarısız olur. Birkaç bitflip ve ECC algoritması muhtemelen bir hatayı düzeltemeyecektir.
tobixen

5

Bunu yaşadım - Kozmik ışınların bir parça dönmesi nadir değildir, ancak bir kişinin bunu gözlemlemesi pek olası değildir.

2004 yılında bir yükleyici için bir sıkıştırma aracı üzerinde çalışıyordum. Test verilerim yaklaşık 500 MB veya daha fazla Adobe kurulum dosyası açmıştı.

Sıkıcı bir sıkıştırma çalışması ve bütünlüğü test etmek için bir dekompresyon çalışması sonrasında, FC / B bir bayt farklı gösterdi.

Bu bir bayt içinde MSB ters çevrilmişti. Ayrıca, sadece çok özel koşullar altında ortaya çıkacak çılgın bir böceğe sahip olduğumdan endişe duydum - nereye bakmaya başlayacağımı bile bilmiyordum.

Ama bir şey bana testi tekrar yapmamı söyledi. Ben koştum ve geçti. Testi bir gecede 5 kez çalıştırmak için bir senaryo oluşturdum. Sabah 5 kişi de geçmişti.

Bu kesinlikle kozmik bir ışın biti flipıydı.


Kesinlikle? Sonraki testlerde hiçbir zaman kötü bir başlangıç ​​değerine sahip olmayan başlatılmamış bir değişken olamaz mı?
doug65536

Ben her zaman VS W3 veya W4 ile derlemek - Ayrıca Rational Purify, bu tür hiçbir hata yoktu.
rep_movsd

Ah, üzgünüm, bu derleyici seçeneklerinin ve Rational Purify'ın tamamen yanılmaz olduğunu bilmiyordum. =)
doug65536

Kodun daha sonra üretime alındığı ve yüzlerce GB'nin düzgün bir şekilde sıkıştırıldığı ve sıkıştırılmamış olduğu göz önüne alındığında, benzer bir hata belirtisi yoktu.
rep_movsd

4

Hata Toleranslı donanımına da göz atmak isteyebilirsiniz.

Örneğin Stratus Technology, hesaplamaların sonuçlarını karşılaştırarak kilit adımında 2 veya 3 "anakart" bulunan ftServer adlı Wintel sunucuları oluşturur. (bu bazen uzay araçlarında da yapılır).

Stratus sunucuları, özel yonga setinden arka panele kilitlenmeye dönüştü.

Çok benzer bir (ancak yazılım) sistem, Hipervizör tabanlı VMWare Hata Toleransı kilit adımdır.


4

Bir veri noktası olarak, bu bizim derlememizde oldu:

02:13:00,465 WARN  - In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:133:
02:13:00,465 WARN  - /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/locale:3180:65: error: use of undeclared identifier '_'
02:13:00,465 WARN  - for (unsigned __i = 1; __i < __trailing_sign->size(); ++_^i, ++__b)
02:13:00,465 WARN  - ^
02:13:00,465 WARN  - /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/locale:3180:67: error: use of undeclared identifier 'i'
02:13:00,465 WARN  - for (unsigned __i = 1; __i < __trailing_sign->size(); ++_^i, ++__b)
02:13:00,465 WARN  - ^

Bu, derleme sırasında, kaynak dosyada çok önemli bir yerde şans eseri gerçekleşen biraz çevirme gibi çok güçlü görünüyor.

Bunun bir "kozmik ışın" olduğunu söylemiyorum, ancak belirti uyuşuyor.

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.