Udostępnij przez


Dostrajanie zarządzania energią procesora (PPM) dla planu zasilania z równoważeniem obciążenia systemu Windows Server

Począwszy od systemu Windows Server 2008, system Windows Server udostępnia trzy plany zasilania: zrównoważone, wysokiej wydajności i oszczędzania energii. Plan zrównoważonej mocy jest domyślnym wyborem, który ma na celu zapewnienie najlepszej wydajności energetycznej dla zestawu typowych obciążeń serwera. W tym temacie opisano obciążenia, które zostały użyte do określenia domyślnych ustawień schematu zrównoważonego dla poprzednich kilku wersji systemu Windows.

Jeśli uruchamiasz system serwera, który ma znacznie różne charakterystyki obciążenia lub wymagania dotyczące wydajności i zasilania niż te obciążenia, warto rozważyć dostrojenie domyślnych ustawień zasilania (czyli utworzyć niestandardowy plan zasilania). Jednym ze źródeł przydatnych informacji o dostrajaniu są zagadnienia dotyczące zasilania sprzętowego serwera. Alternatywnie możesz zdecydować, że plan zasilania o wysokiej wydajności jest właściwym wyborem dla danego środowiska, uznając, że prawdopodobnie wiąże się to ze znacznym zwiększeniem zużycia energii w zamian za pewien poziom większej responsywności.

Important

Należy korzystać z zasad zasilania dołączonych do systemu Windows Server, chyba że masz określoną potrzebę utworzenia niestandardowej zasady i masz bardzo dobre zrozumienie, że wyniki będą się różnić w zależności od charakterystyki obciążenia.

Metodologia dostrajania mocy procesora systemu Windows

Przetestowane obciążenia

Obciążenia są wybierane w celu pokrycia zbioru „typowych” obciążeń systemu Windows Server w ramach najlepszych możliwych starań. Oczywiście ten zestaw nie ma być reprezentatywny dla całego zakresu rzeczywistych środowisk serwerowych.

Dostrajanie każdej polityki zasilania jest napędzane danymi przez następujące pięć zadań, począwszy od systemu Windows Server 2008.

  • Obciążenie serwera sieci Web usług IIS

    Wewnętrzny test porównawczy firmy Microsoft o nazwie Web Fundamentals służy do optymalizacji wydajności energetycznej platform z uruchomionym serwerem sieci Web usług IIS. Konfiguracja zawiera serwer internetowy i wielu klientów, którzy symulują ruch dostępu do internetu. Rozkład dynamicznych, statycznych gorących stron internetowych (w pamięci) i statycznych zimnych (wymagany dostęp do dysku) jest oparty na badaniach statystycznych serwerów produkcyjnych. Aby zwiększyć rdzenie procesora serwera do maksymalnego wykorzystania (najwyższy punkt testowanego zakresu), konfiguracja wymaga wystarczająco szybkiej sieci i dostępu do dysku.

  • Obciążenie bazy danych programu SQL Server

    Test porównawczy TPC-E to popularny test porównawczy analizy wydajności bazy danych. Służy do generowania obciążenia OLTP na potrzeby optymalizacji dostrajania PPM. To obciążenie ma intensywne operacje we/wy dysku, dlatego wymaga wysokiej wydajności systemu przechowywania oraz dużego rozmiaru pamięci.

  • Obciążenie serwera plików

    Opracowany przez firmę Microsoft test porównawczy o nazwie FSCT służy do generowania obciążenia serwera plików SMB. Tworzy duży zestaw plików na serwerze i używa wielu systemów klienckich (rzeczywistych lub zwirtualizowanych) do generowania operacji otwierania, zamykania, odczytu i zapisu pliku. Mieszanka operacji jest oparta na badaniach statystycznych serwerów produkcyjnych. Obciąża zasoby procesora, dysku i sieci.

  • SPECpower – obciążenie JAVA

    SPECpower_ssj2008 jest pierwszym branżowym testem porównawczym SPEC, który wspólnie ocenia charakterystykę mocy i wydajności. Jest to obciążenie java po stronie serwera z różnym poziomem obciążenia procesora CPU. Nie wymaga wielu zasobów dyskowych ani sieciowych, ale ma pewne wymagania dotyczące przepustowości pamięci. Prawie wszystkie działania procesora CPU są wykonywane w trybie użytkownika; Działanie trybu jądra nie ma dużego wpływu na charakterystykę mocy i wydajności testów porównawczych, z wyjątkiem decyzji dotyczących zarządzania energią.

  • Obciążenie serwera aplikacji

    Test porównawczy SAP-SD służy do generowania obciążenia serwera aplikacji. Używana jest konfiguracja dwuwarstwowa z bazą danych i serwerem aplikacji na tym samym hoście serwera. To obciążenie wykorzystuje również czas odpowiedzi jako metrykę wydajności, która różni się od innych przetestowanych obciążeń. W związku z tym służy do weryfikowania wpływu parametrów PPM na czas odpowiedzi. Niemniej jednak nie jest to reprezentatywne dla wszystkich obciążeń produkcyjnych wrażliwych na opóźnienia.

Wszystkie testy porównawcze z wyjątkiem SPECpower zostały pierwotnie zaprojektowane do analizy wydajności i dlatego zostały utworzone do uruchamiania na szczytowych poziomach obciążenia. Jednak średnie i lekkie poziomy obciążenia są bardziej typowe dla rzeczywistych serwerów produkcyjnych i są bardziej interesujące w przypadku optymalizacji planu zrównoważonego . Celowo przeprowadzamy testy porównawcze na różnych poziomach obciążenia od 100% do 10% (w 10% krokach) przy użyciu różnych metod ograniczania (na przykład przez zmniejszenie liczby aktywnych użytkowników/klientów).

Powyższe obciążenia używają przepływności jako metryki wydajności do dostrajania. Podczas stałego stanu przepustowość nie zmienia się przy różnych poziomach użycia, dopóki system nie zostanie przeciążony (ok. 100% wykorzystania). W rezultacie plan zrównoważonej energii znacznie preferuje oszczędność energii poprzez zmniejszenie częstotliwości procesora i maksymalizację jego wykorzystania. Począwszy od systemu Windows Server 2016, znacznie zwiększyło się wymaganie szybkiego czasu odpowiedzi. Mimo że firma Microsoft zasugerowała użytkownikom przejście do planu zasilania o wysokiej wydajności, gdy potrzebują szybkiego czasu odpowiedzi, niektórzy użytkownicy nie chcą tracić korzyści z zasilania podczas lekkich i średnich poziomów obciążenia. W związku z tym dostrajanie funkcji Windows Server PPM obejmuje również obciążenia wrażliwe na czas odpowiedzi na potrzeby dostrajania.

  • GeekBench

    GeekBench to wieloplatformowy test porównawczy procesora, który oddziela wyniki dla wydajności pojedynczego rdzenia i wielu rdzeni. Symuluje zestaw obciążeń, w tym obciążenia całkowite (szyfrowanie, kompresje, przetwarzanie obrazów itp.), obciążenia zmiennoprzecinkowe (modelowanie, szczelinowanie, wyostrzanie obrazów, rozmycie obrazów itp.) i obciążenia pamięci (przesyłanie strumieniowe).

    Czas odpowiedzi jest główną miarą w obliczeniu wyniku. W naszym przetestowanym systemie domyślny plan zasilania z równoważeniem systemu Windows Server 2008 ma około 18% regresji w testach jednordzeniowych i ok. 40% regresji w testach wielordzeniowych w porównaniu z planem zasilania o wysokiej wydajności . System Windows Server 2016 usuwa te regresje.

  • DiskSpd

    Diskspd to narzędzie wiersza polecenia do przeprowadzania testów wydajności pamięci masowej, opracowane przez firmę Microsoft. Jest ona powszechnie używana do generowania różnych żądań względem systemów magazynowania na potrzeby analizy wydajności magazynu.

    Skonfigurowaliśmy klaster awaryjny [Failover Cluster] i użyliśmy narzędzia Diskspd do generowania losowych i sekwencyjnych operacji we/wy, obejmujących odczyt i zapis, w lokalnych i zdalnych systemach magazynowania o różnych rozmiarach operacji we/wy. Nasze testy pokazują, że czas odpowiedzi I/O jest wrażliwy na częstotliwość procesora przy różnych planach zasilania. Domyślny plan zasilania systemu Windows Server 2008 Zrównoważony może podwoić czas odpowiedzi z planu zasilania o wysokiej wydajności w ramach niektórych obciążeń. Windows Server 2016 plan zrównoważonego zasilania usuwa większość regresji.

Important

Począwszy od procesorów Intel [Broadwell] z systemem Windows Server 2016, większość decyzji dotyczących zarządzania energią procesora są podejmowane w procesorze zamiast na poziomie systemu operacyjnego, aby uzyskać szybsze dostosowanie do zmian obciążenia. Starsze parametry PPM używane przez system operacyjny mają minimalny wpływ na rzeczywiste decyzje dotyczące częstotliwości, z wyjątkiem informowania procesora, czy powinien sprzyjać oszczędzaniu energii lub wydajności oraz ograniczać minimalne i maksymalne częstotliwości. W związku z tym wyniki dostrajania PPM wymienione tutaj można zaobserwować wyłącznie na systemach pre-Broadwell.

Konfiguracje sprzętu

W przypadku każdej wersji systemu Windows większość bieżących serwerów produkcyjnych jest używana w procesie analizy i optymalizacji planu zasilania. W niektórych przypadkach testy były wykonywane w systemach przedprodukcyjnych, których harmonogram wydania był zgodny z harmonogramem kolejnej wersji systemu Windows.

Biorąc pod uwagę, że większość serwerów jest sprzedawanych z gniazdami procesora od 1 do 4, a ponieważ serwery skalowane w górę są mniej narażone na efektywność energetyczną jako podstawowy problem, testy optymalizacji planu zasilania są uruchamiane głównie w systemach 2-gniazdowych i 4-gniazdowych. Ilość pamięci RAM, dysku i zasobów sieciowych dla każdego testu jest wybierana, aby umożliwić każdemu systemowi uruchamianie aż do pełnej pojemności, biorąc pod uwagę ograniczenia kosztów, które normalnie będą obowiązywać w rzeczywistych środowiskach serwerowych, takich jak utrzymywanie rozsądnych konfiguracji.

Important

Mimo że system może działać w szczytowym obciążeniu, zwykle optymalizujemy pod kątem niższych poziomów obciążenia, ponieważ serwery, które stale działają na ich szczytowych poziomach obciążenia, dobrze byłoby użyć planu zasilania o wysokiej wydajności , chyba że wydajność energetyczna jest wysokim priorytetem.

Metrics

Wszystkie przetestowane testy porównawcze używają przepływności jako metryki wydajności. Czas odpowiedzi jest uznawany za wymaganie UMOWY SLA dla tych obciążeń (z wyjątkiem oprogramowania SAP, gdzie jest to podstawowa metryka). Na przykład przebieg testu porównawczego jest uznawany za "prawidłowy", jeśli średni lub maksymalny czas odpowiedzi jest krótszy niż określona wartość.

W związku z tym analiza dostrajania PPM używa również przepływności jako metryki wydajności. Na najwyższym poziomie obciążenia (100% wykorzystania procesora CPU) naszym celem jest to, że przepływność nie powinna być większa niż kilka procent ze względu na optymalizacje zarządzania energią. Jednak główną kwestią jest zmaksymalizowanie wydajności zasilania (zgodnie z definicją poniżej) na średnim i niskim poziomie obciążenia.

formuła wydajności zasilania

Uruchamianie rdzeni procesora CPU o niższych częstotliwościach zmniejsza zużycie energii. Jednak niższe częstotliwości zwykle zmniejszają przepływność i zwiększają czas odpowiedzi. W przypadku planu zasilania Zrównoważony istnieje celowy kompromis między reaktywnością a efektywnością energetyczną. Testy obciążenia SAP, a także umowy o poziomie usług (SLA) dotyczące czasu odpowiedzi w innych obciążeniach, zapewniają, że wzrost czasu odpowiedzi nie przekracza określonego progu (na przykład 5%) dla tych konkretnych obciążeń.

Note

Jeśli obciążenie jest bardzo wrażliwe na czas odpowiedzi, system powinien przełączyć się na wysokiej wydajności plan zasilania lub zmienić zrównoważony plan zasilania, aby bardzo agresywnie zwiększyć częstotliwość, gdy jest uruchomiony.

Domyślne parametry planu zasilania ze zrównoważonym systemem Windows Server

Począwszy od procesorów Intel Broadwell z systemem Windows Server 2016, zarządzanie energią systemu Windows Server używa sprzętowych stanów P (HWP) firmy Intel jako domyślnych w systemach Intel. HWP to nowa możliwość współpracy sprzętu i kontroli wydajności oprogramowania. Po włączeniu HWP procesor monitoruje aktywność oraz skalowalność i wybiera częstotliwość według skali czasu sprzętowego. System operacyjny nie jest już wymagany do monitorowania aktywności i wybierania częstotliwości w regularnych odstępach czasu. Przełączanie do HWP ma kilka korzyści, takich jak szybka odpowiedź, lepsza wiedza na temat wydajności zasilania sprzętowego procesorów i innych składników w ramach protokołu TDP.

W przypadku systemu HWP system Windows nadal ma możliwość ustawienia minimalnych i maksymalnych stanów procesora w celu zapewnienia ograniczeń. Można również użyć parametru Preferencja wydajności energii (EPP) w celu ustawienia równowagi między mocą a wydajnością. Niższa wartość sprzyja wydajności, a wyższa wartość faworyzuje moc. Wartość domyślna 50, która ma równoważyć moc i wydajność.

Parameter Windows Server 2012R2 i przed Windows Server 2016 i po
Włączono HWP N/A Intel Broadwell+
Preferencje dotyczące wydajności energetycznej N/A 50

W przypadku systemów intel pre-Broadwell lub systemów, które nie obsługują HWP (na przykład serwerów AMD), system Windows jest nadal w pełnej kontroli i określa częstotliwość procesora na podstawie parametrów PPM. Domyślne parametry PPM w systemie Windows Server 2012R2 zbyt mocno preferują oszczędzanie energii, co może znacząco wpłynąć na wydajność obciążeń, zwłaszcza w przypadku nagłych skoków obciążenia. Cztery parametry PPM zostały zmienione w systemie Windows Server 2016 RS2, aby umożliwić szybsze zwiększanie częstotliwości wokół średniego poziomu obciążenia.

Parameter Windows Server 2016 (RS1) i wcześniejsze Windows Server 2016 (RS2) i po
Próg zwiększenia wydajności procesora 90 60
Próg zmniejszenia wydajności procesora 80 40
Czas zwiększenia wydajności procesora 3 1
Zasady zwiększania wydajności procesora Single Ideal

Algorytmy zarządzania energią oparte na użyciu procesora CPU mogą zaszkodzić opóźnieniu operacji we/wy lub obciążeń intensywnie korzystających z sieci. Procesor logiczny może być bezczynny podczas oczekiwania na ukończenie operacji we/wy lub pakietów sieciowych, co sprawia, że ogólne wykorzystanie procesora CPU jest niskie. Aby rozwiązać ten problem, system Windows Server 2019 automatycznie wykrywa okres odpowiedzi operacji we/wy i podnosi poziom częstotliwości do wyższego poziomu. Zachowanie można dostroić przy użyciu następujących parametrów niezależnie od tego, czy system używa HWP, czy nie.

Parameter Przed systemem Windows Server 2019 Windows Server 2019 i nowszy
Próg włączenia zastępowania reakcji procesora N/A 10
Zastępowanie czasu odpowiedzi procesora powoduje wyłączenie progu N/A 5
Czas włączenia przesłaniania responsywności procesora N/A 1
Czas dezaktywacji przełączania odpowiedzi procesora N/A 3
Próg preferencji wydajności energetycznej podczas nadpisywania szybkości reakcji procesora N/A 100
Nadpisanie responsywności procesora ponad minimalny poziom wydajności N/A 100

Dostosowane sugestie dotyczące dostrajania

Jeśli podstawowe cechy obciążenia różnią się znacząco od pięciu obciążeń używanych do domyślnego dostrajania ppm w zrównoważonym planie zasilania, możesz eksperymentować, zmieniając jeden lub więcej parametrów PPM, aby znaleźć najlepsze rozwiązanie dla danego środowiska.

Ze względu na liczbę i złożoność parametrów może to być trudne zadanie, ale jeśli szukasz najlepszego kompromisu między zużyciem energii a skutecznością obciążenia dla danego środowiska, może to być warte wysiłku.

Pełny zestaw regulowanych parametrów PPM można znaleźć w tematyce dostrajania zarządzania energią procesora. Niektóre z najprostszych parametrów zasilania, od których można zacząć, mogą być następujące:

W przypadku systemu z obsługą HWP:

  • Preferencja wydajności energetycznej — większe wartości faworyzują moc większą niż wydajność

W przypadku systemu innego niż HWP:

  • Próg zwiększania wydajności procesora i czas zwiększania wydajności procesora — większe wartości spowalniają reakcję wydajności na wzmożoną aktywność

  • Próg spadku wydajności procesora — duże wartości przyspieszają reakcję zasilania na okresy bezczynności

  • Czas zmniejszania wydajności procesora — większe wartości stopniowo zmniejszają wydajność w okresach bezczynności

  • Zasady zwiększania wydajności procesora — polityka „Single” spowalnia reakcję wydajności na zwiększoną i trwałą aktywność; polityka „Rocket” szybko reaguje na zwiększoną aktywność

  • Zasada spadku wydajności procesora — zasada "pojedyncza" stopniowo zmniejsza wydajność w dłuższych okresach bezczynności; zasada "Rocket" bardzo szybko zmniejsza zużycie energii podczas wprowadzania okresu bezczynności

Important

Przed rozpoczęciem eksperymentów należy najpierw zrozumieć obciążenia, które pomogą Ci wybrać odpowiednie parametry PPM i zmniejszyć nakład pracy podczas dostrajania.

Zrozumieć wymagania dotyczące wydajności i zasilania na wysokim poziomie

Jeśli obciążenie jest "w czasie rzeczywistym" (na przykład podatne na zacinanie się lub inne widoczne skutki dla użytkowników końcowych) lub ma bardzo wysokie wymagania dotyczące szybkości reakcji (na przykład w przypadku pośrednictwa giełdowego), a zużycie energii nie jest podstawowym kryterium dla środowiska, prawdopodobnie należy po prostu przełączyć się na plan zasilania o wysokiej wydajności. W przeciwnym razie należy zrozumieć wymagania dotyczące czasu odpowiedzi obciążeń, a następnie dostosować parametry PPM, aby uzyskać najlepszą możliwą wydajność energetyczną, która nadal spełnia te wymagania.

Omówienie podstawowych cech obciążenia

Należy znać obciążenia i zaprojektować zestawy parametrów eksperymentu na potrzeby dostrajania. Jeśli na przykład częstotliwości rdzeni procesora CPU muszą być szybko zwiększane (być może masz duże obciążenia ze znacznymi okresami bezczynności, ale potrzebujesz bardzo szybkiej reakcji, gdy pojawi się nowa transakcja), może być konieczne ustawienie zasad zwiększania wydajności procesora na "rakieta" (co, jak sama nazwa wskazuje, oznacza natychmiastowe ustawienie częstotliwości rdzeni procesora CPU na maksymalną wartość, zamiast stopniowego zwiększania jej w czasie).

Jeśli obciążenie jest bardzo zmienne, interwał sprawdzania PPM można zmniejszyć, aby częstotliwość procesora zwiększała się wcześniej po wystąpieniu skoku obciążenia. Jeśli obciążenie nie ma wysokiej współbieżności wątków, można włączyć parkowanie rdzeni, aby wymusić wykonanie obciążenia na mniejszej liczbie rdzeni, co może również zwiększyć współczynniki trafień pamięci podręcznej procesora.

Jeśli chcesz po prostu zwiększyć częstotliwości procesora na średnich poziomach wykorzystania (tj. nie przy lekkim obciążeniu), można dostosować progi zwiększania/zmniejszania wydajności procesora tak, aby nie reagowały, dopóki nie zostaną zaobserwowane określone poziomy aktywności.

Zrozumienie okresowych zachowań

Mogą istnieć różne wymagania dotyczące wydajności w godzinach dziennych i nocnych lub w weekendy albo mogą występować różne obciążenia, które są uruchamiane w różnych godzinach. W takim przypadku jeden zestaw parametrów PPM może nie być optymalny dla wszystkich okresów. Ponieważ można opracować wiele niestandardowych planów zasilania, możliwe jest dopasowanie ich do różnych okresów czasu oraz przełączanie między planami zasilania za pomocą skryptów lub innych narzędzi do dynamicznej konfiguracji systemu.

Co więcej, zwiększa to złożoność procesu optymalizacji, więc chodzi o to, ile wartości zostanie uzyskane na podstawie tego typu dostrajania, co prawdopodobnie będzie musiało zostać powtórzone w przypadku znacznych uaktualnień sprzętu lub zmian obciążeń.

Dlatego system Windows zapewnia w pierwszej kolejności zrównoważony plan zasilania, ponieważ w wielu przypadkach prawdopodobnie nie warto ręcznie dostrajać określonego obciążenia na określonym serwerze.

Zobacz też