Makale, HPC ve AI Innovation Lab bünyesinden Mario Gallegos tarafından Ekim 2019'da yazılmıştır
İstemci düğüm sayısı |
16 |
İstemci düğüm |
C6320 |
İstemci düğüm başına işlemci |
2 x Intel(R) Xeon(R) Gold E5-2697v4 18 Çekirdek (2,30 GHz) |
İstemci düğümü başına bellek |
12 x 16 GiB 2400 MT/sn RDIMM |
BIOS |
2.8.0 |
İşletim Sistemi Çekirdeği |
3.10.0-957.10.1 |
GPFS sürümü |
5.0.3 |
./iozone -i0 -c -e -w -r 8M -s 128G -t $Threads -+n -+m ./threadlist
./iozone -i1 -c -e -w -r 8M -s 128G -t $Threads -+n -+m ./threadlist
mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --mca btl_openib_allow_ib 1 --mca pml ^ucx --oversubscribe --prefix /mmfs1/perftest/ompi /mmfs1/perftest/lanl_ior/bin/ior -a POSIX -v -i 1 -d 3 -e -k -o /mmfs1/perftest/tst.file -w -s 1 -t 8m -b 128G
mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --mca btl_openib_allow_ib 1 --mca pml ^ucx --oversubscribe --prefix /mmfs1/perftest/ompi /mmfs1/perftest/lanl_ior/bin/ior -a POSIX -v -i 1 -d 3 -e -k -o /mmfs1/perftest/tst.file -r -s 1 -t 8m -b 128G
./iozone -i2 -c -O -w -r 4K -s 32G -t $Threads -+n -+m ./threadlist
mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --prefix /mmfs1/perftest/ompi --mca btl_openib_allow_ib 1 /mmfs1/perftest/lanl_ior/bin/mdtest -v -d /mmfs1/perftest/ -i 1 -b $Directories -z 1 -L -I 1024 -y -u -t -F
İş Parçacığı sayısı |
İş parçacığı başına dizin sayısı |
Toplam dosya sayısı |
1 |
2048 |
2.097.152 |
2 |
1024 |
2.097.152 |
4 |
512 |
2.097.152 |
8 |
256 |
2.097.152 |
16 |
128 |
2.097.152 |
32 |
64 |
2.097.152 |
64 |
32 |
2.097.152 |
128 |
16 |
2.097.152 |
256 |
8 |
2.097.152 |
512 |
4 |
2.097.152 |
1024 |
2 |
2.097.152 |
mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --prefix /mmfs1/perftest/ompi --mca btl_openib_allow_ib 1 /mmfs1/perftest/lanl_ior/bin/mdtest -v -d /mmfs1/perftest/ -i 1 -b $Directories -z 1 -L -I 1024 -y -u -t -F -w 4K -e 4K
Şekil 6: Meta Veri Performansı - Küçük dosyalar (4K)
Sistem, Stat ve Removal işlemleri için çok iyi sonuçlar alıyor ve sırasıyla 7,7 M op/s ve 1 M op/s ile 128 iş parçacığında en yüksek değerlerine ulaşıyor. Kaldırma işlemleri maksimum 37,3 bin işlem/sn'ye ulaşırken, Oluşturma işlemleri her ikisi de 512 iş parçacığında 55,5 bin işlem/sn ile zirveye ulaştı. İstatistik ve Kaldırma işlemleri daha fazla değişkenliğe sahiptir, ancak en yüksek değerlerine ulaştıklarında performans, İstatistikler için 4 milyon işlem/sn'nin ve Kaldırma için 200 bin işlem/sn'nin altına düşmez. Oluşturma ve Okuma daha az değişkenliğe sahiptir ve iş parçacığı sayısı arttıkça artmaya devam eder.
Bu sayılar tek bir ME4024 içeren bir meta veri modülü için olduğundan, her ek ME4024 dizisi için performans artacaktır, ancak her işlem için yalnızca doğrusal bir artış olduğunu varsayamayız. Tüm dosya bu tür bir dosya için inode içine sığmadığı sürece ME4084'lerdeki veri hedefleri 4 K dosyaları depolamak için kullanılacak ve performansı bir dereceye kadar sınırlayacaktır. Inode boyutu 4 KiB olduğundan ve meta veri depolaması gerektiğinden, yalnızca 3 KiB civarındaki dosyaları alabilecek ve bundan büyük herhangi bir dosya veri hedeflerini kullanacaktır.
Bu test, 3KiB'lik küçük dosyaların kullanılması dışında, öncekilerle neredeyse tamamen aynıdır. Temel fark, bu dosyaların inode'un içine tamamen sığmasıdır. Bu nedenle, depolama düğümleri ve ME4084'leri kullanılmaz; depolama için yalnızca SSD ortamı ve daha az ağ erişimi kullanarak genel hızı artırır.
Kıyaslamayı gerçekleştirmek için aşağıdaki komut kullanıldı. Threads, kullanılan iş parçacığı sayısını (ikinin kuvvetleriyle artarak 1 ila 512) içeren değişken ve my_hosts.$Threads her iş parçacığını farklı bir düğüme tahsis eden dosyadır. Bunları 16 bilgi işlem düğümüne homojen şekilde yaymak için round robin (çevrimsel sıralı) kullanıldı.
mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --prefix /mmfs1/perftest/ompi --mca btl_openib_allow_ib 1 /mmfs1/perftest/lanl_ior/bin/mdtest -v -d /mmfs1/perftest/ -i 1 -b $Directories -z 1 -L -I 1024 -y -u -t -F -w 3K -e 3K
Şekil 7: Meta Veri Performansı - Küçük dosyalar (3K)
Sistem, sırasıyla 8,29 milyon işlem/sn ve 5,06 milyon işlem/sn ile 256 iş parçacığında en yüksek değerine ulaşan İstatistik ve Okuma işlemleri için çok iyi sonuçlar alır. Kaldırma işlemleri 128 iş parçacığında maksimum 609 bin işlem/sn'ye ulaştı ve oluşturma işlemleri 512 iş parçacığında 78 bin işlem/sn ile zirveye ulaştı. Stat ve Read işlemleri, Oluşturma ve Kaldırma'dan daha fazla değişkenliğe sahiptir. Çıkarma, iki yüksek iş parçacığı noktası için performansta küçük bir düşüşe neden olur, bu da 128 iş parçacığından sonra devam eden performansın 400K op/s'nin biraz üzerinde olacağını düşündürür. Oluşturur 512 iş parçacığına kadar artmaya devam etti, ancak bir platoya ulaşıyor gibi görünüyor, bu nedenle maksimum performans hala 100K op/s'nin altında olabilir.
Bunun gibi küçük dosyalar tamamen SSD tabanlı meta veri modülünde depolandığından, üstün küçük dosya performansı gerektiren uygulamalar, küçük dosyaların performansını artırmak için bir veya daha fazla isteğe bağlı yüksek talep meta verisi modülü kullanabilir. Ancak, inode'a uyan dosyalar mevcut standartlara göre küçüktür. Ayrıca meta verisi hedefleri, SSD'leri nispeten küçük (maksimum boyut 19,2 TB) olan RAID1'leri kullandığından, depolama düğümleriyle karşılaştırıldığında kapasite sınırlı olacaktır. Bu nedenle, gereksiz arızalara ve diğer sorunlara neden olabilecek Meta Veri hedeflerini doldurmaktan kaçınmak için dikkatli olunmalıdır.
PixStor'un yetenekleri arasında, gelişmiş analitik yoluyla dosya sistemini izlemek, yönetimi büyük ölçüde basitleştirmek, sorunları veya olası sorunları proaktif veya reaktif olarak bulmaya yardımcı olmak için gerekli olabilir. Ardından, bu yeteneklerden bazılarını kısaca gözden geçireceğiz.
Şekil 8'de dosya sistemi kapasitesine dayalı yararlı bilgiler gösterilmektedir. Sol tarafta, kullanılan dosya sistemi toplam alanı ve kullanılan dosya sistemi kapasitesine göre ilk on kullanıcı. Sağ tarafta, pareto grafiklerine benzer bir biçimde (kümülatif toplamlar için satırlar olmadan) her ikisi de kullanılan kapasiteye dayalı olarak uzun yıllar boyunca kullanılan kapasitenin yer aldığı geçmiş görünümü, ardından kullanılan ilk on dosya türü ve ilk on dosya kümesi yer alır. Bu bilgilerle, kullanıcıların dosya sisteminden paylarına düşenden daha fazlasını elde ettiklerini, kapasitenin gelecekteki büyümesine ilişkin kararlara yardımcı olmak için kapasite kullanım eğilimlerini, alanın çoğunu hangi dosyaların kullandığını veya hangi projelerin kapasitenin çoğunu aldığını bulmak kolay olabilir.
Şekil 8: PixStor Analytics - Kapasite görünümü
Şekil 9, sorunları bulmak için çok kullanışlı iki yol içeren bir dosya sayısı görünümü sağlar. Ekranın ilk yarısında, tümü dosya sayısına bağlı olarak, bir pasta grafikte ilk on kullanıcı ve ilk on dosya türü ve ilk on dosya kümesi (projeleri düşünün) pareto grafiklerine benzer bir biçimde (kümülatif toplamlar için çizgiler olmadan) bulunur. Bu bilgiler bazı önemli soruları yanıtlamak için kullanılabilir. Örneğin, çok fazla dosya oluşturarak dosya sistemini tekeline alan kullanıcılar, meta veri kabusu yaratan dosya türü veya kaynakların çoğunu hangi projeler kullanıyor.
Alt yarı, farklı dosya boyutları için 5 kategori kullanan dosya boyutları için dosya sayısını (sıklığı) içeren bir histograma sahiptir. Bu, dosya sistemi genelinde kullanılan dosya boyutları hakkında bir fikir edinmek için kullanılabilir ve dosya türleriyle koordineli olarak sıkıştırmanın yararlı olup olmayacağına karar vermek için kullanılabilir.
Şekil 9: PixStor Analytics - Dosya sayısı görünümü
Mevcut çözüm, Tablo 4'te görülebileceği gibi, kullanılan alandan bağımsız olarak (sistem dağınık modda biçimlendirildiğinden) kararlı olması beklenen oldukça iyi bir performans sunabildi. Ayrıca daha fazla depolama düğümü modülü eklendikçe çözüm kapasite ve performans açısından doğrusal olarak ölçeklenir ve isteğe bağlı yüksek talepli meta veri modülünden de benzer bir performans artışı beklenebilir. Bu çözüm, HPC müşterilerine birçok İlk 500 HPC kümesi tarafından kullanılan çok güvenilir bir paralel dosya sistemi sağlar. Buna ek olarak, olağanüstü arama yetenekleri, gelişmiş izleme ve yönetim sağlar ve isteğe bağlı ağ geçitleri eklemek, NFS, SMB ve diğerleri gibi her yerde bulunan standart protokoller aracılığıyla gerektiği kadar istemciye dosya paylaşımına izin verir.
Tablo 4 En Yüksek ve Sürdürülebilir Performans
|
En Yüksek Performans |
Sürdürülebilir Performans |
||
Yazma |
Read (Okuma) |
Yazma |
Read (Okuma) |
|
Büyük Sıralı N istemciden N dosyaya |
16,7 GB/sn |
23 GB/sn |
16,5 GB/sn |
20,5 GB/sn |
Büyük Sıralı N istemciden tek bir paylaşılan dosyaya |
16,5 GB/sn |
23,8 GB/sn |
16,2 GB/sn |
20,5 GB/sn |
Rastgele Küçük bloklar N istemciden N dosyaya |
15.8KIOps |
20.4KIOps |
15.7KIOps |
20.4KIOps |
Meta Veri Oluşturma boş dosyalar |
169.400 IOps |
127,2K IOps |
||
Meta Veri İstatistik boş dosyalar |
11,2 Milyon IOps |
3,3 Milyon IOps |
||
Meta Veri Okuma boş dosyalar |
4,8 Milyon IOps |
2,4 Milyon IOps |
||
Meta Veri Kaldırma boş dosyalar |
194,2K IOps |
144,8K IOps |
||
Meta Veri Oluşturma 4 KiB dosyalar |
55,4K IOps |
55,4K IOps |
||
Meta Veri İstatistik 4 KiB dosyalar |
6,4 Milyon IOps |
4M IOps |
||
Meta Veri Okuma 4 KiB dosyalar |
37,3K IOps |
37,3K IOps |
||
Meta Veri Kaldırma 4 KiB dosyalar |
1 Milyon IOps |
219,5K IOps |
Çözümün Cascade Lake CPU'lar ve daha hızlı RAM ile piyasaya sürülmesi planlandığından sistem, nihai yapılandırmaya sahip olduğunda bazı performans kontrolleri yapılacaktır. Veri hedefleri söz konusu olduğunda meta veri performansının nasıl ölçeklendiğini daha iyi belgelendirmek için isteğe bağlı Yüksek Talepli Meta Veri Modülünün en az 2x ME4024 ve 4 KiB dosyalarla test edilmesi gerekmektedir. Buna ek olarak, ağ geçidi düğümlerinin performansı ölçülecek ve kontrollerden elde edilen ilgili sonuçlarla birlikte yeni bir blog yazısında veya teknik raporda rapor edilecektir. Son olarak, daha fazla özellik sağlamak için daha fazla çözüm bileşeninin test edilmesi ve piyasaya sürülmesi planlanmaktadır.