Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

AMD EPYC – STREAM, HPL, InfiniBand ve WRF Performans İncelemesi (İngilizce)

Summary: AMD EPYC – Dell EMC PowerEdge R7425'te STREAM, HPL, InfiniBand ve WRF

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

Bu makale, HPC ve AI Innovation Lab bünyesindeki Garima Kochhar, Deepthi Cherlopalle ve Joshua Weage tarafından Eylül 2018'de yazılmıştır

Özet

HPC ve AI Innovation Lab, Mellanox EDR InfiniBand ile birbirine bağlanmış 32 AMD EPYC tabanlı sistem içeren yeni bir küme oluşturmuştur. Her zamanki gibi en yeni kümemizde performans değerlendirmeleri yürütecek ve sonuçları sizinle paylaşacağız. Bu blog; gecikme süresi ve bant genişliğine yönelik STREAM, HPL, InfiniBand mikro-karşılaştırmalı test performansından alınan bellek bant genişliği sonuçlarını ve karşılaştırmalı test veri kümelerinden alınan WRF sonuçlarını ele almaktadır.

EPYC'deki HPC uygulamasının gerçek performansının nasıl olduğunu görmek istiyoruz. EPYC'de denemek istediğiniz veri kümeleri varsa Innovation Lab'e erişmek için Dell hesap ekibinizle iletişime geçin.
 

AMD EPYC mimarisi

AMD EPYC işlemcileri; soket başına 16'ya kadar çift hat içi bellek modülü (DIMM), kanal başına iki DIMM ve soket başına 32'ye kadar çekirdek ile sekiz bellek kanalını destekler. AMD CPU'ları kullanan bir platform ayrıca, GPU ve NVMe sürücüleri gibi çevre birimleri için 128'e kadar PCI-E hattı sunar.
CPU'lar, dört zardan oluşan çok yongalı modüllerdir. Her zar en fazla sekiz Zen çekirdeği, iki DDR4 bellek kanalı ve 32 G/Ç hattı içerir. Bir zar üzerindeki Zen çekirdekleri, iki adet dörtlü gruptan oluşur; bu dört çekirdekli gruplardan her biri L3 önbelleğini paylaşır ve çekirdek bloku olarak adlandırılır. Bir soket içindeki dört zarın tamamı, Infinity Fabric olarak adlandırılan tutarlı bir ara bağlantı yoluyla birbirine çapraz bağlanır. Bu, Şekil 1'de gösterilmiştir.

SLN313856_tr__1GKimage001
Şekil 1 – EPYC Soket yerleşimi. CCX, L3 önbelleğini paylaşan 4'e kadar çekirdekten oluşan bir çekirdek blokudur. M*, her bir zar tarafından işlenen bellek kanallarıdır (iki kanal). P* ve G*, G/Ç hatlarıdır. ∞, Infinity Fabric'tir.



Tek soketli bir sistemde her zar, Şekil 1'de gösterilen P* ve G* G/Ç hatlarını kullanarak 32'ye kadar PCI-E hattı sunar. Bu durum, Şekil 2'de gösterildiği gibi sokete toplamda 128 PCI-E hattı sağlar. Bir CPU, iki soketli (2S) yapılandırmada kullanıldığında her zarın G/Ç hatlarının yarısı, Infinity Fabric olarak yapılandırılmış G* G/Ç hatlarını kullanarak diğer soketteki herhangi bir zara bağlanmak için kullanılır. Bu durumda sokete, toplamda 64 PCI-E hattı için P* GÇ hatları kalır; dolayısıyla platform için hala 128 PCI-E hattı mevcuttur. Bu, Şekil 3'de gösterilmiştir

SLN313856_tr__2GKimage002
Şekil 2 - EPYC 1S PCI-E hatları



SLN313856_tr__3GKimage003
Şekil 3 - EPYC 2S yerleşimi



SLN313856_tr__4GKimage004
Şekil 3 - EPYC 2S yerleşimi

 

STREAM karşılaştırmalı test performansı

EPYC'i değerlendirmek için ilk adım olarak STREAM karşılaştırmalı testini kullanarak platformun bellek bant genişliği özellikleri ölçülmüştür. Bu testler, Red Hat® Enterprise Linux® 7.5 çalıştıran, çift AMD EPYC 7601 işlemcisine (32c, 2,2 GHz) ve 2400 MT/sn hızında 16*16 GB DIMM'e sahip Dell EMC PowerEdge R7425 sunucusunda gerçekleştirilmiştir.

EPYC'in Tekdüzen olmayan bellek erişimi (NUMA) sunumu, "Memory Interleaving" (Bellek Aralama) denilen BIOS seçeneği ile denetlenebilir ve numactl ve lstopo gibi Linux yardımcı programları kullanılarak eşlenebilir.

Varsayılan Memory Interleaving (Bellek Aralama) seçeneği, "Memory Channel Interleaving" (Bellek Kanalı Aralama) seçeneğidir. Bu modda her bir zarın iki kanalı aralanır. Bu seçenek, soket başına dört NUMA düğümü ve 2S sistemindeki işletim sistemine sekiz NUMA düğümü sunar.

"Memory Die Interleaving" (Bellek Zarı Aralama), bir soket üzerindeki (ör. sekiz bellek kanalı) dört zarın tamamındaki belleğin aralandığı seçenektir. Bu seçenek, soket başına bir NUMA düğümü ve 2S sisteminde iki NUMA düğümü sunar.

"Memory Socket Interleaving" (Bellek Soketi Aralama), 2S platformunda bir NUMA düğümü vererek her iki soket boyunca belleği aralar. Bu, NUMA'nın devre dışı bırakılmasıyla eşdeğer olacaktır.    

"Memory Channel Interleaving" (Bellek Kanalı Aralama) varsayılan yapılandırmasını kullanırken her bir soketin dört zara sahip olduğunu, her zarın iki bellek kanalı sunduğunu ve BIOS'un 2S platformunda sekiz NUMA düğümü sunduğunu unutmayın. Şekil 4'teki örnek numactl çıkışı, 2S platformundaki bu sekiz NUMA düğümünü, her zar başına bir NUMA düğümü olarak göstermektedir.

SLN313856_tr__5GKimage005
Şekil 4 - 2S EPYC'de numactl çıkışı


Şekil 4'te vurgulandığı üzere platformda fiziksel olarak dört NUMA mesafesi mevcuttur: NUMA düğümünün kendisine (kırmızı renkli "10" mesafesi), aynı zarı paylaşan üç düğüme (mavi renkli "16" mesafesi), Infinity Fabric bağlantısı yoluyla doğrudan bağlı olan diğer soketteki düğüme (yeşil renkli "22" mesafesi), iki soket arasında Infinity Fabric ve dahili Infinity Fabric bağlantısı kullanılarak iki atlama yoluyla erişilen uzak soketteki diğer üç düğüme (siyah renkli "28" mesafesi).

Bazı BIOS uygulamaları ve sürümleri, bu fiziksel yerleşimi basitleştirip İşletim Sistemine yalnızca üç NUMA mesafesi sunabilir. Bu basitleştirme, 0 NUMA düğümü (örnek olarak) ve 4, 5, 6, 7 NUMA düğümleri arasındaki mesafeyi maskeleyerek (4, 5, 6, 7 NUMA düğümlerini 0 NUMA düğümünden eşit mesafedeymiş gibi sunarak) yapılır. Bu tür bir uygulama, Şekil 5'te gösterilmiştir. NUMA yerleşimi, PowerEdge R7425 BIOS'unun bir sonraki sürümünde ayarlanabilir bir seçenek olacaktır. NUMA düğümü mesafelerini basitleştirmek çekirdeklerin gerçek fiziksel yerleşimini değiştirmez. Bu seçenek öncelikle işletim sistemi planlayıcısının yararınadır. NUMA'yı tanıyan HPC ve MPI işleri için bu farklı sunumlar önemsiz olacaktır.

SLN313856_tr__6GKimage006
Şekil 5 - Basitleştirilmiş NUMA mesafelerine sahip 2S EPYC'te numactl çıkışı


İki soketli bir platformdaki 8 NUMA düğümüne ek olarak Şekil 4 ve Şekil 5 de her bir NUMA düğümüyle ilişkili bellek ve çekirdekleri gösterir. Her bir NUMA düğümü, iki 16 GB DIMM'den oluşan 32 GB belleğe sahiptir (sunucuda 16 DIMM, soket başına sekiz tane, kanal başına 1 DIMM). Her bir NUMA düğümü, yerel zarın sekiz çekirdeğini içerir. Dell EMC platformunda çekirdek numaralandırması çevrimsel sıralı olup önce tüm NUMA düğümlerinden geçilir ve ardından her bir NUMA düğümü doldurulur.

Ayrıca lstopo çıkışı, hangi dört çekirdek setinin bir çekirdek bloku oluşturduğunu açıkça göstermek için de kullanılabilir. Bunlar, bir zar üzerinde yer alan ve L3 önbelleğini paylaşan dört çekirdektir. Örneğin Şekil 6'da, NUMA düğümü 0'ın sekiz çekirdeğe sahip olduğu ve bu NUMA düğümünde 0, 16, 32, 48 çekirdeklerinin L3 önbelleğini paylaştığı ve 8, 24, 40, 56 çekirdeklerinin L3 önbelleğini paylaştığı gösterilir.

SLN313856_tr__7GKimage007
Şekil 6 - 2S EPYC'de lstopo çıkışı

SLN313856_tr__8GKimage008
Şekil 7 - AMD EPYC platformu bellek bant genişliği

Bu NUMA yerleşim bilgileri göz önünde tutularak ve BIOS, "Memory Channel Interleaving" (Bellek Kanalı Aralama) olarak ayarlanmışken bellek bant genişliği için STREAM Triad karşılaştırmalı test sonuçları, Şekil 7'de sunulmuştur. Bu test ortamında kullanılan 16 GB 2667 MT/sn çift sıralı bellek modüllerinin EPYC'te 2400 MT/sn'de çalıştığını unutmayın. Şekil 7'deki ilk çubuk grubu, 2S platformunun bellek bant genişliğinin, tüm çekirdekler kullanıldığında 244 GB/sn ve çekirdeklerin yarısı kullanıldığında 255,5 GB/sn olduğunu göstermektedir. İkinci veri noktası, tek bir soketin bellek bant genişliğidir ve bu, beklenildiği üzere tam 2S platformunun yaklaşık olarak yarısıdır. Üçüncü veri noktası, bir NUMA düğümünün, ayrı bir zarın bellek bant genişliğini ölçer. Her bir soketin dört zara sahip olduğunu ve bir zarın bant genişliğinin, soketin bant genişliğinin yaklaşık ¼ kadarı olduğunu unutmayın. Bir zar içinde iki çekirdek bloku bulunur ve yalnızca bir çekirdek blokundaki çekirdekler kullanıldığında yaklaşık 30 GB/sn hız elde edilir. Bir zarda iki çekirdek blokunun da çekirdekleri kullanıldığında zarın, yaklaşık 32 GB/sn olan tam bant genişliğine ulaşılabilir.

2S platformu bellek bant genişliği, 240 - 260 GB/sn gibi etkileyici bir değerdir ve bu hız, platformdaki soket başına sekiz bellek kanalı sayesinde elde edilir. Dahası tek bir çekirdek, yerel belleğe yaklaşık 24,5 GB/sn bellek bant genişliği sağlayabilir; bu da, uygulamaların tek iş parçacıklı bölümü için mükemmel bir değerdir.

NUMA yerleşiminin uzak bellek erişimi üzerindeki etkisine bakıldığında Şekil 8, çekirdekler aynı NUMA etki alanında olmayan belleğe erişirken ortaya çıkan göreli bellek bant genişliğini ifade eder. Aynı soketteki belleğe erişim yaklaşık %30 daha yavaş ve diğer soketteki belleğe erişim yaklaşık %65 daha yavaştır. STREAM Triad testine göre uzak bir soketteki belleğe bir atlamayla (düğüm 6, soketler arasında 1 Infinity Fabric) veya iki atlamayla erişildiğinde (düğüm 4, 5, 7 - soketler arasında 1 Infinity Fabric atlaması + 1 yerel Infinity Fabric atlaması) ölçülebilir bir etki görülmemiştir. Bellek bant genişliğine duyarlı uygulamalar için doğru bellek konumu, aynı soket içerisinde dahi performans açısından önemli olacaktır.

SLN313856_tr__9GKimage009
Şekil 8 - Uzak bellek erişiminin etkisi
 

HPL karşılaştırmalı test performansı

Daha sonra HPL karşılaştırmalı testiyle EPYC'in hesaplama özelliği ölçülmüştür. EPYC, AVX talimatlarını ve 8 FLOP/döngü performansını destekleyebilir. Platformumuzda HPL'yi çalıştırmak için Open MPI ve BLIS doğrusal cebir kütüphanelerini kullandık.

Test sistemimizin (çift EPYC 7601 işlemcisi) teorik performansı şöyledir: 64 çekirdek * 8 FLOP/döngü * 2,2 GHz saat frekansı. Bu da 1126 GFLOPS sunar. Ölçümümüzde %100,6 verimliliğe sahip 1133 GFLOPS değeri elde edilmiştir.

Ayrıca EPYC 7551 (32c, 2,0 GHz), EPYC 7351 (16c, 2,4 GHz) ve EPYC 7351P'de (1S, 16c, 2,4 GHz) HPL'yi çalıştırdık. Bu testlerde ölçülen HPL performansı, teorik performansın %102-106'sı olarak elde edilmiştir.

EPYC, HPL testi boyunca taban frekans üzerindeki turbo frekansları sağlamayı sürdürebildiği için verimlilik %100'ün üzerindedir.
 

InfiniBand gecikme süresi ve bant genişliği

Daha sonra iki sunucu arasında, InfiniBand gecikme süresi ve bant genişliği mikro-karşılaştırmalı test sonuçlarını doğruladık. Bu testler için kullanılan yapılandırma Tablo 1'de açıklanmıştır. Gecikme süresi ve bant genişliği sonuçları, Şekil 9 ve Şekil 10'da verilmiştir.


  Tablo 1 - InfiniBand test ortamı
Bileşen Sürüm
İşlemci Dell EMC PowerEdge R7425
Bellek 2,2 GHz'de Çift AMD EPYC 7601 32 Çekirdekli İşlemci
Sistem Profili CPU güç yönetimi maksimum olarak ayarlanmış, C Durumları belirtildiği gibi devre dışı veya etkin, Turbo etkin
İşletim Sistemi Red Hat Enterprise Linux 7.5
Kernel 3.10.0-862.el7.x86_64
OFED 4.4-1.0.0
HCA Kartı Mellanox Connect X-5
OSU sürümü 5.4.2
MPI hpcx-2.2.0 


SLN313856_tr__10GKimage010
Şekil 9 – InfiniBand gecikme süresi, anahtar ile

Şu Komutu çalıştırın: mpirun -np 2 --allow-run-as-root -host node1,node2 -mca pml ucx -x UCX_NET_DEVICES=mlx5_0:1 -x UCX_TLS=rc_x -mca coll_fca_enable 0 -mca coll_hcoll_enable 0 -mca btl_openib_if_include mlx5_0:1 -report-bindings --bind-to core --map-by dist:span -mca rmaps_dist_device mlx5_0 numactl –cpunodebind=6 osu-micro-benchmarks-5.4.3/mpi/pt2pt/osu_latency

MPI işleminin, HCA'ya en yakın NUMA düğümüne sabitlenmesine dikkat edilmiştir. Bu bilgi, lstopo çıkışında mevcuttur; buradaki senaryoda, NUMA düğümü 6'dır. Gecikme süresi testleri hem OpenMPI hem de HPC-X ile yürütülmüştür. Gecikme süresi, OpenMPI ve MXM hızlandırması kullanıldığında 1,17 µsn; OpenMPI ve UCX kullanıldığında ise 1,10 µsn olarak ölçülmüştür. HPC-X ile elde edilen gecikme süresi burada sunulmuştur.

Şekil 9'da, C-durumları etkin EPYC işlemcilerinde gecikme süresi 1,07 µsn'dir ve C-durumları etkinken tüm mesaj boyutları için gecikme süresi, C-durumlarının devre dışı olmasına kıyasla yaklaşık %2-9 daha iyi ölçülmüştür. C-durumlarının etkin olması, boşta çekirdeklerin daha derin C-durumlarına girmesine olanak tanır; bu da, aktif çekirdekler üzerinde daha yüksek turbo frekanslarına olanak sağlayarak daha düşük gecikme süresi sunar.

Bant genişliği sonuçları Şekil 10'da sunulmuştur. Ölçümlerde 12,4 GB/sn tek yönlü bant genişliği ve 24,7 GB/sn çift yönlü bant genişliği elde edilmiştir. Bu sonuçlar, EDR için beklendiği gibidir

SLN313856_tr__11GKimage011
Şekil 10 - InfiniBand bant genişliği

Şu Komutu çalıştırın: 

mpirun -np 2 --allow-run-as-root -host node208,node209 -mca pml ucx -x UCX_NET_DEVICES= mlx5_0:1 -x UCX_TLS=rc_x -mca coll_fca_enable 0 -mca coll_hcoll_enable 0 -mca btl_openib_if_include mlx5_0:1 --bind-to core -mca rmaps_dist_device mlx5_0 --report-bindings --display-map numactl --cpunodebind=6 osu-micro-benchmarks-5.4.3/mpi/pt2pt/osu_bibw

 

Tablo 2 - osu_mbw_mr sonuçları – tek NUMA Düğümü
Soket NUMA Düğümü (NN) Test Yapılandırması Sunucu başına teste giren çekirdek sayısı Bant genişliği (GB/sn)
0 0 sunucu1 NN0 - sunucu2 NN0 8 6,9
0 1 sunucu1 NN1 - sunucu2 NN1 8 6,8
0 2 sunucu1 NN2 - sunucu2 NN2 8 6,8
0 3 sunucu1 NN3 - sunucu2 NN3 8 6,8
1 4 sunucu1 NN4 - sunucu2 NN4 8 12,1
1 5 sunucu1 NN5 - sunucu2 NN5 8 12,2
1 6 (yerel - HCA) sunucu1 NN6 - sunucu2 NN6 8 12,3
1 7 sunucu1 NN7 - sunucu2 NN7 8 12,1

Şu Komutu çalıştırın: 

mpirun -np 16 --allow-run-as-root –host server1,server2 -mca pml ucx -x UCX_NET_DEVICES=mlx5_0:1 -x UCX_TLS=rc_x -mca coll_fca_enable 0 -mca coll_hcoll_enable 0 -mca btl_openib_if_include mlx5_0:1 --report-bindings --bind-to core -mca rmaps_dist_device mlx5_0 numactl cpunodebind= osu-micro-benchmarks-5.4.3/mpi/pt2pt/osu_mbw_mr


Şekil 3 ve Şekil 6'da tanımlanan NUMA yerleşimi bizi, işlem konumunun bant genişliği üzerindeki etkisini kontrol etmeye yöneltmiştir. Bu test için birden çok işlem çifti arasındaki toplam tek yönlü bant genişliğini ölçen osu_mbw_mr karşılaştırmalı testini kullanıldık. Bu testin amacı, NUMA düğümündeki sekiz çekirdeğin tamamını kullanarak bağımsız NUMA düğümleri arasındaki elde edilen bant genişliği ve mesaj oranını belirlemektir. Bu testin sonuçları Tablo 2'de sunulmuştur. Test yapılandırmasında Performans profili kullanılmıştır (C-durumları devre dışı ve Turbo etkin).

Sonuçlar bize, işlemler InfiniBand HCA'ya (NUMA düğümü 6) bağlı olan NUMA düğümünde çalıştığında toplam bant genişliğinin 12,3 GB/sn olduğunu göstermektedir. İşlemler, HCA ile aynı sokette bulunan (soket 1) diğer üç NUMA düğümünden biri üzerinde çalıştırılırken toplam bant genişliği yine yaklaşık 12,1 GB/sn olmuştur. İşlemler, HCA'ya uzak olan soketteki aynı NUMA düğümlerinde çalıştırıldığında toplam bant genişliği yaklaşık 6,8 GB/sn değerine düşmüştür.

Tablo 3'te verilen bir sonraki sonuç grubu, bağımsız soketler arasındaki tek yönlü bant genişliğini gösterir. Bu test için sokette mevcut olan 32 çekirdeğin tümü kullanılmıştır. Yerel - HCA soketinde çalıştırıldığında 5,1 GB/sn ve HCA'ya uzak sokette çalıştırıldığında 2,4 GB/sn değeri ölçülmüştür. Test sunucularımızda 64 çekirdeğin tümünü kullanarak sunucu başına 64 işlem çalıştırdığımızda 3,0 GB/sn değeri ölçülmüştür.

Son sonucu tekrar kontrol etmek için her bir NUMA düğümü 2 işlem çalıştıracak ve sunucu başına toplamda 16 işlem olacak şekilde her iki soket boyunca 8 NUMA düğümünün tümünü kullanarak bir test yürüttük. Bu yerleşim ile 2,9 GB/sn değeri ölçülmüştür.

Bu sonuçlar, sistem topolojisinin iletişim performansı üzerinde bir etkiye sahip olduğunu göstermektedir. Bu durum, sunucular arasında çoklu işlemlerin iletilmesinin önemli bir faktör olduğu all-to-all (tümünden tümüne) iletişim şablonlarının kullanıldığı senaryolar için dikkate değerdir. Diğer uygulamalar söz konusu olduğunda birden fazla NUMA etki alanında işlemler çalıştırırken daha düşük olarak ölçülen bant genişliği, uygulama düzeyinde performansı etkileyen bir faktör olmayabilir.


  Tablo 3 - osu_mbw_br sonuçları – soketler ve sistem düzeyi
Soket NUMA düğümü Test Yapılandırması Sunucu başına teste giren çekirdek sayısı Bant genişliği (GB/sn)
0
0
0
0
0
1
2
3
sunucu1 Soket0 -
sunucu2 Soket0
32 2,4
1
1
1
1
4
5
6 (yerel - HCA)
7
sunucu1 Soket1 -
sunucu2 Soket1
32 5,1

Şu Komutu çalıştırın: 

mpirun -np 64 --allow-run-as-root –rf rankfile -mca pml ucx -x UCX_NET_DEVICES= mlx5_0:1 -x UCX_TLS=rc_x -mca coll_fca_enable 0 -mca coll_hcoll_enable 0 -mca btl_openib_if_include mlx5_0:1 --report-bindings osu-micro-benchmarks-5.4.3/mpi/pt2pt/osu_mbw_mr

 
Soket NUMA Düğümü Test yapılandırması Sunucu başına teste giren çekirdek sayısı Bant genişliği (GB/sn)
0
0
0
0
1
1
1
1
1
2
3
4
5
6 (yerel - HCA)
7
8
sunucu1 - sunucu2 64 3.0

Şu Komutu çalıştırın:

mpirun -np 128 --allow-run-as-root –rf rankfile -mca pml ucx -x UCX_NET_DEVICES= mlx5_0:1 -x UCX_TLS=rc_x -mca coll_fca_enable 0 -mca coll_hcoll_enable 0 -mca btl_openib_if_include mlx5_0:1 --report-bindings osu-micro-benchmarks-5.4.3/mpi/pt2pt/osu_mbw_mr

 
Soket NUMA düğümü Test yapılandırması Sunucu başına teste giren çekirdek sayısı Bant genişliği (GB/sn)
0 1 sunucu1 - sunucu2 2 2.9
0 2 2
0 3 2
0 4 2
1 5 2
1 6 (yerel - HCA) 2
1 7 2
1 8 2

Şu Komutu çalıştırın: 

mpirun -np 32 --allow-run-as-root –rf rankfile -mca pml ucx -x UCX_NET_DEVICES= mlx5_0:1 -x UCX_TLS=rc_x -mca coll_fca_enable 0 -mca coll_hcoll_enable 0 -mca btl_openib_if_include mlx5_0:1 --report-bindings osu-micro-benchmarks-5.4.3/mpi/pt2pt/osu_mbw_mr


HPL küme düzeyi performansı

InfiniBand Fabric performansımız doğrulandığı için bir sonraki test, HPL'yi küme boyunca hızlıca çalıştırmak oldu. Bu testler, çift soketli EPYC 7601 kullanan 16 düğümlü bir sistemde gerçekleştirilmiştir. Sonuçlar Şekil 11'de verilmiş olup 16 sistem boyunca beklenen HPL ölçeklenebilirliğini göstermiştir.

SLN313856_tr__12GKimage012
Şekil 11 - 16 sunucu boyunca HPL

 

WRF küme düzeyi performansı

Son olarak, bir hava tahmini uygulaması olan WRF'yi çalıştırdık. Test ortamı, öncekiyle aynı şekilde çift soketli EPYC 7601 kullanan 16 düğümlü bir sistemdi. Ayrıca, çift soketli EPYC 7551 kullanan daha küçük 4 düğümlü bir sistem üzerinde de bazı testler gerçekleştirdik. Tüm sunucularda, 2400 MT/sn hızla çalışan 16 GB * 16 RDIMM kullanılmış ve bu sunucular, Mellanox EDR InfiniBand ile birbirine bağlanmıştır.

SLN313856_tr__13GKimage013
Şekil 12 - WRF conus 12 km, tek düğüm

Testlerimizde WRF v3.8.1 ile v3.9.1'i kullandık ve conus 12 km ve conus 2,5 km veri setlerini test ettik. Intel derleyicilerini kullanarak WRF ve netcdf'yi derledik ve Intel MPI ile çalıştırdık. OpenMP ile hem dmpar hem de dm+sm yapılandırma seçeneğini kullanarak farklı işlem ve kutucuk şemaları denedik.

WRF için diğer derleyici ayarlama seçeneklerini belirlemek üzere AMD ile çalışmaktayız.

WRF v3.8.1 ve v3.9.1 arasında performans farkı ölçülmemiştir. dmpar ve dm+sm karşılaştırıldığında farklı işlem ve kutucukların mantıklı bir şekilde kombinasyonu, hemen hemen aynı performansı sunmuştur. Bu, Şekil 12'de gösterilmiştir.

SLN313856_tr__14GKimage014
Şekil 13 - WRF conus 12 km, küme testleri

SLN313856_tr__15GKimage015
Şekil 14 - WRF conus 2,5 km, küme testleri

Küme düzeyi testleri, her test başına tüm çekirdekler ve 8 kutucuk kullanılarak WRV v3.8.1 ve dmpar yapılandırması ile birlikte gerçekleştirilmiştir.

Conus 12 km, EPYC'de 8 düğüm ve 512 çekirdek sonrası performans açısından yatay bir seyir izleyen daha küçük bir veri kümesidir. Bu, Şekil 13'te gösterilmiştir. EPYC 7551 ve EPYC 7601, 32 çekirdekli işlemciler olup 7551'e kıyasla 7601'in taban saat frekansı ve tüm çekirdek turbo frekansı, sırasıyla %10 ve %6 daha hızlıdır. WRF conus 12 km testlerinde EPYC 7601 sisteminin performansı; 1, 2 ve 4 düğüm testlerinde 7551'den %3 daha hızlıydı.

Conus 2,5 km, daha büyük bir karşılaştırmalı test veri setidir ve 1 EPYC sistemine ilişkin olarak performans, 8 düğüme kadar (512 çekirdek) ölçeklenir ve ardından düşmeye başlar. Conus 2,5 km testinde EPYC 7601 sisteminin performansı, Şekil 14'te gösterildiği gibi yine 1, 2 ve 4 düğüm testlerinde EPYC 7551'e kıyasla %2-3 daha hızlıydı.

 

Sonuç ve sonraki adımlar

EPYC, soket başına iyi bir bellek bant genişliği ve çekirdek yoğunluğu sunar. HPC açısından bakıldığında mevcut bellek bant genişliği ve CPU çekirdeklerinden faydalanabilen uygulamaların, EPYC mimarisinden en iyi şekilde istifade edebilmeleri beklenir. EPYC şu anda tek bir döngüde AVX512 veya AVX2'yi desteklememektedir. Bu nedenle, yüksek düzeyde vektörleştirilmiş ve AVX2 veya AVX512'yi verimli bir şekilde kullanan kodlar EPYC için ideal olmayabilir.

Birden fazla NVMe sürücüsü kullanılabilen kullanım örneklerinde, EPYC'teki PCI-E hattı sayısı sayesinde mümkün olan doğrudan bağlanmış NVMe'den de yararlanılabilir.

Sonraki adımlarda, ek HPC uygulamaları içeren daha fazla performans testi gerçekleştireceğiz.





Article Properties


Affected Product

High Performance Computing Solution Resources, PowerEdge R7425

Last Published Date

21 Feb 2021

Version

3

Article Type

Solution