Amazon EMR uruchamia obsługę instancji Amazon EC2 C7g (Graviton3), aby poprawić wydajność kosztową dla obciążeń Spark o 7–13%

Amazon EMR uruchamia obsługę instancji Amazon EC2 C7g (Graviton3), aby poprawić wydajność kosztową dla obciążeń Spark o 7–13%

Węzeł źródłowy: 1935298

Amazon EMR zapewnia zarządzaną usługę umożliwiającą łatwe uruchamianie aplikacji analitycznych przy użyciu platform typu open source, takich jak Apache Spark, Hive, Presto, Trino, HBase i Flink. Środowisko wykonawcze Amazon EMR dla Iskra i presto zawiera optymalizacje, które zapewniają ponad dwukrotnie większą wydajność w porównaniu z Open Source Apache Spark i Presto.

Z Amazon EMR w wersji 6.7 możesz teraz używać Elastyczna chmura obliczeniowa Amazon (Amazon EC2) Instancje C7g, które używają Grawiton AWS3 procesory. Te instancje poprawiają stosunek ceny do wydajności uruchamiania obciążeń Spark na Amazon EMR o 7.93–13.35% w porównaniu z instancjami poprzedniej generacji, w zależności od rozmiaru instancji. W tym poście opisujemy, jak oszacowaliśmy stosunek ceny do wydajności.

Wydajność środowiska uruchomieniowego Amazon EMR z instancjami EC2 C7g

Przeprowadziliśmy zapytania testowe TPC-DS 3 TB na Amazon EMR 6.9 przy użyciu środowiska wykonawczego Amazon EMR dla Apache Spark (kompatybilnego z Apache Spark 3.3) z instancjami C7g. Dane były przechowywane w Usługa Amazon Simple Storage (Amazon S3), a wyniki porównano z równoważnymi klastrami C6g z rodziny instancji poprzedniej generacji. Zmierzyliśmy poprawę wydajności, korzystając z łącznego czasu wykonywania zapytań i średniej geometrycznej czasu wykonywania zapytań w zapytaniach porównawczych TPC-DS o pojemności 3 TB.

Nasze wyniki wykazały 13.65-18.73% poprawę całkowitej wydajności środowiska uruchomieniowego zapytań i 16.98-20.28% poprawę średniej geometrycznej w klastrach EMR z C7g w porównaniu z równoważnymi klastrami EMR z instancjami C6g, w zależności od rozmiaru instancji. Porównując koszty, zaobserwowaliśmy spadek kosztów o 7.93–13.35% w klastrze EMR z C7g w porównaniu z odpowiednikiem z C6g, w zależności od wielkości instancji. Nie przeprowadziliśmy testu porównawczego instancji C6g xlarge, ponieważ nie miała ona wystarczającej ilości pamięci do uruchomienia zapytań.

W poniższej tabeli przedstawiono wyniki uruchamiania zapytań porównawczych TPC-DS 3 TB przy użyciu Amazon EMR 6.9 w porównaniu z równoważnymi klastrami EMR instancji C7g i C6g.

Rozmiar instancji 16 XL 12 XL 8 XL 4 XL 2 XL
Całkowita wielkość klastra (1 lider + 5 węzłów rdzeniowych) 6 6 6 6 6
Całkowity czas wykonywania zapytania w C6g (sekundy) 2774.86205 2752.84429 3173.08086 5108.45489 8697.08117
Całkowity czas wykonywania zapytania w C7g (sekundy) 2396.22799 2336.28224 2698.72928 4151.85869 7249.58148
Całkowita poprawa środowiska wykonywania zapytań dzięki C7g 13.65% 15.13% 14.95% 18.73% 16.64%
Średnia geometryczna czasu wykonywania zapytania C6g (sekundy) 22.2113 21.75459 23.38081 31.97192 45.41656
Średnia geometryczna czasu wykonywania zapytania C7g (sekundy) 18.43905 17.65898 19.01684 25.48695 37.43737
Poprawa czasu wykonywania zapytań o średnią geometryczną dzięki C7g 16.98% 18.83% 18.66% 20.28% 17.57%
Cena instancji EC2 C6g ($ za godzinę) $2.1760 $1.6320 $1.0880 $0.5440 $0.2720
Cena instancji EMR C6g ($ za godzinę) $0.5440 $0.4080 $0.2720 $0.1360 $0.0680
(EC2 + EMR) cena instancji ($ za godzinę) $2.7200 $2.0400 $1.3600 $0.6800 $0.3400
Koszt uruchomienia na C6g ($ za instancję) $2.09656 $1.55995 $1.19872 $0.96493 $0.82139
Cena instancji EC2 C7g ($ za godzinę) $2.3200 $1.7400 $1.1600 $0.5800 $0.2900
Cena EMR C7g ($ za godzinę na instancję) $0.5800 $0.4350 $0.2900 $0.1450 $0.0725
(EC2 + EMR) Cena instancji C7g ($ za godzinę) $2.9000 $2.1750 $1.4500 $0.7250 $0.3625
Koszt uruchomienia na C7g ($ za instancję) $1.930290 $1.411500 $1.086990 $0.836140 $0.729990
Całkowita redukcja kosztów dzięki C7g, w tym poprawa wydajności -7.93% -9.52% -9.32% -13.35% -11.13%

Poniższy wykres przedstawia ulepszenia na zapytanie zaobserwowane w wystąpieniach C7g 2xlarge w porównaniu z równoważnymi generacjami C6g.

Metodologia benchmarkingu

Test porównawczy użyty w tym poście pochodzi ze standardowego w branży testu porównawczego TPC-DS i wykorzystuje zapytania z Spark SQL Testy wydajności repozytorium GitHub z następującymi poprawki stosowany.

Całkowity koszt posiadania obliczyliśmy, mnożąc koszt na godzinę przez liczbę wystąpień w klastrze i czas potrzebny do uruchomienia zapytań w klastrze. We wszystkich przypadkach zastosowaliśmy ceny na żądanie w regionie Wschodnie Stany Zjednoczone (Płn. Wirginia).

Wnioski

W tym poście opisaliśmy, w jaki sposób oszacowaliśmy stosunek kosztów do wydajności z używania Amazon EMR z instancjami C7g w porównaniu z używaniem równoważnych instancji poprzedniej generacji. Używanie tych nowych instancji z Amazon EMR poprawia wydajność kosztową o dodatkowe 7–13%.


O autorach

CELUJEAl MS jest menedżerem produktu dla Amazon EMR w Amazon Web Services.

Kyeonhyuna Ryoo jest inżynierem rozwoju oprogramowania dla EMR w Amazon Web Services. Zajmuje się głównie projektowaniem i budowaniem narzędzi do automatyzacji dla wewnętrznych zespołów i klientów w celu maksymalizacji ich produktywności. Poza pracą jest emerytowanym mistrzem świata w profesjonalnych grach, który nadal lubi grać w gry wideo.

Słońce Yuzhou jest inżynierem rozwoju oprogramowania dla EMR w Amazon Web Services.

Steve'a Koonce'a jest kierownikiem technicznym ds. EMR w Amazon Web Services.

Znak czasu:

Więcej z Duże zbiory danych AWS!