Haruskah saya menggunakan bios "Advanced ECC" di Dell PowerEdge R710 Bios dengan DIMM ECC?


14

Saya memiliki Dell PowerEdge R710 dengan CPU Intel Xeon E5503 ganda. Ini memiliki 96GB (12x8GB) ECC DIMM. Dalam BIOS-nya, memori dikonfigurasi untuk "Advanced ECC".

Pertanyaan saya adalah apakah DIMM saya sudah ECC, apakah masuk akal untuk mengaktifkan mode "Advanced ECC" di BIOS atau haruskah saya beralih ke "Dioptimalkan"?

Dell menjelaskan mode-mode ini sebagai berikut:

Mode ECC Lanjut Mode ini menggunakan dua KIA dan "menyatukan" keduanya untuk meniru bus data DIMM 128-bit. Ini terutama digunakan untuk mencapai Koreksi Data Perangkat Tunggal (SDDC) untuk DIMM berdasarkan teknologi DRAM x8. SDDC didukung dengan DIMM berbasis x4 di setiap mode memori. Satu KIA sepenuhnya tidak digunakan, dan setiap memori yang dipasang di saluran ini akan menghasilkan pesan peringatan selama POST.

Mode Dioptimalkan Memori Dalam mode ini, KIA berjalan secara independen satu sama lain; misalnya, satu dapat menganggur, satu dapat melakukan operasi tulis, dan yang lainnya dapat mempersiapkan untuk operasi baca. Memori dapat dipasang dalam satu, dua, atau tiga saluran. Untuk sepenuhnya menyadari manfaat kinerja dari mode yang dioptimalkan memori, ketiga saluran per CPU harus diisi. Ini menyiratkan bahwa beberapa konfigurasi memori 'atipikal', seperti 3GB, 6GB, atau 12GB, akan menghasilkan kinerja terbaik. Ini adalah mode yang disarankan kecuali fitur RAS tertentu diperlukan.

Panduan Pengguna Perangkat Keras Dell PowerEdge R710 Systems (PDF)

Jawaban:


23

Itu memang membuat perbedaan, itu hanya akan masuk akal jika Anda memerlukan fitur RAS (Keandalan, Ketersediaan, dan Layanan) pada perangkat x4 atau x8 dan memahami pertukaran untuk kebutuhan Anda. Rincian lebih lanjut dapat dijelaskan di kertas putih Dell Server Dell ™ PowerEdge ™ 2009 - Memori .

Juga, konfigurasi dan tata letak dengan perincian khusus untuk R710 tersedia di Buku Panduan Teknis untuk PowerEdge R710 - (Google ini karena saya tidak memiliki reputasi tautan).

Masalah penting yang perlu diperhatikan adalah perbedaan antara ECC pada chip dan "Advanced ECC" yang disediakan oleh BIOS Dell untuk Koreksi Data Perangkat Tunggal (SDDC). Anda akan memiliki dampak kinerja pada keduanya. ECC akan pulih dari kesalahan selama penulisan ke chip. Namun, SDDC melangkah lebih jauh dan akan mengatur bit sehingga seluruh chip bisa gagal dan masih dapat dipulihkan. Lihat contoh dan detail Chipset SDDC E7500

Masalahnya adalah apakah kinerja dan / atau keandalan Anda menjadi perhatian utama dalam penggunaan spesifik mesin Anda. Jika kegagalan chip akan menyebabkan hilangnya data penting atau penggunaan pada mesin ini dan itu tidak mubazir dalam implementasinya, Advanced ECC mungkin merupakan cara terbaik untuk melangkah. Namun, Anda melakukannya pada dampak kinerja yang mungkin lebih penting bagi Anda.

Saya telah mengimplementasikan keduanya di lapangan pada server Dell PowerEdge untuk implementasi Microsoft SQL Server tunggal. Jika saya dapat lebih membantu, cukup komentar untuk memberi tahu saya.

Semoga itu bisa membantu.

EDIT: Cakupan cakupan / implementasi ECC

Ya, ada kesenjangan cakupan bahkan jika Anda menerapkan keduanya. Karena, Anda secara khusus menggunakan sekelompok server ketersediaan tinggi, IMHO Anda harus menggunakan ECC Lanjutan. Dampak kinerja Anda minimal dibandingkan dengan manfaat untuk perangkat yang dikelompokkan. Menurut Crucial, Anda hanya mengalami penurunan kinerja 2% pada memori ECC secara umum.

Kesenjangan akan lebih spesifik untuk jenis kesalahan yang terjadi dan bagaimana masing-masing menangani kesalahan. Dalam situasi spesifik Anda, itu seharusnya tidak berarti kehilangan data. Karena ini adalah DBMS Perusahaan dan kesalahan, masalah konkurensi, dll. Dikelola pada tingkat perangkat lunak untuk mencegah kehilangan data. Riwayat terperinci disimpan dari perubahan dalam DBMS yang dikonfigurasi dengan benar dan perangkat lunak yang menggunakannya biasanya dapat mengatur agar transaksi "kembalikan" apa pun jika terjadi kesalahan parah.

Implementasi ECC

ECC akan berusaha untuk memperbaiki kesalahan bit dalam memori baca / tulis. Namun, jika kesalahan lebih signifikan, maka ECC bahkan tidak akan dapat pulih, menyebabkan potensi kehilangan data. Ada lebih banyak diskusi tentang ECC di ServerFault / Apa ECC ram dan mengapa lebih baik?

Menurut Wikipedia di ECC_Memory

Memori ECC memelihara sistem memori secara efektif bebas dari kesalahan bit tunggal ...

SDDC

Jika Anda merujuk pada dokumen chipset E7500 di atas (perhatikan bahwa 55xx / 56xx dari Intel memerlukan login / kemitraan tetapi idenya mirip, itulah sebabnya saya tidak menautkan awalnya), yang menjelaskan SDDC dan bagaimana hal itu memungkinkan. Pada dasarnya, ini menggunakan teknik untuk mengatur kata-kata yang ditulis ke memori yang memastikan semua ditulis sedemikian rupa sehingga setiap kata hanya akan mengandung kesalahan bit tunggal yaitu kata harus dapat dipulihkan dari kesalahan bit tunggal (seperti di atas). Nah, itu per kata, sehingga berpotensi pulih dari kesalahan hingga 4-bit pada perangkat x4 (1 per kata) dan hingga 8-bit kesalahan pada perangkat x8 (masih 1 per kata) dengan kesalahan mengoreksi setiap kata.

Kesalahan tambahan, kesalahan bit lebih banyak, kegagalan memori total, kegagalan saluran, kegagalan bus, dll. Masih bisa semua menyebabkan masalah mengerikan tapi itu sebabnya Anda memiliki sebuah cluster dan DBMS Perusahaan.

Singkatnya, jika Anda memiliki semuanya diaktifkan dan ada terlalu banyak kesalahan bit untuk mengoreksi kesalahan algoritma Anda masih akan memiliki kesalahan yaitu kesenjangan cakupan kesalahan. Ini bisa sangat langka.


Untuk lebih spesifik ini adalah satu set 3 R710 identik menjalankan Oracle DB cluster. Jadi ketersediaan satu mesin bukan yang paling penting. Namun, korupsi data mengganggu. Saya telah melihat buku panduan teknis R710. Itu tidak memiliki banyak informasi tambahan tentang memori. Jadi dengan on-dimm ECC akan mendeteksi / memperbaiki kesalahan dalam chip dimm? Namun, Advanced ECC akan mendeteksi / memperbaiki kesalahan untuk seluruh dimm? Jika itu masalahnya, apakah ada jarak cakupan antara kedua metode ini?
Mxx

@Mxx Saya sudah memperbarui jawaban saya untuk mencoba menjelaskan. IMHO karena Anda menjalankan kluster Oracle DB, saya ragu Anda akan kehilangan data. Jika terjadi kegagalan, DBMS dibuat untuk mencegah kehilangan data dan masalah lainnya. Dalam kasus Anda untuk cluster, saya akan mengaktifkan Advanced ECC karena kinerja harus diabaikan, tetapi Anda dapat mengujinya di bawah beban jika Anda memiliki masalah.
Matthew Reid

Terima kasih banyak atas jawabannya. Maaf, tapi saya masih belum jelas tentang satu hal. Apa yang bisa "Advanced ECC" melindungi saya dari ECC on-dimm yang tidak bisa? Jika kita menggunakan dbms, maka tidak masuk akal untuk beralih bios ke "mode yang dioptimalkan" untuk mendapatkan manfaat kinerja konfigurasi memori triple-channel dan akan dilindungi oleh on-dimm ECC dan validasi Oracle sendiri?
Mxx

@ XXX Saya kira itu tidak dijamin juga. Namun, dengan opsi Advanced ECC Aktif, Anda akan dapat pulih dari lebih banyak kesalahan tanpa intervensi (probabilitas keseluruhan lebih rendah dari kesalahan bit) dan kinerja hit harus rendah. Tentunya lebih rendah upaya untuk mengoreksi pada DBMS. Sementara DBMS mungkin dapat menyimpan data Anda, pengalaman pengguna akhir masih dapat disajikan dalam kerusakan perangkat lunak dan / atau kembalinya operasi yang berpotensi besar. Saya kira dengan memonitor jika chip gagal dan frekuensi kesalahan tumbuh, Advanced ECC bisa memberi Anda waktu untuk mengganti DIMM dengan bersih.
Matthew Reid
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.