我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
亚马逊 EMR 推出对亚马逊 EC2 C6i、m6i、i4i、R6i 和 R6id 实例的支持,将 Spark 工作负载的成本性能提高 6-33%
在亚马逊 EMR 版本 6.8 中,您现在可以使用使用第三代英特尔至强可扩展处理器的
在这篇文章中,我们描述了如何估计在这些新实例上使用 Amazon EMR 与使用同等的上一代实例相比所带来的性价比优势。
使用 EC2 i4i 实例提高了亚马逊 EMR 运行时性能
我们使用适用于 Apache Spark 的亚马逊 EMR 运行时(兼容 Apache Spark 3.3)在亚马逊 EMR 6.8 上运行了 TPC-DS 3 TB 基准查询,其中包含五个 i4i 实例节点集群,数据存储在亚马逊
我们的结果显示,与同等的 I3 实例 EMR 群集相比,i4i 实例 EMR 集群的总查询运行时性能提高了 36.41— 44.39%,几何平均值提高了 36-45.2%。为了衡量成本改善,我们将每小时每实例的 Amazon EMR 和 Amazon EC2 成本相加(按需),然后乘以总查询运行时间。请注意,I4i 32XL 实例没有经过基准测试,因为 I3 实例没有 32 XL 的大小可用。我们观察到,与运行 TPC-DS 基准查询的等效 I3 实例 EMR 集群相比,I4i 实例 EMR 集群的实例工时成本降低了 22.56— 33.1%。与 I3 实例集群相比,所有 TPC-DS 查询在 I4i 实例集群上运行得更快。
下表显示了使用亚马逊 EMR 6.8 在同等的 I3 和 I4i 实例 EMR 集群上运行 TPC-DS 3 TB 基准测试查询的结果。
| Instance Size | 16 XL | 8 XL | 4 XL | 2 XL | XL |
| Number of core instances in EMR cluster | 5 | 5 | 5 | 5 | 5 |
| Total query runtime on I3 (seconds) | 4752.15457 | 4506.43694 | 7110.03042 | 11853.40336 | 21333.05743 |
| Total query runtime on I4I (seconds) | 2642.77407 | 2812.05517 | 4415.0023 | 7537.52779 | 12981.20251 |
| Total query runtime improvement with I4I | 44.39% | 37.60% | 37.90% | 36.41% | 39.15% |
| Geometric mean query runtime on I3 (sec) | 34.99551 | 29.14821 | 41.53093 | 60.8069 | 95.46128 |
| Geometric mean query runtime on I4I (sec) | 19.17906 | 18.65311 | 25.66263 | 38.13503 | 56.95073 |
| Geometric mean query runtime improvement with I4I | 45.20% | 36.01% | 38.21% | 37.29% | 40.34% |
| EC2 I3 instance price ($ per hour) | $4.990 | $2.496 | $1.248 | $0.624 | $0.312 |
| EMR I3 instance price ($ per hour) | $0.270 | $0.270 | $0.270 | $0.156 | $0.078 |
| (EC2 + EMR) I3 instance price ($ per hour) | $5.260 | $2.766 | $1.518 | $0.780 | $0.390 |
| Cost of running on I3 ($ per instance) | $6.943 | $3.462 | $2.998 | $2.568 | $2.311 |
| EC2 I4I instance price ($ per hour) | $5.491 | $2.746 | $1.373 | $0.686 | $0.343 |
| EMR I4I price ($ per hour per instance) | $1.373 | $0.687 | $0.343 | $0.172 | $0.086 |
| (EC2 + EMR) I4I instance price ($ per hour) | $6.864 | $3.433 | $1.716 | $0.858 | $0.429 |
| Cost of running on I4I ($ per instance) | $5.039 | $2.681 | $2.105 | $1.795 | $1.546 |
| Total cost reduction with I4I including performance improvement | -27.43% | -22.56% | -29.79% | -30.09% | -33.10% |
下图显示了我们在亚马逊 EMR 版本 6.8 上的 Spark EMR 运行时的 i4i 2XL 实例上观察到的每次查询的改进,与 TPC-DS 3 TB 基准测试的同等 I3 2XL 实例相比。
使用 EC2 M6i 实例提高了亚马逊 EMR 运行时性能
与同等的 M5 实例相比,M6i 实例在运行 Apache Spark 工作负载时表现出类似的性能改进。我们的测试结果显示,实例系列中七种不同实例大小的总查询运行时间提高了13.45-29.52%,几何平均值提高了7.98-25.37%。在成本比较方面,我们观察到,与运行 TPC-DS 基准查询的 M5 EMR 实例集群相比,M6i 实例 EMR 集群的实例工时成本降低了 7.98— 25.37%。
下表显示了使用亚马逊 EMR 6.8 在等效的 M6i 和 M5 实例 EMR 集群上运行 TPC-DS 3 TB 基准测试查询的结果。
| Instance Size | 24 XL | 16 XL | 12 XL | 8 XL | 4 XL | 2 XL | XL |
| Number of core instances in EMR cluster | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
| Total query runtime on M5 (seconds) | 4027.58043 | 3782.10766 | 3348.05362 | 3516.4308 | 5621.22532 | 10075.45109 | 17278.15146 |
| Total query runtime on M6I (seconds) | 3106.43834 | 2665.70607 | 2714.69862 | 3043.5975 | 4195.02715 | 8226.88301 | 14515.50394 |
| Total query runtime improvement with M6I | 22.87% | 29.52% | 18.92% | 13.45% | 25.37% | 18.35% | 15.99% |
| Geometric mean query runtime M5 (sec) | 30.45437 | 28.5207 | 23.95314 | 23.55958 | 32.95975 | 49.43178 | 75.95984 |
| Geometric mean query runtime M6I (sec) | 23.76853 | 19.21783 | 19.16869 | 19.9574 | 24.23012 | 39.09965 | 60.79494 |
| Geometric mean query runtime improvement with M6I | 21.95% | 32.62% | 19.97% | 15.29% | 26.49% | 20.90% | 19.96% |
| EC2 M5 instance price ($ per hour) | $4.61 | $3.07 | $2.30 | $1.54 | $0.77 | $0.38 | $0.19 |
| EMR M5 instance price ($ per hour) | $0.27 | $0.27 | $0.27 | $0.27 | $0.19 | $0.10 | $0.05 |
| (EC2 + EMR) M5 instance price ($ per hour) | $4.88 | $3.34 | $2.57 | $1.81 | $0.96 | $0.48 | $0.24 |
| Cost of running on M5 ($ per instance) | $5.46 | $3.51 | $2.39 | $1.76 | $1.50 | $1.34 | $1.15 |
| EC2 M6I instance price ($ per hour) | $4.61 | $3.07 | $2.30 | $1.54 | $0.77 | $0.38 | $0.19 |
| EMR M6I price ($ per hour per instance) | $1.15 | $0.77 | $0.58 | $0.38 | $0.19 | $0.10 | $0.05 |
| (EC2 + EMR) M6I instance price ($ per hour) | $5.76 | $3.84 | $2.88 | $1.92 | $0.96 | $0.48 | $0.24 |
| Cost of running on M6I ($ per instance) | $4.97 | $2.84 | $2.17 | $1.62 | $1.12 | $1.10 | $0.97 |
| Total cost reduction with M6I including performance improvement | -8.92% | -19.02% | -9.28% | -7.98% | -25.37% | -18.35% | -15.99% |
使用 EC2 R6i 实例提高了亚马逊 EMR 运行时性能
与同等的 R5 实例相比,R6i 实例在运行 Apache Spark 工作负载时表现出类似的性能改进。我们的测试结果显示,实例系列中六种不同实例大小的总查询运行时间提高了14.25-32.23%,几何平均值提高了16.12-36.5%。R5.xLarge 实例没有足够的内存来运行 TPC-DS 基准查询,因此未包含在此比较中。在成本比较方面,我们观察到,与运行 TPC-DS 基准查询的 R5 EMR 实例集群相比,R6i 实例 EMR 集群的实例工时成本降低了 5.48— 23.5%。
下表显示了使用亚马逊 EMR 6.8 在同等的 R6i 和 R5 实例 EMR 集群上运行 TPC-DS 3 TB 基准测试查询的结果。
| Instance Size | 24 XL | 16 XL | 12 XL | 8 XL | 4 XL | 2XL | |||||||
| Number of core instances in EMR cluster | 5 | 5 | 5 | 5 | 5 | 5 | |||||||
| Total query runtime on R5 (seconds) | 4024.4737 | 3715.74432 | 3552.97298 | 3535.69879 | 5379.73168 | 9121.41532 | |||||||
| Total query runtime on R6I (seconds) | 2865.83169 | 2518.24192 | 2513.4849 | 3031.71973 | 4544.44854 | 6977.9508 | |||||||
| Total query runtime improvement with R6I | 28.79% | 32.23% | 29.26% | 14.25% | 15.53% | 23.50% | |||||||
| Geometric mean query runtime R5 (sec) | 30.59066 | 28.30849 | 25.30903 | 23.85511 | 32.33391 | 47.28424 | |||||||
| Geometric mean query runtime R6I (sec) | 21.87897 | 17.97587 | 17.54117 | 20.00918 | 26.6277 | 34.52817 | |||||||
| Geometric mean query runtime improvement with R6I | 28.48% | 36.50% | 30.69% | 16.12% | 17.65% | 26.98% | |||||||
| EC2 R5 instance price ($ per hour) | $6.0480 | $4.0320 | $3.0240 | $2.0160 | $1.0080 | $0.5040 | |||||||
| EMR R5 instance price ($ per hour) | $0.2700 | $0.2700 | $0.2700 | $0.2700 | $0.2520 | $0.1260 | |||||||
| (EC2 + EMR) R5 instance price ($ per hour) | $6.3180 | $4.3020 | $3.2940 | $2.2860 | $1.2600 | $0.6300 | |||||||
| Cost of running on R5 ($ per instance) | $7.0630 | $4.4403 | $3.2510 | $2.2452 | $1.8829 | $1.5962 | |||||||
| EC2 R6I instance price ($ per hour) | $6.0480 | $4.0320 | $3.0240 | $2.0160 | $1.0080 | $0.5040 | |||||||
| EMR R6I price ($ per hour per instance) | $1.5120 | $1.0080 | $0.7560 | $0.5040 | $0.2520 | $0.1260 | |||||||
| (EC2 + EMR) R6I instance price ($ per hour) | $7.5600 | $5.0400 | $3.7800 | $2.5200 | $1.2600 | $0.6300 | |||||||
| Cost of running on R6I ($ per instance) | $6.0182 | $3.5255 | $2.6392 | $2.1222 | $1.5906 | $1.2211 | |||||||
| Total cost reduction with R6I including performance improvement | -14.79% | -20.60% | -18.82% | -5.48% | -15.53% | -23.50% |
使用 EC2 C6i 实例提高了亚马逊 EMR 运行时性能
与同等的 C5 实例相比,C6i 实例在运行 Apache Spark 工作负载时表现出类似的性能改进。我们的测试结果显示,实例系列中四个不同实例大小的总查询运行时间提高了12.61-21.09%,几何平均值提高了14.57-20.35%。只有 C6i 24、12、4 和 2xLarge 的尺寸是基准测试的,因为 C5 没有 32、16 和 8 的超大尺寸。C5.xLarge 实例没有足够的内存来运行 TPC-DS 基准查询,因此未包含在此比较中。在成本比较中,我们观察到,与运行 TPC-DS 基准查询的 C5 EMR 实例集群相比,C6i 实例 EMR 集群的实例工时成本降低了 5.93-13.62%。
下表显示了使用亚马逊 EMR 6.8 在同等的 C6i 和 C5 实例 EMR 集群上运行 TPC-DS 3 TB 基准测试查询的结果。
| Instance Size * | 24 XL | 12 XL | 4 XL | 2 XL |
| Number of core instances in EMR cluster | 5 | 5 | 5 | 5 |
| Total query runtime on C5 (seconds) | 3435.59808 | 2900.84981 | 5945.12879 | 10173.00757 |
| Total query runtime on C6I (seconds) | 2711.16147 | 2471.86778 | 5195.30093 | 8787.43422 |
| Total query runtime improvement with C6I | 21.09% | 14.79% | 12.61% | 13.62% |
| Geometric mean query runtime C5 (sec) | 25.67058 | 20.06539 | 31.76582 | 46.78632 |
| Geometric mean query runtime C6I (sec) | 20.4458 | 17.14133 | 26.92196 | 39.32622 |
| Geometric mean query runtime improvement with C6I | 20.35% | 14.57% | 15.25% | 15.95% |
| EC2 C5 instance price ($ per hour) | $4.080 | $2.040 | $0.680 | $0.340 |
| EMR C5 instance price ($ per hour) | $0.270 | $0.270 | $0.170 | $0.085 |
| (EC2 + EMR) C5 instance price ($ per hour) | $4.35000 | $2.31000 | $0.85000 | $0.42500 |
| Cost of running on C5 ($ per instance) | $4.15135 | $1.86138 | $1.40371 | $1.20098 |
| EC2 C6I instance price ($ per hour) | $4.0800 | $2.0400 | $0.6800 | $0.3400 |
| EMR C6I price ($ per hour per instance) | $1.02000 | $0.51000 | $0.17000 | $0.08500 |
| (EC2 + EMR) C6I instance price ($ per hour) | $5.10000 | $2.55000 | $0.85000 | $0.42500 |
| Cost of running on C6I ($ per instance) | $3.84081 | $1.75091 | $1.22667 | $1.03741 |
| Total cost reduction with C6I including performance improvement | -7.48% | -5.93% | -12.61% | -13.62% |
使用 EC2 R6id 实例提高了亚马逊 EMR 运行时性能
与同等的 R5D 实例相比,R6id 实例在运行 Apache Spark 工作负载时表现出类似的性能改进。我们的测试结果显示,实例系列中五种不同实例大小的总查询运行时间提高了11.8-28.7%,几何平均值提高了15.1-32.0%。R6ID 32 XL 实例未经过基准测试,因为 R5D 实例没有这些大小可用。在成本比较中,我们观察到,与运行 TPC-DS 基准查询的 R5D EMR 实例集群相比,R6ID 实例 EMR 集群的实例工时成本降低了 6.8— 11.5%。
下表显示了使用亚马逊 EMR 6.8 在等效的 R6id 和 R5d 实例 EMR 集群上运行 TPC-DS 3 TB 基准测试查询的结果。
| Instance Size | 24 XL | 16 XL | 12 XL | 8 XL | 4 XL | 2 XL | XL |
| Number of core instances in EMR cluster | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
| Total query runtime on R5D (seconds) | 4054.4492975042 | 3691.7569385583 | 3598.6869168064 | 3532.7398928104 | 5397.5330161574 | 9281.2627059927 | 16862.8766838096 |
| Total query runtime on R6ID (seconds) | 2992.1198446983 | 2633.7131630720 | 2632.3186613402 | 2729.8860537867 | 4583.1040980373 | 7921.9960917943 | 14867.5391541445 |
| Total query runtime improvement with R6ID | 26.20% | 28.66% | 26.85% | 22.73% | 15.09% | 14.65% | 11.83% |
| Geometric mean query runtime R5D (sec) | 31.0238156851 | 28.1432927726 | 25.7532157307 | 24.0596427675 | 32.5800246829 | 48.2306670294 | 76.6771994376 |
| Geometric mean query runtime R6ID (sec) | 22.8681174894 | 19.1282742957 | 18.6161830746 | 18.0498249257 | 25.9500918360 | 39.6580341258 | 65.0947323858 |
| Geometric mean query runtime improvement with R6ID | 26.29% | 32.03% | 27.71% | 24.98% | 20.35% | 17.77% | 15.11% |
| EC2 R5D instance price ($ per hour) | $6.912000 | $4.608000 | $3.456000 | $2.304000 | $1.152000 | $0.576000 | $0.288000 |
| EMR R5D instance price ($ per hour) | $0.270000 | $0.270000 | $0.270000 | $0.270000 | $0.270000 | $0.144000 | $0.072000 |
| (EC2 + EMR) R5D instance price ($ per hour) | $7.182000 | $4.878000 | $3.726000 | $2.574000 | $1.422000 | $0.720000 | $0.360000 |
| Cost of running on R5D ($ per instance) | $8.088626 | $5.002331 | $3.724641 | $2.525909 | $2.132026 | $1.856253 | $1.686288 |
| EC2 R6ID instance price ($ per hour) | $7.257600 | $4.838400 | $3.628800 | $2.419200 | $1.209600 | $0.604800 | $0.302400 |
| EMR R6ID price ($ per hour per instance) | $1.814400 | $1.209600 | $0.907200 | $0.604800 | $0.302400 | $0.151200 | $0.075600 |
| (EC2 + EMR) R6ID instance price ($ per hour) | $9.072000 | $6.048000 | $4.536000 | $3.024000 | $1.512000 | $0.756000 | $0.378000 |
| Cost of running on R6ID ($ per instance) | $7.540142 | $4.424638 | $3.316722 | $2.293104 | $1.924904 | $1.663619 | $1.561092 |
| Total cost reduction with R6ID including performance improvement | -6.78% | -11.55% | -10.95% | -9.22% | -9.71% | -10.38% | -7.42% |
基准测试方法
我们通过将每小时成本乘以集群中的实例数量和在集群上运行查询所花费的时间来计算 TCO。我们对所有实例都使用了美国东部(弗吉尼亚北部)地区的按需定价。
结论
在这篇文章中,我们描述了如何估算将 Amazon EMR 与 C6i、M6i、i4i、R6i 和 R6id 等实例相比与使用同等的上一代实例相比所带来的性价比优势。将这些新实例与 Amazon EMR 配合使用,可将成本效益再提高 5— 33%。
作者简介
Al MS
是亚马逊网络服务亚马逊 EMR 的产品经理。
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。