Süper hesaplamada iletişim yükü


10

Süper bilgisayarların gerçek görevle ilgili işleri yapmak yerine koordine etmeye ne kadar kaynak harcadığını belirten güvenilir referanslar arıyorum. Kaynaklar kullanılabilir işlem gücü olabilir, ancak Watt bile geçerli bir birim gibi görünüyor.

Profesörlerimden veya ders kitaplarımızdan birinin, bir zamanlar büyük ölçüde paralel sistemlerde, mevcut işlem gücünün yarısının görevi ve mesaj iletmeyi koordine etmek için harcandığını söylediğine inanıyorum. Ne yazık ki, bu referansı veya bu oran hakkında başka bir materyal bulamıyorum.

Bunun süper bilgisayar mimarisine bağlı olarak çok farklı olacağının farkındayım ve modern uygulamalar muhtemelen bu konuda daha verimli, bu nedenle bu metriğe birden fazla mimaride veya evrimlerde (özel mesaj geçirme donanımından önce ve sonra) daha iyi bir fikir olacağının farkındayım.


2
Uygun bir bilgisayar, algoritma ve uygulamayı seçerek istediğiniz herhangi bir sayıyı kolayca alabilirsiniz.
David Ketcheson

Yanıtlar:


10

Yüksek performanslı hesaplamada uzun zamandır göze çarpan bir referans, çok büyük, yoğun, doğrusal bir denklem sistemini çözerken bir bilgisayar sisteminin saniyede kayan nokta işlemlerinde hızını ölçen HPLinpack karşılaştırması oldu. Çözümün2/3n3+2n2 kayan nokta işlemleri ve test cihazının değişmesine izin verilir n maksimum performans elde etmek için.

Karşılaştırma ölçütleri arasında RPEAK (sistem için saniyede teorik maksimum kayan nokta işlemi sayısı) ve RMAX (HPLinpack karşılaştırmasında saniyede elde edilen maksimum işlem sayısı) bulunur.

RPEAK'ın RMAX'ın önemli bir kısmı olması tipiktir, bu kıyaslama görevinde mevcut süper bilgisayarların teorik zirve performanslarının önemli bir bölümünü başarabileceğini gösterir. Örneğin, Kasım 2015'te TOP500 süper bilgisayar sıralamasında, en hızlı makine olan Tianhe-2, RPEAK = 54.902 petaflop ve RMAX = 33.863 petaflop'a sahiptir.

Ancak, HPLinpack karşılaştırması yaygın olarak mevcut iş yüklerini temsil etmiyor olarak görülmektedir. HPlinpack sonuçları genellikle gerçek uygulamalardaki süper bilgisayarların performansını büyük bir faktörle abartıyor.

HPCG adı verilen yeni bir kriter geliştirilme aşamasındadır. Bu kıyaslama, ayrık PDE'lerden kaynaklanan büyük seyrek denklem sistemlerinin çözümü için yinelemeli yöntemlerde yaygın olarak gerçekleştirilen işlemleri içerir. Bu iş yükü, yüksek performanslı bilgisayarlar için çok daha zordur. Ayrıca, süper bilgisayarların pratikte ne için kullanıldığını daha da temsil eder.

HPCG'nin bazı erken sonuçları RPEAK'in% 5'inden daha azında geliyor. Örneğin, Tianhe-2, 0.58 petaflopta RPEAK = 54.902 petaflop ve HPCG'ye sahiptir (HPCG ile ilgili bir sunum için aşağıdaki referansa bakın).

TOP500 HPLinpack kriterlerini şu adreste bulabilirsiniz:

http://www.top500.org/

HPCG hakkında bir sunum şurada bulunabilir:

http://www.hpcg-benchmark.org/downloads/isc15/HPCG-ISC15-FINAL-SLIDES_update1.pdf

HPCG'nin web sitesi

http://www.hpcg-benchmark.org/


1
Nerede olduğunu merak ettim 2/3n3+2n2flop spec geldi ve bakmak zorunda kaldı. Merak eden herkes için, kısmi pivotlama ile LU ayrışması, yani yoğun bir sistemi çözme yöntemi için işlem sayısıdır .
Aurelius

3
Mesajın iletilmesiyle ilgili hiçbir şey söylemediği için bu soruya cevap vermiyor gibi görünüyor.
David Ketcheson

Bu kıstasların kayan nokta birimlerinin ne kadar verimli kullanıldığını anlatması açısından soruyu kısmen cevaplıyor - diğer şeylerin arasından geçen iletiyi içeren diğer her şey için ne kadar zaman harcandığını bulmak için birinden çıkarabilirsiniz.
Brian Borchers

6

Dürüst cevap bilmiyoruz. Cevap büyük ölçüde gerçekte neyin çalıştırıldığına ve kullanıcının hangi kodu yazdığına bağlıdır. Brian Borchers'ın işaret ettiği gibi, tüm kodlara sahip olduğumuz ve söz konusu kodun ne yaptığını bildiğimiz iki kriter arasında büyük bir fark var, ancak bu kodun süper bilgisayar kullanıcılarının gerçekte ne yaptığını temsil etme konusunda çok fazla anlaşmazlık var. Ayrıntılı kaynak kodu analizi ve gerçek makinelerde gerçek kodların bazı ağır enstrümantasyonu olmadan, bu oranı bulmak imkansızdır. Toplumu bu soruyu cevaplamaya yakın hale getirebilecek veriler toplamaya başlayan bazı projeler var, ancak bu kesin değil.

Aslında, soru gerçekten net değil. Bir küme düğümünün iletişim kartında üzerinde yalnızca iletişim için kullanılabilecek bir işlemci varsa, bu kartın iletişimi (veya başka bir şeyi) işlememek için boşta geçirdiği süreyi nasıl hesaplarsınız? Yani, "kullanılabilir işlem gücü" olarak sayılan nedir? Optimize edilmemiş bilgi işlem ve iletişim rutinleri optimize edilmişle aynı kötü yazılmış programları sayıyor muyuz? Birisi kodunda kasıtlı olarak CPU'yu az kullanan bilinen bir anti-desen kullanırsa ne olur? Hiç iletişim kurmayan utanç verici paralel programlar ne olacak (bunlar süper bilgisayarlarda çalıştırılıyor, size söz veriyorum)?

Bir kitapta veya profesörünüzde kelepçesiz bir söz belirlemeye çalışırken zamanınızı boşa harcamam. Bu tür ifadeler bize paralel programlamanın zor olduğunu ve genellikle kötü yapıldığını hatırlatmak için vardır. Süper bilgisayarlar ayrıca tüm atıkları ortadan kaldırmak veya optimize etmek için mükemmel bir şekilde tasarlanmamıştır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.