KINGSTON.COM Najlepsze rozwiązania Serwery: testy wydajności Kanały pamięci, częstotliwość i wydajność Większość ludzi nie zdaje sobie sprawy z faktu, jak współczesny świat jest zależny od wielu różnych typów baz danych, które mają jednak jedną wspólną cechę potrzebę wysoko wydajnej pamięci umożliwiającej szybkie i niezawodne dostarczanie danych. Od pobudki na dźwięk dzwonka telefonu (połączenie przetworzone przez bazę danych klientów sieci komórkowej), przez cotygodniową elektroniczną płatność na zakupy (przetworzoną przez bazę danych transakcji instytucji finansowych), po wieczorne oglądanie filmu, który wybieramy na podstawie wskazówek z bazy danych opartych na naszych przyzwyczajeniach. Bazy danych obsługują wiele naszych codziennych czynności, przez co wymagają nieprzerwanego szybkiego działania oraz dynamicznego skalowania, które jest niezbędne, aby zaspokajać potrzeby klientów. Dostarczanie danych ze stałą wydajnością i gwarancją integralności transakcji nie jest proste i często wymaga użycia wewnątrzpamięciowych baz danych, które dostarczają rekomendacje filmowe i dane relacyjne praktycznie natychmiast dużej liczbie użytkowników. Do działania wewnątrzpamięciowych baz danych (In-Memory Database, IMDB) potrzebne są przede wszystkim moduły pamięci DRAM (Dynamic Random Access Memory) o wysokiej wydajności i dużej pojemności. Mogą one obsługiwać duże wolumeny żądań nawet do x razy szybciej niż tradycyjne dyskowe bazy danych, mogą stanowić podstawę każdego scenariusza, w którym wymagane są błyskawiczne odpowiedzi na zapytania dotyczące danych, a także można ich używać jako uzupełnienia aplikacji do obsługi wielkich ilości danych. Moduły DIMM (Dual In-line Memory Module) wykonane w technologii DDR3 SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory) są dostępne w wersjach o różnych pojemnościach i szybkościach. Szybkość modułu pamięci często jest nazywana częstotliwością pamięci, a jako jednostka miary jest używany 1 megaherc (MHz). Częstotliwość pamięci ma bezpośrednie przełożenie na wydajność pamięci wraz ze wzrostem częstotliwości pamięci następuje wzrost wydajności pamięci. Jednak moduł DRAM stanowi tylko jeden z elementów układanki prowadzącej do uzyskania optymalnej wydajności podsystemu pamięci. Do zarządzania podsystemem pamięci potrzebny jest kontroler pamięci. Różne reguły wypełniania gniazd modułami mają wpływ na działanie kontrolera, co z kolei ma wpływ na częstotliwość/szybkość oraz opóźnienia w adresowaniu modułów pamięci. Kontrolery pamięci nowszej generacji są osadzane w procesorach, co ma na celu
uzyskanie najwyższej wydajności, ale trzeba przy tym uważać, ponieważ niektóre kontrolery pamięci mogą zarządzać podsystemem pamięci działającym z maksymalną przepustowością pamięci równą 800MHz. Używając platformy Intel Romley, która zawiera 24 gniazda DIMM (Dual Inline Memory Module) połączone z podsystemem pamięci procesorów z rodziny Intel Xeon E5, możemy mierzyć stałe przepustowości pamięci w różnych konfiguracjach pamięci (różne opcje wypełnienia kanałów modułami oraz różne szybkości zegara pamięci). Używamy w tym celu zintegrowanego testu wydajności pamięci STREAM programu SiSoft Sandra 2012. Rodzina procesorów Intel Xeon E5 oferuje wiele udoskonaleń w zakresie wydajności w porównaniu z poprzednią generacją procesorów serwerowych Xeon 5500 i Xeon 5600. Szczególnie ważne w kontekście tego opracowania udoskonalenia to czterokanałowe adresowanie pamięci oraz obsługa pamięci DDR3 (Double Data Rate) o szybkości 1600MHz przy użyciu szybszej mikroarchitektury QuickPath Interconnect (QPI) o przepustowości 8GT/s (gigatransferów na sekundę), która zwiększa dostępne pasmo łączności z tablicą pamięci i dzięki temu zmniejsza opóźnienia. Wydajność w zależności od wypełnienia kanałów Ilustracja 1. Wydajność w zależności od wypełnienia kanałów mierzona za pomocą programu SiSoft Sandra 2012. procesorami Xeon E5-2665 o szybkości 2,40GHz oraz 64GB pamięci (2 x KVR16R11D4K4/32 o szybkości 1600MHz). Wyłączono funkcje wielowątkowości procesora oraz oszczędzania energii.
Jak widać na Ilustracji 1, wydajność podsystemu pamięci rośnie niemal liniowo od najwolniejszej konfiguracji jeden kanał pamięci obsługiwany przez kontroler pamięci dowolnego z dwóch procesorów Xeon i wypełniony jednym modułem pamięci DDR3 1600 MHz o pojemności 8GB do najszybszej, w której jest używany czterokanałowy (nazywany też 1 moduł DIMM na kanał [DPC]) podsystem pamięci wypełniony czterema modułami pamięci o pojemności 8GB i szybkości 1600MHz, gdzie każdy moduł znajduje się w gnieździe pamięci należącym do pierwszego dostępnego banku pamięci każdego z procesorów. Mimo zwiększonego obciążenia elektrycznego w konfiguracji czterokanałowej (1 DPC), zaobserwowano prawie czterokrotny wzrost wydajności podsystemu pamięci (do ok. 70GB/s) w porównaniu do konfiguracji jednokanałowej, co oznacza, że konfiguracja czterokanałowa stanowi idealne rozwiązanie dla systemów wymagających wysokiej wydajności do obsługi aplikacji, które intensywnie korzystają z danych, takich jak bazy danych IMDB. Wydajność w zależności od częstotliwości pamięci Ilustracja 2. Wydajność w zależności od częstotliwości pamięci mierzona za pomocą programu SiSoft Sandra 2012. procesorami Xeon E5-2665 o szybkości 2,40GHz oraz 192GB pamięci (2 x KVR16R11D4K4/32). Wyłączono funkcje wielowątkowości procesora oraz oszczędzania energii.
Na Ilustracji 2 pokazano wyniki użycia ośmiu modułów DDR3 o pojemności 8GB działających z czterema różnymi szybkościami (MHz). Moduły były rozmieszczone symetrycznie w podsystemach pamięci obu procesorów z rodziny Intel Xeon E5, co miało zapewnić zrównoważoną konfigurację i pokazać najwyższą wydajność przy każdej szybkości pamięci. Moduły pamięci działające z szybkością 800MHz mają najniższą wydajność (ok. 40GB/s) w zakresie szybkości stałego transferu zmierzoną za pomocą zintegrowanego testu wydajności pamięci STREAM programu SiSoft Sandra 2012. Wraz ze wzrostem częstotliwości widać niemal liniowy wzrost wydajności pamięci, aż do wartości maksymalnej (ok. 70GB/s) przy szybkości 1600MHz, co oznacza, że ta szybkość jest idealna w przypadku scenariuszy, w których do efektywnego działania jest wymagane zapisywanie danych w pamięci z najwyższą możliwą wydajnością. Wpływ na wydajność pamięci: pojemność kontra częstotliwość Ilustracja 3. Wpływ pojemności oraz częstotliwości pamięci na wydajność mierzony za pomocą programu SiSoft Sandra 2012. procesorami Xeon E5-2665 o szybkości 2,40GHz oraz 192GB pamięci (KVR16R11D4K4/32). Wyłączono funkcje wielowątkowości procesora oraz oszczędzania energii. W celu podsumowania naszych badań wydajności pamięci porównaliśmy (Ilustracja 3) wydajność podsystemu pamięci wypełnionego 192GB pamięci działającej z szybkością 1066MHz z konfiguracją obejmującą 128GB i 64GB pamięci działającej z szybkością 1600MHz.
Konfiguracje pamięci działające z szybkością 1600MHz obejmowały 128GB (16 x 8GB) lub 64GB (8 x 8GB) pamięci w modułach rozłożonych symetrycznie w obu podsystemach pamięci i oferowały mniej więcej taką samą wydajność (ok. 70GB/s) stałego transferu. Większa konfiguracja zawierająca 192GB pamięci (24 x 8GB) działającej z niższą szybkością (1066MHz) wykazała znaczący spadek wydajności (ok. 17GB/s) stałego transferu, co wskazuje na przewagę zwiększania szybkości pamięci nad zwiększaniem pojemności pamięci. Wniosek Przestrzeganie specyficznych dla procesora serwerowego oraz kontrolera pamięci reguł wypełniania kanałów pozwoliło nam z łatwością uzyskać równowagę w optymalizacji pamięci pod kątem najwyższej wydajności. W tym celu wystarczyło wykonać proste czynności, takie jak wypełnienie wszystkich czterech kanałów pamięci, co spowodowało wzrost wydajności pamięci (do czterech razy) oraz zwiększenie wartości zwrotu z inwestycji (Return On Investment, ROI) przy jednoczesnym zmniejszeniu łącznego kosztu posiadania (Total Cost of Ownership, TCO) w całym okresie eksploatacji serwera. Źródła informacji [1] Przewidywanie preferencji użytkowników w zakresie wyboru filmów przy użyciu bazy danych NetFlix, Wydział Inżynierii Elektrycznej i Komputerowej, Uniwersytet Carnegie Mellon http://users.ece.cmu.edu/~dbatra/publications/assets/goel_batra_netflix.pdf [2] SiSoft Sandra Pytania i odpowiedzi Test wydajności pamięci, SiSoftware http://www.sisoftware.co.uk/?d=qa&f=ben_mem&l=en&a= [3] Arkusz danych rodziny procesorów Intel Xeon E5-2600, Intel http://download.intel.com/newsroom/kits/xeon/e5/pdfs/intel_xeon_e5_factsheet.pdf 2013 Kingston Technology Europe Ltd i Digital Europe Ltd, Kingston Court, Brooklands Close, Sunbury-on-Thames, Middlesex, TW16 7EP, England. Tel: +44 (0) 1932 738888 Faks: +44 (0) 1932 785469 Wszelkie prawa zastrzeżone. Wszelkie znaki towarowe i zastrzeżone znaki towarowe są własnością odpowiednich właścicieli. MKF-549