Apakah ada keuntungan tertentu atau terukur untuk menggunakan ECC RAM di PC desktop?

21

Saya banyak ribut soal membangun mesin yang stabil - karena saya sangat benci crash, reboot, perilaku lucu, dll. - dan mengoreksi kesalahan alias ECC RAM sepertinya akan menyelesaikan masalah besar: kesalahan memori.

Tapi apakah itu benar-benar bekerja? Apakah ada keuntungan yang terukur, mis. Lebih sedikit crash atau perilaku lainnya?

Selain dari biaya, mengapa tidak menggunakan memori ECC untuk membangun PC baru? Mengapa fitur ECC sebagian besar tersedia & didukung untuk mesin kelas server / workstation, tetapi tidak di motherboard berorientasi konsumen?

Chris W. Rea
sumber
1
Ya, ECC sangat berguna terhadap kesalahan lunak. Kesalahan lunak dapat merusak sistem jika kesalahan ada dalam akses memori. Telah dilaporkan bahwa satu kesalahan lunak menghentikan industri bernilai miliaran dolar. Berikut ini adalah referensi terperinci untuk ini.
user984260

Jawaban:

10

Saya telah menggunakan ram ECC di server selama beberapa tahun sekarang. ECC benar-benar bersinar ketika Anda menggunakan mesin Anda dengan berat, seperti pada "ini lebih dari 12-16 jam sehari". Server whitebox kecil yang saya buat tanpa ECC, cepat atau lambat, mengembangkan "masalah" yang memerlukan reboot, tetapi mesin ECC tidak pernah memilikinya.

Jadi jawaban saya adalah: jika Anda menggunakan komputer Anda banyak , maka kemungkinan besar ya. Jika Anda menggunakan komputer Anda 24/7, maka komputer itu harus dimiliki.

Ada beberapa motherboard yang mendukung ECC di luar sana. Mereka biasanya berada di ujung yang "lebih tinggi", tetapi dengan sedikit riset Anda dapat menemukannya dari berbagai produsen. Satu-satunya pertimbangan lainnya adalah mengingat untuk mengaktifkan dukungan ECC di BIOS.


Google telah keluar berayun pada masalah ini. Lihat http://blogs.zdnet.com/storage/?p=638 untuk mengetahui bagaimana ini benar-benar memengaruhi sistem modern.

Avery Payne
sumber
8
"Server whitebox kecil yang saya buat tanpa ECC, cepat atau lambat, mengembangkan 'masalah' yang membutuhkan reboot" - ini adalah komputasi apocryphal / voodoo yang sedikit untuk selera saya ..
Jeff Atwood
4
Dan Anda pikir saya tidak menyadarinya? Bagaimana lagi Anda bisa menjelaskan peranti lunak yang sama pada peranti keras yang sama yang memiliki masalah aneh (mail salah terkirim), tetapi masalah terselesaikan setelah Anda mengganti semua RAM? Aku tidak menyukai ide itu baik, tapi mengingat bahwa itu adalah komponen hanya utama perubahan, dan pasangan bahwa dengan isu-isu menghilang setelah ECC upgrade, baik, sulit untuk mengabaikan ...
Avery Payne
1
Saya juga lupa menyebutkan - RAM diganti sekali sebelum upgrade ECC dan masalah berlanjut. Mungkin itu jejak buruk pada mobo. Mungkin itu cacat desain di papan tulis. Saya kira di belakang bisa jadi ada banyak masalah lain, yang masing-masing akan membutuhkan EE untuk keluar dan menyelidiki dengan ruang lingkup, tetapi pada akhirnya, ECC membuat masalah itu pergi, jika tanpa alasan lain selain untuk memastikan bahwa data yang diambil dari RAM dalam kondisi konsisten 100%. Jeff, aku setuju itu voodoo ... aku tidak suka itu, tapi itu dia.
Avery Payne
1
@Jeff Atwood - yah ... ternyata itu voodoo, dalam arti Anda tidak dapat melihat ini terjadi pada komputer Anda ... lihat cs.toronto.edu/~bianca/papers/sigmetrics09.pdf
Avery Payne
6

Saya hanya berpikir ECC layak digunakan ketika server membutuhkannya . Wikipedia :

Deteksi dan koreksi kesalahan dalam sistem komputer tampaknya masuk dan keluar dari mode. Seymour Cray terkenal mengatakan "paritas adalah untuk petani" ketika ditanya mengapa dia meninggalkan ini dari CDC 6600. Dia memasukkan paritas dalam CDC 7600, dan konon mengatakan "Saya mengetahui bahwa banyak petani membeli komputer."

Saya tidak dapat menemukan sumber pasti di internet, selain klaim samar dari satu bit error per bulan per gigabyte, yang jelas-jelas konyol; server akan menerjang kiri dan kanan di seluruh dunia jika ini adalah jarak jauh benar.

Beberapa sorotan dari utas MetaFilter dari admin server aktual:

Saya pikir ECC adalah hal yang keren, tapi saya punya server baik dengan dan tanpa itu, dan saya tidak pernah ada atau tidaknya melakukan apa pun, baik cara.

Saya mengerti tujuan dari RAM ECC, tapi bukan itu intinya. Maksudku, aku tidak pernah memperhatikan masalah apa pun yang dihasilkan dari flipping bit kosmik. Bahkan pada server komputasi / kompilasi pribadi dengan waktu kerja beberapa tahun. Bukan untuk mengatakan bahwa bit tidak terbalik, tetapi mereka jelas tidak masalah.

Dalam pengalaman saya menjalankan peternakan beberapa ribu mesin di sana-sini, Anda lebih cenderung memiliki muntah Ext3 diam-diam di seluruh Anda daripada memiliki masalah yang dapat diperbaiki ECC.

Secara pribadi, saya pikir ECC sedikit pemujaan terhadap barang, tetapi ini adalah polis asuransi yang masuk akal pada server besar yang besar asalkan biayanya tidak terlalu tinggi.

Jeff Atwood
sumber
Menabrak kiri dan kanan? Saya tidak berpikir itu akan seburuk itu. Menarik kembali: "macet kiri dan kanan" ... Tetapi pertimbangkan: kesalahan bit dapat terjadi pada RAM yang tidak terisi (banyak, pada server yang kurang dimanfaatkan), atau dalam memori yang dialokasikan tidak mungkin dieksekusi atau direferensikan lagi sebelum dibebaskan dan dialokasikan kembali (mis. jika ada kesalahan sedikit dalam kode mati, apakah itu membuat suara ?.)
Chris W. Rea
Saya juga bertanya-tanya apakah Google memiliki sesuatu untuk dikatakan tentang kesalahan memori. Mereka menjalankan TON server. Aku ingin tahu berapa banyak server down-time akan timbul RAM kesalahan yang bertentangan dengan, katakanlah, pasokan listrik pada fritz ...
Chris W. Rea
3

Kami telah mempertimbangkannya untuk sistem kritis. Satu masalah menjadi, bagaimana sih Anda melakukan deteksi kesalahan dalam perangkat lunak untuk memeriksa integritas memori Anda, ketika program yang digunakan untuk menjalankan pemeriksaan integritas memori itu sendiri dapat rentan terhadap kesalahan memori ??? Pada dasarnya Anda tidak bisa dan itu membuat analisis mode kegagalan / mitigasi kegagalan menjadi sulit, sehingga ECC adalah mekanisme mitigasi.

Ini adalah salah satu kasus di mana jika ada masalah, Anda dapat menyalahkan sinar kosmik ;)

Jason S
sumber
2

Saya akan mempertimbangkan ram ECC untuk aplikasi "mission critical". Jika kesalahan server akan menyebabkan Anda kehilangan sejumlah besar uang (atau membunuh orang, atau apa pun), muncul untuk ram ECC. Pada dasarnya, timbang biaya ram ECC versus apa yang Anda rindukan jika terjadi kesalahan.

Tapi apa pun yang Anda putuskan, saya sarankan menjalankan MemTest86 + semalam (atau cukup lama untuk membuat beberapa melewati seluruh ruang alamat). Dan jika Anda dapat menyalakan panas (secara harfiah), itu akan memberi Anda gambaran tentang bagaimana ram Anda akan bekerja ketika sistem sedang berjalan panas.

Saya mengalami kesalahan tampilan RAM yang baru di MemTest. Saya juga mengalami "baik" ram mengembangkan kesalahan, dari waktu ke waktu, bahwa MemTest terdeteksi. Ini adalah alat yang hebat, dan salah satu hal pertama yang saya jalankan pada sistem baru.

ijprest
sumber