ECC DIMMを搭載したDell PowerEdge R710 BiosでBIOS「Advanced ECC」を使用する必要がありますか?


14

デュアルIntel Xeon E5503 CPUを搭載したDell PowerEdge R710があります。96GB(12x8GB)のECC DIMMを搭載しています。BIOSでは、メモリは「アドバンストECC」用に構成されています。

私の質問は、DIMMが既にECCである場合、BIOSでこの「アドバンストECC」モードを有効にするのは理にかなっていますか、または「最適化」に切り替える必要がありますか?

デルでは、これらのモードについて次のように説明しています。

アドバンストECCモード このモードでは、2つのMCHを使用し、それらを「結び付け」て128ビットのデータバスDIMMをエミュレートします。これは主に、x8 DRAMテクノロジーに基づくDIMMのシングルデバイスデータ修正(SDDC)を実現するために使用されます。SDDCは、すべてのメモリモードのx4ベースのDIMMでサポートされています。1つのMCHは完全に使用されておらず、このチャネルにインストールされているメモリはPOST中に警告メッセージを生成します。

メモリ最適化モードこのモードでは、MCHは互いに独立して実行されます。たとえば、1つはアイドル状態、1つは書き込み操作を実行中、もう1つは読み取り操作の準備中です。メモリは、1つ、2つ、または3つのチャネルに取り付けることができます。メモリ最適化モードのパフォーマンス上の利点を完全に実現するには、CPUごとに3つのチャネルすべてを実装する必要があります。これは、3GB、6GB、または12GBなどの一部の「非定型」メモリ構成で最高のパフォーマンスが得られることを意味します。特定のRAS機能が必要でない限り、これは推奨モードです。

Dell PowerEdge R710システムハードウェアオーナーズマニュアル(PDF)

回答:


23

x4またはx8デバイスでRAS(信頼性、可用性、およびサービス)機能が必要であり、ニーズのトレードオフを理解している場合にのみ意味があります。詳細については、デルのホワイトペーパー「Dell™PowerEdge™Servers 2009-メモリ」で説明しています

また、R710に固有の詳細な構成とレイアウトは、PowerEdge R710のテクニカルガイドブックで入手できます(リンクについて評判がないため、これはGoogleです)。

注意すべき重要な問題は、チップ上のECCとシングルデバイスデータ修正(SDDC)用にDellのBIOSが提供する「アドバンストECC」の違いです。両方にパフォーマンスの影響があります。ECCは、チップへの書き込み中にエラーから回復します。ただし、SDDCはさらに一歩進んで、ビットを整理し、チップ全体が故障しても回復できるようにします。SDDC E7500チップセットの例を参照してください

問題は、マシンの特定の使用において、パフォーマンスや信頼性が最大の懸念事項であるかどうかです。チップの故障によりこのマシンで重要なデータまたは使用が失われ、実装で非冗長である場合、アドバンストECCは最適な方法です。ただし、パフォーマンスへの影響が大きい場合は、より重要になる可能性があります。

単一のMicrosoft SQL Serverを実装するために、Dell PowerEdgeサーバーの両方のフィールドに実装しました。さらにサポートが必要な場合は、コメントしてお知らせください。

お役に立てば幸いです。

編集:カバレッジギャップ/ ECC実装

はい、両方を実装してもカバレッジギャップがあります。特に、高可用性サーバーのクラスターを使用しているため、IMHOではアドバンストECCを使用する必要があります。クラスター化されたデバイスの利点と比較して、パフォーマンスへの影響は最小限です。Crucialによると、一般的にECCメモリのパフォーマンス2%しか低下しません。

ギャップは、発生するエラーのタイプと、それぞれがエラーを処理する方法により固有です。あなたの特定の状況では、それはデータ損失に変換されるべきではありません。これはエンタープライズDBMSであるため、データの損失を防ぐために、ソフトウェアレベルでエラー、同時実行の問題などが管理されます。適切に構成されたDBMSの変更の詳細な履歴が保持され、それを使用するソフトウェアは通常、重大なエラーが発生した場合にトランザクションを「ロールバック」するようにセットアップできます。

ECCの実装

ECCは、メモリの読み取り/書き込みのビットエラーを修正しようとします。ただし、エラーがより重大な場合、ECCでさえ回復できず、データが失われる可能性があります。ECCのより多くの議論がで同様にありServerFaultの/何のECCラムは、なぜそれが良いですか?

ECC_Memoryのウィキペディアによると

ECCメモリは、シングルビットエラーのないメモリシステムを効果的に維持します...

SDDC

上記のE7500チップセットドキュメントを参照する場合(Intelの55xx / 56xxにはログイン/パートナーシップが必要ですが、アイデアは似ているため、元々リンクしていませんでした)、SDDCとその方法について説明しています。基本的に、メモリに書き込まれた単語を整理する手法を使用して、すべての単語が単一ビットエラーのみを含むようにすべてが書き込まれることを保証します。つまり、単語は単一ビットエラーから回復可能です(上記)。 これはワード単位であるため、各ワードをエラー修正することにより、x4デバイスでは最大4ビットエラー(ワードごとに1)、x8デバイスでは最大8ビットエラー(ワードごとに1)から回復できる可能性があります。

追加のエラー、より多くのビットエラー、合計メモリ障害、チャネル障害、バス障害などはすべて依然として恐ろしい問題を引き起こす可能性がありますが、それがクラスターとエンタープライズDBMSを持っている理由です。

要するに、すべてを有効にしていて、エラー修正アルゴリズムで修正するにはビットエラーが多すぎる場合、エラー、つまりエラーカバレッジギャップが残っています。ただし、これらは非常にまれです。


具体的には、これはOracle DBクラスターを実行する3つの同一のR710のセットです。そのため、1台のマシンの可用性はそれほど重要ではありません。ただし、データの破損は厄介です。R710テクニカルガイドブックを見ました。メモリに関する追加情報はあまりありませんでした。オンディムECCでは、ディムのチップ内のエラーを検出/修正しますか?ただし、アドバンストECCは調光全体のエラーを検出/修正しますか?その場合、これら2つの方法の間にカバレッジのギャップはありますか?
Mxx

@Mxx説明を試みるために回答を更新しました。私見では、Oracle DBクラスターを実行しているので、データが失われることは疑わしいです。まれに障害が発生した場合、DBMSはデータの損失やその他の問題を防ぐために構築されます。クラスターの場合、パフォーマンスは無視できるはずなので、アドバンストECCを有効にしますが、懸念がある場合は負荷の下でテストできます。
マシューリード

答えてくれてありがとう。申し訳ありませんが、1つのことについてはまだ明確ではありません。「アドバンストECC」は、暗闇のECCではできないことから私を保護できたのは何ですか?dbmsを使用している場合、トリプルチャネルメモリ構成のパフォーマンス上の利点を得るためにBIOSを「最適化モード」に切り替えて、オンディムECCとOracle独自の検証によって保護されますか?
Mxx

@Mxx私はそれがどちらの方法でも正確に保証されているとは思わない。ただし、アドバンストECCオプションをオンにすると、介入なしでより多くのエラーから回復でき(ビットエラーの全体的な確率が低くなります)、パフォーマンスヒットは低くなります。確かに、DBMSで修正しようとする試みは少なくなります。DBMSはデータを保存することができますが、ソフトウェアのクラッシュや、潜在的に大規模な操作のロールバックでは、エンドユーザーエクスペリエンスが引き続き表示される場合があります。チップに障害が発生してエラーの頻度が増加するかどうかを監視すると、アドバンストECCはDIMMをきれいに交換する時間を与えてくれると思います。
マシューリード
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.