Özet
Yakın zamanda Dell EMC PowerEdge C4140, yeni bir "M Yapılandırması" çözümü ekledi. Bu en yeni seçenek C4140 ailesine katıldığından bu makalede HPL, GROMACS ve NAMD dahil olmak üzere farklı HPC uygulamaları için M Yapılandırması performansını K Yapılandırmasına kıyasla değerlendiren çalışmanın sonuçları sunulmaktadır.
Genel Bakış
PowerEdge C4140, 2 soketli, 1U raf tipi sunucudur. Intel Skylake işlemcilerini, 24 adede kadar DIMM yuvasını ve çift genişlikte dört adet NVIDIA Volta GPU kartını destekler. C4140 sunucu ailesinde NVLINK'i destekleyen iki yapılandırma, K Yapılandırması ve M Yapılandırmasıdır. Bu iki topolojinin karşılaştırması Şekil 1'de gösterilmektedir. Söz konusu iki yapılandırma arasındaki iki temel fark aşağıda açıklanmıştır:
p2pBandwidthLatencyTest
Şekil 2: C4140 K ve M Yapılandırmasında P2P (eşler arası ağ) devre dışı bırakıldığında kart-kart gecikmesi
p2pBandwidthLatencyTest, CUDA SDK'da bulunan bir mikro karşılaştırmalı testtir. GPUDirect™ eşler arası ağ etkinken ve devre dışıyken kart-kart gecikmesini ve bant genişliğini ölçer. Bu program, bant genişliğini eş zamanlı olarak ölçmediğinden söz konusu testin odak noktası Gecikme kısmıdır. Uygulamalar için mevcut gerçek bant genişliğiyle ilgili tartışma aşağıdaki HPL oturumunda yer almaktadır. Şekil 2'de listelenen sayılar, ortalama 100 kat tek yönlü kart-kart gecikmesini mikrosaniye cinsinden ifade eder. Kodun bir karttan diğerine her bayt gönderişinde P2P'nin devre dışı bırakıldığı sayı bu grafikte seçilir. Bunun nedeni P2P etkinleştirildiğinde verilerin NVLINK üzerinden aktarılmasıdır. M Yapılandırmasının PCIe gecikmesi, farklı PCIe topolojileri nedeniyle K Yapılandırmasına kıyasla 1,368 µs daha düşüktür.
Yüksek Performanslı Linpack (HPL)
1, 2, 4 ve 8 V100-SXM2 GPU'lu C4140 platformundaki HPL performansı Şekil 3 (a) üzerinde gösterilmektedir. 1 ila 4 GPU'nun sonuçları tek bir C4140'tan, 8 GPU'nun performans sonucu ise iki sunucu üzerinden elde edilir. Bu testte kullanılan HPL sürümü NVIDIA tarafından sağlanır ve yakın tarihte kullanıma sunulan CUDA 10 ve OpenMPI ile derlenir. HPL sonuçlarında aşağıdaki hususlar ortaya çıkar:
1) Tek düğüm. 4 GPU'nun tümü test edilirken M Yapılandırması, K Yapılandırmasına kıyasla yaklaşık %16 daha hızlıdır. Bilgi işleme başlamadan önce HPL uygulaması, tüm kartlar aynı anda veri aktardığında her GPU kartı için mevcut aygıt-ana bilgisayar (D2H) ve ana bilgisayar-aygıt (H2D) PCIe bant genişliğini ölçer. HPL, N*N Matrisini aynı anda tüm GPU belleklerine kopyaladığında bu bilgiler, her kart için gerçek PCIe bant genişliği hakkında yararlı analizler sunar. Şekil 3 (b) üzerinde gösterildiği gibi M Yapılandırmasının hem D2H hem de H2D sayıları çok daha yüksektir ve bu yapılandırma teorik olarak PCIe x16 işlem hacmine ulaşmaktadır. M Yapılandırmasındaki her GPU'da CPU'ya özel bir PCIe x16 Bağlantısı bulunduğundan bu durum, donanım topolojisiyle uyumludur. K Yapılandırmasında dört V100'ün tümü, PLX PCIe Anahtarı aracılığıyla tek bir PCIe x16 bağlantısını paylaşmalıdır. Böylece her V100 için yalnızca 2,5 GB/sn kullanılabilir. Bant genişliğindeki fark nedeniyle M Yapılandırmasında 4 adet 16 GB N*N Matrisinin her bir GPU'nun global belleğine kopyalanması 1,33 saniye sürdü. K Yapılandırmasında ise aynı işlem 5,33 saniyede tamamlandı. HPL uygulamasının tamamı yaklaşık 23-25 saniyede çalıştırılır. Tüm V100-SXM2'ler aynı olduğundan bilgi işlem süresi aynıdır. Bu nedenle, veri kopyalama işleminden elde edilen bu 4 saniyelik tasarruf, M Yapılandırmasını %16 daha hızlı hale getirir.
2) Birden fazla düğüm. 8 GPU'lu 2 C4140 düğümüne ait sonuçlar, iki düğümde de %15+ HPL iyileşmesi göstermektedir. Bu, yukarıdaki olayda tek düğümlü 4 kartla aynı nedenden dolayı M Yapılandırmasının K Yapılandırmasına kıyasla düğümler arasında daha iyi ölçeklendirilebilirliğe sahip olduğu anlamına gelir.
3) Verimlilik. Güç tüketimi iDrac ile ölçülmüştür. Zaman aralıklarındaki watt değeri Şekil 3 (c) üzerinde gösterilmektedir. Daha yüksek GFLOPS sayısı nedeniyle her iki sistem de yaklaşık 1850 W'de zirveye ulaşır. M Yapılandırması, watt değeri başına daha yüksek performans ve HPL verimliliği sağlar.
HPL, sistem düzeyinde bir karşılaştırmalı test ölçütüdür. HPL sonuçları, CPU, GPU, bellek ve PCIe bant genişliği gibi bileşenler tarafından belirlenir. M Yapılandırması, iki CPU arasında dengeli bir tasarıma sahiptir. Bu nedenle, söz konusu HPL karşılaştırmasında M Yapılandırmasına kıyasla daha iyi performans gösterir.
GROMACS
GROMACS, karmaşık türden birçok bağlı etkileşime sahip olan proteinler, lipitler ve nükleik asitler gibi biyokimyasal molekülleri simüle etmek amacıyla tasarlanmış açık kaynaklı bir moleküler dinamik uygulamasıdır. Bu uygulamanın 2018.3 sürümü, 3 milyon atom içeren su 3072 veri kümesinde test edilmiştir.
Şekil 4: C4140 K ve M Yapılandırmasında birden fazla V100 ile GROMACS Performans sonuçları
M Yapılandırmasının K Yapılandırmasına kıyasla performans iyileştirmesi Şekil 4'te gösterilmektedir. Veri yolunda herhangi bir fark olmadığı için tek kart performansı iki yapılandırmada da aynıdır. 2 ve 4 GPU ile M Yapılandırma, K Yapılandırmasına kıyasla yaklaşık %5 daha hızlıdır. 2 düğümde test gerçekleştirildiğinde M Yapılandırması %10'a kadar daha iyi performans gösterir.Bunun temel nedeni, daha fazla bant genişliği sağlayan ve daha fazla verinin GPU'ları hızlı şekilde beslemesine olanak tanıyan artırılmış PCIe bağlantı sayısıdır. GROMACS, GPU'larla büyük ölçüde hızlandırılır ancak bu uygulama, eş zamanlı hesaplama için hem CPU'ları hem de GPU'ları kullanır. Bu nedenle, kümedeki en iyi uygulama GROMACS ise güçlü bir CPU önerilir. Bu grafikte daha fazla sunucu ve daha fazla GPU ile GROMACS performans ölçeklendirmesi de gösterilmektedir. Uygulamanın performansı, daha fazla GPU ve daha fazla sunucuyla artarken ek GPU'larla performans, doğrusaldan daha düşük oranda artar.
Nanoscale Molecular Dynamics (NAMD)
NAMD, büyük biyomoleküler sistemlerin yüksek performanslı simülasyonu için tasarlanmış bir moleküler dinamik kodudur. Bu testlerde önceden oluşturulmuş ikili dosya kullanılmamıştır. Bunun yerine NAMD, CUDA 10 üzerinde en son kaynak koduyla (NAMD_Git-2018-10-31_Source) oluşturulmuştur. Şekil 4, STMV veri kümesini (1.066.628 atom, periyodik, PME) kullanarak performans sonuçlarını belirtir. F1atpase (327.506 atom, periyodik, PME) ve apoa1 (92.224 atom, periyodik, PME) gibi daha küçük veri kümeleriyle yapılan testlerde, M ve K Yapılandırması arasında benzer sonuçlar elde edilmiştir. Ancak konunun özüne odaklanmak amacıyla söz konusu sonuçlara burada yer verilmemiştir.
Şekil 5: C4140 K ve M Yapılandırmasında birden fazla V100 ile NAMD Performans sonuçları
GROMACS'a benzer şekilde, 4 kat daha fazla PCIe bant genişliği NAMD üzerindeki performansı iyileştirmeye yardımcı olur. Şekil 5, STMV veri kümesinde 2 ve 4 kartlı M Yapılandırmasına ait performansın K Yapılandırmasına kıyasla sırasıyla %16 ve %30 daha yüksek olduğunu göstermektedir. Testte yalnızca bir GPU kullanılıp PCIe bant genişliğinde fark bulunmadığından tek kart performansının aynı olması beklenmektedir.
Sonuç ve Gelecekteki Çalışmalar
Bu blogda HPC uygulamalarının performansı HPL, GROMACS ve NAMD ile PowerEdge C4140'ın iki farklı NVLINK yapılandırmasında karşılaştırılmıştır. HPL, GROMACS ve NAMD, M Yapılandırmasında K Yapılandırmasına kıyasla yaklaşık %10 daha iyi performans göstermektedir. M Yapılandırması, K Yapılandırmasının iyi özelliklerinin tümüne ve daha fazla PCIe bağlantısına sahip olup PCIe anahtarı barındırmadığından tüm testlerde en azından K Yapılandırması ile aynı performansı sunar. Gelecekte RELION, HOOMD ve AMBER gibi daha fazla uygulamanın yanı sıra V100 32G GPU kullanılarak yapılacak testler ile ek çalışmalar planlanmaktadır.