Czy powinienem używać bios „Advanced ECC” w Dell PowerEdge R710 Bios z modułami ECC DIMM?

15

Mam Dell PowerEdge R710 z dwoma procesorami Intel Xeon E5503. Ma 96 GB (12 x 8 GB) modułów ECC DIMM. W systemie BIOS pamięć jest skonfigurowana na „Advanced ECC”.

Moje pytanie brzmi: czy moje moduły DIMM są już w trybie ECC, czy sensowne jest włączenie tego trybu „Zaawansowanego ECC” w systemie BIOS, czy powinienem przejść na „Zoptymalizowany”?

Dell opisuje te tryby jako takie:

Zaawansowany tryb ECC Ten tryb wykorzystuje dwa MCH i „wiąże” je razem w celu emulacji 128-bitowej magistrali danych DIMM. Służy to przede wszystkim do osiągnięcia korekcji danych pojedynczego urządzenia (SDDC) dla modułów DIMM opartych na technologii x8 DRAM. SDDC jest obsługiwany przez moduły DIMM oparte na x4 w każdym trybie pamięci. Jeden MCH jest całkowicie niewykorzystany, a każda pamięć zainstalowana w tym kanale wygeneruje komunikat ostrzegawczy podczas testu POST.

Tryb optymalizacji pamięci W tym trybie MCH działają niezależnie od siebie; na przykład jeden może być bezczynny, jeden może wykonywać operację zapisu, a drugi może przygotowywać się do operacji odczytu. Pamięć może być zainstalowana w jednym, dwóch lub trzech kanałach. Aby w pełni wykorzystać zalety trybu optymalizacji pamięci, wszystkie trzy kanały na procesor powinny być wypełnione. Oznacza to, że niektóre „nietypowe” konfiguracje pamięci, takie jak 3 GB, 6 GB lub 12 GB, zapewniają najlepszą wydajność. Jest to tryb zalecany, chyba że potrzebne są określone funkcje RAS.

Podręcznik użytkownika sprzętu Dell PowerEdge R710 Systems (PDF)

Mxx
źródło

Odpowiedzi:

24

To robi różnicę, ma sens tylko wtedy, gdy potrzebujesz funkcji RAS (niezawodności, dostępności i obsługi) na urządzeniach x4 lub x8 i rozumiesz kompromisy dla twoich potrzeb. Więcej szczegółów można wyjaśnić w białej księdze Dell Dell ™ PowerEdge ™ Servers 2009 - Pamięć .

Również konfiguracja i układ ze szczegółami specyficznymi dla R710 są dostępne w Przewodniku technicznym dla PowerEdge R710 - (Google, ponieważ nie mam reputacji łącza).

Ważną kwestią, na którą należy zwrócić uwagę, jest różnica między ECC na chipie a „Advanced ECC” zapewnianym przez BIOS firmy Dell do korekcji danych pojedynczego urządzenia (SDDC). Będziesz miał wpływ na wydajność obu. ECC zregeneruje się po błędach podczas zapisu do układu. Jednak SDDC idzie o krok dalej i zorganizuje bity, aby cały układ mógł ulec awarii i nadal był możliwy do odzyskania. Zobacz przykład i szczegóły Chipset SDDC E7500

Problem polega na tym, czy wydajność i / lub niezawodność mają największe znaczenie w konkretnym użytkowaniu urządzenia. Jeśli awaria układu spowoduje utratę krytycznych danych lub użycie na tym komputerze, a jego implementacja nie będzie zbędna, Advanced ECC może być świetną drogą. Robisz to jednak z wpływem na wydajność, który może być dla Ciebie ważniejszy.

Zaimplementowałem oba w terenie na serwerach Dell PowerEdge dla pojedynczych implementacji Microsoft SQL Server. Jeśli mogę pomóc, po prostu skomentuj, aby dać mi znać.

Mam nadzieję, że to pomaga.

EDYCJA: Luka pokrycia / wdrożenia ECC

Tak, istnieje luka w zasięgu, nawet jeśli zastosujesz oba. Ponieważ szczególnie korzystasz z klastra serwerów wysokiej dostępności, IMHO powinieneś użyć Advanced ECC. Twój wpływ na wydajność jest minimalny w porównaniu z korzyściami dla urządzeń klastrowych. Według Crucial wydajność pamięci ECC spadła tylko o 2% .

Luka byłaby bardziej specyficzna dla rodzajów występujących błędów i sposobu ich obsługi. W Twojej konkretnej sytuacji nie powinno to przekładać się na utratę danych. Ponieważ jest to Enterprise DBMS, a błędy, problemy z współbieżnością itp. Są zarządzane na poziomie oprogramowania, aby zapobiec utracie danych. Przechowywana jest szczegółowa historia zmian w prawidłowo skonfigurowanym DBMS, a oprogramowanie, które z niego korzysta, zazwyczaj może skonfigurować „wycofanie” transakcji w przypadku poważnego błędu.

Wdrożenia ECC

ECC podejmie próbę poprawienia błędów bitowych w odczycie / zapisie w pamięci. Jeśli jednak błąd jest bardziej znaczący, nawet ECC nie będzie w stanie go przywrócić, powodując potencjalną utratę danych. Więcej informacji na temat ECC znajduje się również na ServerFault / Co to jest ram ECC i dlaczego jest lepszy?

Według Wikipedii na ECC_Memory

Pamięć ECC utrzymuje system pamięci skutecznie wolny od błędów jednobitowych ...

SDDC

Jeśli odwołujesz się do dokumentu z chipsetem E7500 powyżej (zauważ, że 55xx / 56xx od Intela wymaga logowania / partnerstwa, ale pomysł jest podobny, dlatego pierwotnie nie łączyłem ), który opisuje SDDC i jak to możliwe. Zasadniczo wykorzystuje technikę organizowania słów zapisanych w pamięci, która zapewnia, że ​​wszystkie są zapisywane w taki sposób, że każde słowo zawiera tylko błąd jednego bitu, tzn. Słowo powinno być możliwe do odzyskania po błędzie pojedynczego bitu (jak wyżej). Teraz jest to na słowo, więc potencjalnie może odzyskać do 4-bitowych błędów na urządzeniach x4 (1 na słowo) i do 8-bitowych błędów na urządzeniach x8 (wciąż 1 na słowo) poprzez korekcję błędów każdego słowa.

Dodatkowe błędy, więcej błędów bitów, całkowita awaria pamięci, awaria kanału, awaria magistrali itp. Nadal mogą powodować straszne problemy, ale właśnie dlatego masz klaster i Enterprise DBMS.

Krótko mówiąc, jeśli masz wszystko włączone i jest zbyt wiele błędów bitowych, aby algorytmy korekcji błędów mogły zostać poprawione, nadal będziesz mieć błąd, tj. Lukę pokrycia błędu. Mogą być jednak wyjątkowo rzadkie.

Matthew Reid
źródło
Mówiąc dokładniej, jest to zestaw 3 identycznych R710 z uruchomionym klastrem Oracle DB. Zatem dostępność pojedynczej maszyny nie jest najważniejsza. Jednak uszkodzenie danych jest niepokojące. Widziałem przewodnik techniczny R710. Nie miał wiele dodatkowych informacji o pamięci. Więc z ECM-on-dimm wykrywa / koryguje błędy w układach dimm? Jednak Advanced ECC wykryje / poprawi błędy dla całego dimm? Jeśli tak jest, czy istnieje różnica w zasięgu między tymi 2 metodami?
Mxx
@Mxx Zaktualizowałem swoją odpowiedź, aby spróbować wyjaśnić. IMHO, ponieważ prowadzisz klaster Oracle DB, wątpię, abyś stracił dane. W rzadkich przypadkach awarii DBMS jest zbudowany, aby zapobiec utracie danych i innym problemom. W twoim przypadku dla klastra, chciałbym włączyć Advanced ECC, ponieważ wydajność powinna być znikoma, ale możesz przetestować go pod obciążeniem, jeśli masz wątpliwości.
Matthew Reid
Dziękuję bardzo za odpowiedź. Przepraszam, ale nadal nie mam jasności co do jednej rzeczy. Co może „Advanced ECC” uchronić mnie przed tym ECM-em? Jeśli używamy dbms, to czy nie ma sensu przełączać bios na „tryb zoptymalizowany”, aby uzyskać korzyści z wydajności konfiguracji pamięci trzykanałowej i będzie chroniony przez ECC on-dimm i własną weryfikację Oracle?
Mxx
@Mxx Wydaje mi się, że nie jest to dokładnie gwarantowane. Jednak z opcją Advanced ECC On będziesz w stanie odzyskać więcej błędów bez interwencji (niższe ogólne prawdopodobieństwo odrobiny błędu), a wydajność powinna być niska. Z pewnością jest to mniejsza próba poprawienia w DBMS. Podczas gdy DBMS może być w stanie zapisać twoje dane, wrażenia użytkownika końcowego mogą być nadal przedstawiane w przypadku awarii oprogramowania i / lub wycofania potencjalnie dużej operacji. Podejrzewam, że dzięki monitorowaniu, czy układ nie działa, a częstotliwość błędów rośnie, Advanced ECC może dać ci czas na czystą wymianę DIMM.
Matthew Reid