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.

HPC BeeGFS Yüksek Performanslı Depolama için Dell EMC Ready Çözümleri

Summary: PowerEdge R740xd, PowerEdge R640, PowerSwitch S3048-ON, Mellanox SB7890, BeeGFS v7.1.3, HPC ve AI Innovation Lab, HPC, BeeGFS Yüksek Performanslı Depolama Çözümü, IOzone, Sıralı Okuma ve Yazma Performansı, Rastgele Okuma ve Yazma Performansı ...

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

Makale, Dell EMC HPC ve AI Innovation Lab bünyesinde Nirmala Sundararajan tarafından Kasım 2019'da yazılmıştır

Cause

HPC BeeGFS Yüksek Performanslı Depolama için Dell EMC Ready Çözümleri

Resolution

İçindekiler

  1. Giriş
  2. Çözüm Referans Mimarisi
  3. Donanım ve Yazılım yapılandırması
  4. Çözüm Yapılandırma Ayrıntıları
  5. R740xd, 24x NVMe Sürücüler, CPU Eşlemesine İlişkin Ayrıntılar
  6. Performans Karakterizasyonu
  7. Sonuç ve Gelecekteki Çalışmalar
     

Giriş

Dell EMC HPC ekibi, HPC depolama portföyüne son eklenen "HPC BeeGFS Depolaması için Dell EMC Ready Çözümleri"nin piyasaya sürüldüğünü duyurmaktan gurur duyar. Bu çözüm, her biri 24x Intel P4600 1,6 TB NVMe, Karma Kullanımlı Express Flash sürücüler ve iki Mellanox ConnectX-5 InfiniBand EDR bağdaştırıcısına sahip R740xd sunucularını kullanır. Bu 24 NVMe sürücü yapılandırmasında, 12x NVMe SSD bir PCIe anahtarına bağlanır ve her anahtar bir x16 PCIe genişletici kartı aracılığıyla CPU'ya bağlanır. Ayrıca her IB arayüzü bir CPU'ya bağlanır. Her CPU'nun bir InfiniBand bağdaştırıcısına bağlı olduğu ve 12 NVMe SSD'yi kullandığı bu dengeli yapılandırma, işlemcilerin NVMe sürücülerine giden ve NVMe sürücülerinden gelen G/Ç taleplerini ele alırken eşit şekilde çalışmasını sağlayarak maksimum performans sunar.

Çözümün odak noktası, yüksek performanslı G/Ç'dir ve yüksek hızlı, sıfırdan hazırlanan bir çözüm olarak tasarlanmıştır.  Çözümün temelinde, blok katmanından zamanlayıcı ve kuyruğa alma ile ilgili performans sorunlarını gidererek çok yüksek bant genişliği ve düşük gecikme süresi sunan yüksek hızlı NVMe SSD'lerin kullanılması yer almaktadır. BeeGFS dosya sistemi ayrıca yüksek toplam G/Ç performansını da desteklemektedir

Çözüm Referans Mimarisi

Şekil 1'de, çözümün referans mimarisi gösterilmektedir. Yönetim sunucusu, meta veri ve depolama sunucularına yalnızca Ethernet üzerinden bağlanır. Her meta veri ve depolama sunucusu iki InfiniBand bağlantısına sahiptir ve Ethernet üzerinden özel ağa bağlanır. İstemcilerin bir InfiniBand bağlantısı vardır ve özel arayüze Ethernet üzerinden bağlanırlar.
HPC BeeGFS Depolaması için Dell EMC Ready Çözümleri - Referans Mimarisi
Şekil 1:  HPC BeeGFS Depolaması için Dell EMC Ready Çözümleri - Referans Mimarisi

Donanım ve Yazılım yapılandırması

Tablo 1 ve 2, sırasıyla yönetim sunucusu ve meta veri/depolama sunucusunun donanım özelliklerini göstermektedir. Tablo 3'te çözüm için kullanılan yazılım sürümleri açıklanmıştır.

 

Tablo 1 PowerEdge R640 Yapılandırması (Yönetim Sunucusu)
Sunucu Dell EMC PowerEdge R640
İşlemci 2x Intel Xeon Gold 5218 2,3 GHz, 16 çekirdek
Bellek 12 x 8 GB DDR4 2666MT/s DIMM - 96 GB
Yerel Diskler 6 x 300 GB 15K RPM SAS 2,5 inç HDD
RAID Denetleyicisi PERC H740P Entegre RAID Denetleyicisi
Bant Dışı Yönetim Lifecycle Controller teknolojisine sahip iDRAC9 Enterprise
Güç Kaynakları Çift 1100 W Güç Kaynağı Ünitesi
BIOS Sürümü 2.2.11
İşletim Sistemi CentOS™ 7.6
Kernel Sürümü 3.10.0-957.27.2.el7.x86_64

 

Tablo 2 PowerEdge R740xd Yapılandırması (Meta Veri ve Depolama Sunucuları)
Sunucu Dell EMC PowerEdge R740xd
İşlemci 2,90 GHz'de 2x Intel Xeon Platinum 8268 CPU, 24 çekirdek
Bellek 12 x 32 GB DDR4 2933MT/s DIMM - 384 GB
BOSS Kartı İşletim sistemi için RAID 1'de 2x 240 GB M.2 SATA SSD
Yerel Sürücüler 24x Dell Express Flash NVMe P4600 1,6 TB 2,5 inç U.2
Mellanox EDR kartı 2x Mellanox ConnectX-5 EDR kartı (Yuva 1 ve 8)
Bant Dışı Yönetim Lifecycle Controller teknolojisine sahip iDRAC9 Enterprise
Güç Kaynakları Çift 2000 W Güç Kaynağı Ünitesi

 

Tablo 3 Yazılım Yapılandırması (Meta Veri ve Depolama Sunucuları)
BIOS 2.2.11
CPLD 1.1.3
İşletim Sistemi CentOS™ 7.6
Kernel Sürümü 3.10.0-957.el7.x86_64
iDRAC 3.34.34.34
Sistem Yönetimi Aracı OpenManage Server Administrator 9.3.0-3407_A00
Mellanox OFED 4.5-1.0.1.0
NVMe SSD'ler QDV1DP13
*Intel ® Data Center Tool  3.0.19
BeeGFS 7.1.3
Grafana 6.3.2
InfluxDB 1.7.7
IOzone Karşılaştırmalı Testi 3.487
*Intel P4600NVMe SSD'lerin Yönetimi ve Bellenim güncelleştirmesi için

Çözüm Yapılandırma Ayrıntıları

BeeGFS mimarisi dört ana hizmetten oluşmaktadır:
  • Yönetim hizmeti
  • Meta Veri Hizmeti
  • Depolama Hizmeti
  • İstemci Hizmetleri
Çekirdek modülü olan istemci hizmeti dışında yönetim, meta veri ve depolama hizmetleri kullanıcı alanı işlemleridir. Şekil 2, HPC BeeGFS Depolaması için Dell EMC Ready Çözümlerinin referans mimarisinin BeeGFS dosya sisteminin genel mimarisiyle nasıl eşleştiğini göstermektedir.
NVMe SSD ile çalışan PowerEdge R740xd üzerinde BeeGFS Dosya sistemi
Şekil 2:  NVMe SSD ile çalışan PowerEdge R740xd üzerinde BeeGFS Dosya sistemi

Yönetim Hizmeti

Her BeeGFS dosya sistemi veya ad alanının yalnızca bir yönetim hizmeti vardır. Yönetim hizmeti, kurulması gereken ilk hizmettir çünkü yapılandırdığımız diğer tüm hizmetlerin, yönetim hizmetine kaydolması gerekir.  Yönetim sunucusu olarak bir PowerEdge R640 kullanılır. Yönetim hizmetini barındırmanın (beegfs-mgmtd.service) yanı sıra zaman serisi veritabanı InfluxDB'yi kullanarak sistemden istatistik toplayan ve bunları kullanıcıya sağlayan izleme hizmetini de barındırır (beegfs-mon.service). Verilerin görselleştirilmesi için beegfs-mon, ilk kurulumda kullanılabilecek önceden tanımlanmış Grafana panelleri sağlar. Yönetim sunucusu, İşletim Sistemi ve InfluxDB için RAID 10'da yapılandırılmış 6x 300 GB HDD'ye sahiptir.

Meta Veri Hizmeti

Meta veri hizmeti ölçeklenebilir bir hizmettir. Bu nedenle bir BeeGFS dosya sisteminde çok sayıda meta veri hizmeti olabilir. Ancak her meta veri hizmetinin, meta verileri depolamak için tam olarak bir meta veri hedefi vardır.  Meta veri hedefinde BeeGFS, kullanıcı tarafından oluşturulan her dosya için bir meta veri dosyası oluşturur. BeeGFS meta verileri dizin bazında dağıtılır. Meta veri hizmeti, istemcilere veri şeritleme bilgilerini sağlar ve dosya açma/kapama arasındaki veri erişimine etki etmez.

Meta veri depolama için 24x Intel P4600 1,6 TB NVMe sürücülü bir PowerEdge R740xd kullanılır. BeeGFS meta verileri için depolama kapasitesi gereksinimleri çok küçük olduğundan özel bir meta veri sunucusu kullanmak yerine, Meta Veri Hedeflerini (MDT'ler) barındırmak için yalnızca NUMA bölgesi 0'daki 12 sürücü kullanılırken NUMA bölgesindeki kalan 12 sürücü Depolama Hedeflerini (ST'ler) barındırmaktadır.

Şekil 3, meta veri sunucusunu göstermektedir. Sarı dikdörtgen içine alınmış 12 sürücü NUMA bölge 0'daki MDT'leri ve yeşil dikdörtgen içine alınmış 12 sürücü NUMA bölge 1'deki ST'leri temsil etmektedir. Bu yapılandırma NUMA sorunlarını önlemekle kalmaz, aynı zamanda kapasiteyi ve performansı gerektiği şekilde ölçeklendirmeyi kolaylaştırmak için yeterli meta veri depolaması sağlar.

Meta Veri Sunucusu

Şekil 3:  Metadata Sunucusu

Şekil 4 meta veri sunucusunun RAID yapılandırmasını göstermektedir. Meta veri sunucusunda, NUMA bölge 0'daki sürücülerin MDT'leri ve NUMA bölge 1'dekilerin depolama verilerini barındırırken depolama sunucularının her iki NUMA bölgesindeki ST'leri barındırdığını vurgular.

Meta Veri Sunucusundaki sürücülerin yapılandırılması

Şekil 4:  Meta Veri Sunucusundaki sürücüleri yapılandırma

Meta veriler için kullanılan 12 sürücü, her biri bir MDT olarak hizmet veren 2 sürücülük 6x RAID 1 disk grubu olarak yapılandırılmıştır. Her biri bir MDT'yi yöneten 6 meta veri hizmeti çalışmaktadır. Kalan 12 depolama sürücüsü, her biri 4 sürücüden oluşan 3x RAID 0 disk grubu olarak yapılandırılmıştır. Her ST için bir hizmet olmak üzere NUMA 1 bölgesinde çalışan üç depolama hizmeti vardır. Bu nedenle, meta verileri ve Depolama Hedeflerini birlikte barındıran sunucu 6 MDT'ye ve 3 ST'ye sahiptir. Ayrıca 6 meta veri hizmeti ve üç depolama hizmeti çalıştırmaktadır. Her MDT, RAID 1 yapılandırmasına dayalı bir ext4 dosya sistemidir. ST'ler RAID 0'da yapılandırılmış XFS dosya sistemine dayanır.
 

Depolama Hizmeti

Meta veri hizmeti gibi, depolama hizmeti de ölçeklenebilir bir hizmettir. BeeGFS dosya sisteminde depolama hizmetinin birçok örneği olabilir. Ancak meta veri hizmetinin aksine, depolama hizmeti başına birden fazla depolama hedefi mevcut olabilir.  Depolama hizmeti, veri yığın dosyaları olarak da bilinen şeritlenmiş kullanıcı dosyası içeriklerini depolar

Şekil 5, depolama sunucusu olarak kullanılan 5x PowerEdge R740xd sunucularını göstermektedir.
Ayrılmış Depolama Sunucuları
Şekil 5:  Özel Depolama Sunucuları

Her bir depolama sunucusu, her biri 4 sürücüden oluşan 6x RAID 0 grubu ile yapılandırılmıştır. Böylece aşağıda Şekil 6'da gösterildiği gibi sunucu başına 6 ST barındırır (NUMA bölgesi başına 3):
Depolama Sunucularındaki sürücülerin yapılandırılması
Şekil 6:  Depolama Sunucularında sürücüleri yapılandırma

Temel referans mimari yapılandırması toplamda 6 MDT ve 33 ST barındırmaktadır. Beş özel depolama sunucusuna sahip olmak, 211 TB ham kapasite ve 190 TiB kullanılabilir kapasite sağlar. TiB cinsinden tahmini kullanılabilir kapasite = Sürücü sayısı x TB cinsinden sürücü başına kapasite x 0,99 (dosya sistemi ek yükü) x (10^12/2^40). Bu, kapasite gereksinimleri arttıkça daha fazla depolama sunucusu eklemeyi kolaylaştırmak için yeterli meta veri depolamasına sahip, orta sınıf bir sıfırdan hazırlanan çözüm olarak idealdir.

Aşağıdaki faktörler göz önünde bulundurulduğunda depolama hedefleri için RAID 10 yapılandırması yerine RAID 0 yapılandırması seçilmiştir.
  1. Yazma performansı dd komutu kullanılarak 1 MiB blok boyutunda 10 GiB dosya oluşturularak ve veriler için doğrudan G/Ç kullanılarak ölçülmüştür. RAID 0 cihazları için ortalama her cihaz için yaklaşık 5,1 GB/sn iken RAID 10 cihazları için ortalama 3,4 GB/sn olmuştur.
  2. StorageBench karşılaştırmalı testleri, RAID 0 yapılandırması için maksimum verimin 5,5 GB/sn olduğunu gösterirken RAID 10 yapılandırması için bu değer 3,4 GB/sn'dir. Bu sonuçlar, dd komutları kullanılarak elde edilen sonuçlarla aynıdır.
  3. RAID 10, disk kapasitesinin %50 oranında kullanılmasını ve yazma performansında benzer bir %50 artış elde edilmesini sağlar. RAID 10 kullanmak, depolama yedekliliği elde etmek için yüksek maliyetli bir yöntemdir.
  4. NVMe sürücüler pahalıdır ve RAID 0 yapılandırmasında en iyi şekilde kullanılabilecek hız artışları sunar
 

İstemci Hizmetleri

BeeGFS istemci modülünün BeeGFS dosya sistemine erişmesi gereken tüm ana bilgisayarlara yüklenmesi gerekir. beegfs-client yüklendiğinde /etc/fstab'a dayalı olağan yaklaşım yerine /etc/beegfs/beegfs-mounts.conf dosyasında tanımlanan dosya sistemlerini bağlar.  Bu yaklaşımı benimsemek, beegfs-client'ı diğer Linux hizmetleri gibi hizmet başlangıcı komut dosyası aracılığıyla başlatır. Ayrıca sistem güncelleştirmelerinden sonra BeeGFS istemci modülünün otomatik olarak yeniden derlenmesini sağlar. 

İstemci modülü yüklendiğinde, beegfs-mounts.conf dosyasında tanımlanan dosya sistemlerini bağlar. Aşağıda gösterildiği üzere aynı istemci üzerinde birden fazla beegfs örneği bağlamak mümkündür:

$ cat /etc/beegfs/beegfs-mounts.conf
/mnt/beegfs-medium /etc/beegfs/beegfs-client-medium.conf
/mnt/beegfs-small /etc/beegfs/beegfs-client-small.conf

Yukarıdaki örnekte aynı istemciye bağlanmış iki farklı dosya sistemi gösterilmektedir. Bu testte istemci olarak 32x C6420 düğümü kullanılmıştır.

R740xd, 24x NVMe Sürücüler, CPU Eşlemesine İlişkin Ayrıntılar


PowerEdge R740xd sunucusunun 24xNVMe yapılandırmasında, arka panelde PCIe anahtarını besleyen ve aşağıdaki Şekil 7'de gösterildiği üzere öndeki sürücüleri (sürücüler x4'tür) besleyen iki x16 NVMe köprü kartı vardır:

R740xd, 24x NVMe CPU Eşlemesine İlişkin Ayrıntılar
Şekil 7:  R740xd, 24x NVMe CPU Eşlemesine İlişkin Ayrıntılar

Tekdüze Olmayan Bellek Erişiminde (NUMA) sistem belleği, CPU'lara veya yuvalara tahsis edilen "düğüm" adı verilen bölgelere ayrılır. CPU'ya yerel olarak bağlı olan belleğe erişim, sistemdeki uzak CPU'lara bağlı belleğe erişmekten daha hızlıdır. İş parçacıklı bir uygulama, iş parçacıkları aynı NUMA düğümündeki belleğe eriştiğinde genellikle en iyi performansı gösterir. NUMA eksikliklerinin performans üzerindeki etkisi önemlidir ve genellikle %10 veya daha yüksek bir performans etkisinden başlar. Performansı artırmak için hizmetler, UPI çapraz yuva bağlantılarının gereksiz kullanımını önlemek ve böylece gecikmeyi azaltmak için belirli NUMA bölgelerini kullanacak şekilde yapılandırılmıştır. Her NUMA bölgesi 12 sürücüyü işler ve sunuculardaki iki InfiniBand EDR arayüzünden birini kullanır. Bu NUMA ayrımı, özel systemd birim dosyaları oluşturularak NUMA dengelemesinin manuel olarak yapılandırılması ve çoklu giriş ayarlamanın yapılandırılmasıyla elde edilir. Bu nedenle, aşağıda gösterildiği üzere otomatik NUMA dengeleme devre dışı bırakılmıştır:

# cat /proc/sys/kernel/numa_balancing
0

Şekil 8'de NUMA bölgesine InfiniBand bağlantılarının vurgulandığı sınama ortamı gösterilmektedir.  Her sunucunun iki IP bağlantısı vardır ve NUMA 0 bölgesinden geçen trafik IB0 arayüzü tarafından sağlanırken NUMA 1 bölgesinden geçen trafik IB1 arayüzü tarafından sağlanır.
Sınama Ortamı Yapılandırması
Şekil 8:  Sınama Ortamı Yapılandırması
 

Performans Karakterizasyonu

Bu bölümde HPC BeeGFS Yüksek Performanslı Depolama için Dell EMC Ready Çözümünü karakterize etmeye yardımcı olan performans değerlendirmesi sunulmaktadır. Daha fazla ayrıntı ve güncelleştirme için lütfen daha sonra yayınlanacak teknik incelemeye bakın. Sistem performansı IOzone karşılaştırmalı testi kullanılarak değerlendirilmiştir. Çözüm, sıralı okuma ve yazma verimi ile rastgele okuma ve yazma IOPS için test edilmiştir. Tablo 4, bu blog yazısında sunulan performans çalışmaları için BeeGFS istemcisi olarak kullanılan C6420 sunucularının yapılandırmasını açıklamaktadır.
 
Tablo 4 İstemci Yapılandırması
İstemciler 32x Dell EMC PowerEdge C6420 Bilgi İşlem Düğümü
BIOS 2.2.9
İşlemci 2,40 GHz'de 2x Intel Xeon Gold 6148 CPU, işlemci başına 20 çekirdek
Bellek  12 x 16 GB DDR4 2666 MT/s DIMM - 192 GB
BOSS Kartı İşletim sistemi için RAID 1'de 2x 120 GB M.2 önyükleme sürücüleri
İşletim Sistemi Red Hat Enterprise Linux Sunucusu sürüm 7.6
Kernel Sürümü 3.10.0-957.el7.x86_64
Interconnect 1x Mellanox ConnectX-4 EDR kartı
OFED Sürümü 4.5-1.0.1.0

Sıralı Yazmalar ve Okumalar N-N

Sıralı okuma ve yazmaları değerlendirmek için sıralı okuma ve yazma modunda IOzone karşılaştırmalı testi kullanıldı. Bu testler, 1 iş parçacığından başlayıp ikiye katlanarak 1024 iş parçacığına kadar olmak üzere çeşitli iş parçacığı sayılarıyla gerçekleştirildi. Bu test iş parçacığı başına bir dosya veya N dosya başına N istemci (N-N) senaryosunda çalıştığı için her iş parçacığı sayısında eşit sayıda dosya oluşturuldu. İşlemler 32 fiziksel istemci düğümüne çevrimsel sıralı veya döngüsel bir şekilde dağıtılmıştır. Böylece talepler eşit olarak dağıtılmış ve yük dengelemesi sağlanmıştır. 8 TB'lik bir toplama dosyası boyutu seçildi ve bu, tüm testlerde iş parçacığı sayısına eşit olarak dağıtıldı. Toplam dosya boyutu, hem sunuculardan hem BeeGFS istemcilerinden gelen önbellekleme etkilerini en aza indirecek büyüklükte seçilmiştir. IOzone, işlemler arasındaki sınırları koordine edebilmesi için birleşik yazma ve okuma modunda (-i 0, -i 1) çalıştırıldı. Bu test ve sonuçlarda her çalıştırmada 1 MiB kayıt boyutu kullandık. Sıralı N-N testleri için kullanılan komutlar aşağıda verilmiştir:

Sıralı Yazma ve Okuma: iozone -i 0 -i 1 -c -e -w -r 1m -I -s $Size -t $Thread -+n -+m /path/to/threadlist

İşletim sistemi önbellekleri, şu komut çalıştırılarak yazma ve okuma testlerinin yanı sıra yinelemeler arasında istemci düğümlerinde de kapatıldı veya temizlendi:

# sync & echo 3 > /proc/sys/vm/drop_caches

Beegfs için varsayılan şerit sayısı 4'tür. Ancak yığın boyutu ve dosya başına hedef sayısı dizin bazında yapılandırılabilir. Tüm bu testler için BeeGFS şerit boyutu 2 MB olarak seçildi ve aşağıda gösterildiği gibi NUMA bölgesi başına üç hedefimiz olduğu için şerit sayısı 3 olarak seçildi:

$ beegfs-ctl --getentryinfo --mount=/mnt/beegfs /mnt/beegfs/benchmark --verbose
EntryID: 0-5D9BA1BC-1
ParentID: root
Metadata node: node001-numa0-4 [ID: 4]
Stripe pattern details:
+ Type: RAID0
+ Chunksize: 2M
+ Number of storage targets: desired: 3

+ Storage Pool: 1 (Default)
Inode hash path: 7/5E/0-5D9BA1BC-1

Büyük boyutlu şeffaf sayfalar devre dışı bırakıldı ve meta veri ve depolama sunucularında aşağıdaki ayarlama seçenekleri uygulandı:

  • vm.dirty_background_ratio = 5 
  • vm.dirty_ratio = 20 
  • vm.min_free_kbytes = 262144 
  • vm.vfs_cache_pressure = 50
  • vm.zone_reclaim_mode = 2 
  • kernel.numa_balancing = 0

Yukarıdakilere ek olarak aşağıdaki BeeGFS ayarlama seçenekleri kullanılmıştır: 

  • tuneTargetChooser parametresi meta veri yapılandırma dosyasında "roundrobin" olarak ayarlandı 
  • tuneNumWorkers parametresi meta veri için 24 ve depolama için 32 olarak ayarlandı 
  • connMaxInternodeNum parametresi meta veri için 32, depolama için 12 ve istemciler için 24 olarak ayarlandı

Sıralı IOzone 8 TB toplam dosya boyutu
Şekil 9:  Sıralı IOzone 8 TB toplam dosya boyutu


Şekil 9'da, en yüksek okuma performansının 1024 iş parçacığında 132 GB/sn ve en yüksek yazma performansının 256 iş parçacığında 121 GB/sn olduğunu görebiliriz. Her sürücü 3,2 GB/sn en yüksek okuma performansı ve 1,3 GB/sn en yüksek yazma performansı sağlayabilir. Bu da teorik olarak okumalar için 422 GB/sn ve yazmalar için 172 GB/sn düzeyinde maksimum performansa olanak tanır. Ancak burada sınırlayıcı faktör ağdır. Kurulumdaki depolama sunucuları için toplam 11 InfiniBand EDR bağlantımız var. Her bağlantı teorik olarak 12,4 GB/sn maksimum performans sağlayabilir ve bu da teoride 136,4 GB/sn maksimum performans anlamına gelir. Elde edilen en yüksek okuma ve yazma performansı, teorik en yüksek performansın sırasıyla %97 ve %89'udur.

Tek iş parçacığı yazma performansının yaklaşık 3 GB/sn ve okuma performansının yaklaşık 3 GB/sn olduğu gözlemlenmiştir. Yazma performansının doğrusal olarak ölçeklendiğini, 256 iş parçacığında zirveye ulaştığını ve ardından düşmeye başladığını gözlemleyebiliriz. Daha düşük iş parçacığı sayılarında okuma ve yazma performansı aynıdır. Çünkü 8 iş parçacığına kadar, 24 hedefte 8 dosya yazan 8 istemcimiz olması, tüm depolama hedeflerinin tam olarak kullanılmadığı anlamına geliyor. Sistemde 33 depolama hedefimiz var. Bu nedenle tüm sunucuları tam olarak kullanmak için en az 11 iş parçacığı gerekiyor. Okuma performansı, eş zamanlı iş parçacığı sayısındaki artışla birlikte istikrarlı olarak doğrusal artış kaydeder ve 512 ile 1024 iş parçacığında neredeyse benzer performans gözlemleriz.

Ayrıca 16'dan 128'e kadar olan iş parçacığı sayılarında okuma performansının yazma performansından düşük olduğunu ve ardından okuma performansının ölçeklenmeye başladığını gözlemliyoruz. Bunun nedeni, PCIe okuma işleminin hem istek hem tamamlama gerektiren Yayınlanmamış İşlem olmasına karşın, PCIe yazma işleminin çalıştırıp unutulabilecek işlemler olmasıdır. İşlem Katmanı Paketi, Veri Bağlantısı Katmanına teslim edildiğinde işlem tamamlanır. Yazma işlemi, yalnızca bir istekten oluşan bir "Yayınlanmış" işlemdir.

Okuma verimi, genellikle yazma veriminden daha düşüktür çünkü okumalar aynı miktarda veri için tek bir yazma yerine iki işlem gerektirir. PCI Express, okumalar için bölünmüş bir işlem modeli kullanır. Okuma işlemi aşağıdaki adımları içerir:

  • İstek sahibi bir Bellek Okuma İsteği (MRR) gönderir.
  • Tamamlayıcı, MRR'ye onay gönderir.
  • Tamamlayıcı Verileri İçeren Tamamlama döndürür.

Okuma verimi, okuma isteğinin gönderildiği zaman ile tamamlayıcının veriyi döndürmesi için geçen süre arasındaki gecikmeye bağlıdır. Bununla birlikte, uygulama bu gecikmeyi karşılamak için yeterli sayıda okuma isteği yayınladığında verim en üst düzeye çıkar. Bu nedenle 16 iş parçacığından 128 iş parçacığına kadar okuma performansı yazma performansından daha düşükken istek sayısı arttığında verim yükselir.  İstek sahibi, sonraki talepleri göndermeden önce diğerlerinin tamamlanmasını beklediğinde daha düşük bir verim ölçülür. İlk veri döndükten sonra gecikmeyi azaltmak için birden fazla istek gönderildiğinde daha yüksek bir verim ölçülür.


Rastgele Yazmalar ve Okumalar N-N

Rastgele G/Ç performansını değerlendirmek için rastgele modunda IOzone kullanıldı. Testler, 4 iş parçacığından başlayarak 1024 iş parçacığına kadar iş parçacığı üzerinde gerçekleştirilmiştir. IOzone'u çalıştırmak için Doğrudan G/Ç seçeneği (-I) kullanıldı. Böylece tüm işlemler tampon önbelleği atlayıp doğrudan diske aktarıldı. BeeGFS şerit sayısı 3 ve yığın boyutu 2 MB olarak kullanılmıştır. IOzone üzerinde 4 KiB istek boyutu kullanılmıştır. Performans, saniye başına G/Ç işlemleri (IOPS) cinsinden ölçülmüştür. İşletim sistemi önbellekleri, BeeGFS sunucularında ve BeeGFS istemcilerinde çalıştırmalar arasında kapatıldı. Rastgele yazma ve okuma işlemlerini yürütmek için kullanılan komut aşağıda verilmiştir:

Rastgele okuma ve yazma: iozone -i 2 -w -c -O -I -r 4K -s $Size -t $Thread -+n -+m /path/to/threadlist


Toplam 8 TB dosya boyutu ile IOzone kullanarak Rastgele Okuma ve Yazma Performansı
Şekil 10:  8 TB toplam dosya boyutunda IOzone kullanarak Rastgele Okuma ve Yazma Performansı

Şekil 10'da gösterildiği üzere rastgele yazma işlemleri 512 iş parçacığında yaklaşık 3,6 Milyon IOPS'de ve rastgele okuma işlemleri 1024 iş parçacığında yaklaşık 3,5 Milyon IOPS'de maksimum seviyeye ulaşmaktadır. Hem yazma hem okuma performansı, daha fazla sayıda GÇ isteği olduğunda daha yüksek bir performans gösterir. Bunun nedeni, NVMe standardının 64 bine kadar G/Ç kuyruğunu ve kuyruk başına 64 bine kadar komutu desteklemesidir. Bu büyük NVMe kuyruk havuzu daha yüksek seviyelerde G/Ç paralelliği sağlar ve dolayısıyla IOPS 3 milyonu aşar.


Sonuç ve Gelecekteki Çalışmalar

Bu blog yazısı, Dell EMC Yüksek Performanslı BeeGFS Depolama Çözümünün piyasaya sürüldüğünü duyurmakta ve performans özelliklerini vurgulamaktadır. Bu çözümün en yüksek sıralı okuma ve yazma performansı sırasıyla yaklaşık 132 GB/sn ve yaklaşık 121 GB/sn'dir. Rastgele yazmalar yaklaşık 3,6 Milyon IOPS ve rastgele okumalar yaklaşık 3,5 Milyon IOPS ile maksimum seviyeye ulaşmaktadır.

Bu blog yazısı, yüksek performanslı sıfırdan hazırlanan alana odaklanarak tasarlanan "BeeGFS Depolama Çözümü"nün birinci bölümüdür. Performans ve kapasiteyi iyileştirmek için sunucu sayısını artırarak çözümün nasıl ölçeklendirilebileceğini açıklayacak olan blog serisinin 2. bölümü için bizi takip etmeye devam edin. Blog serisinin 3. bölümünde BeeGFS'nin ek özellikleri ele alınacak ve BeeGFS'nin yerleşik depolama hedeflerine ilişkin karşılaştırmalı test olan "StorageBench" kullanımı vurgulanacaktır.

Sonraki adımların parçası olarak, daha sonra meta veri performansı ve N iş parçacığından 1 dosyaya IOR performansı ile tasarım hususları, ayarlama ve yapılandırma hakkında ek ayrıntılar içeren bir teknik inceleme yapılacaktır.


Referanslar

[1] BeeGFS Belgeleri:  https://www.beegfs.io/wiki/
[2] Aynı alt ağ üzerinde iki arayüzü bağlama:  https://access.redhat.com/solutions/30564

Article Properties


Affected Product

PowerSwitch S3048-ON, Mellanox SB7800 Series, PowerEdge R640, PowerEdge R740XD

Last Published Date

25 Mar 2024

Version

7

Article Type

Solution