Merhaba,
RoadRunner, 2008 yılında IBM tarafından tasarlanan yüksek paralel işlem yapma gücüne sahip dünyanın ilk petaflop/sn işlem yapma kapasitesine ulaşan süper bilgisayardır. Bu makalede RoadRunner ’ ın bu kapasiteye ulaşmak için ne tür paralel mimariler kullanıldığı; bağlantıları ve kullanılan işlem birimlerinin yapıları anlatılacaktır.
RoadRunner temel işlem yapma gücünü IBM , SONY ve TOSHIBA nın ortak üretimi olan PowerXCELL 8i işlem biriminden alır. Bu işlem birimi, içerisinde 8 + 1 olmak üzere 9 birimden oluşur. 1 adet IBM ürünü genel amaçlı Power PC işlemcisi ve 8 adet yüksek verktörel işlem yapma kapasitesine sahip birim vardır. Power PC işlemcisi üzerinde Linux işletim sistemi koşmaktadır.
Özel olarak kayan noktalı sayılar üzerinde işlem yapan 8 adet özel performans birimleri (SPE) içerisinde 128 bit vektörel işlem birimi (SXU) ve 256 kb lık yerel bellek (LS) bulundurur. Bu birimlerin haberleşmesi DMA (Direct Memory Access) aygıtı ile sağlanır.
RoadRunner ’ ın en önemli özelliği farklı işlemci mimarilerini bir arada barındırmasıdır. Yani bu süper bilgisayar hibrit bir yapıdadır. Bu işelmci mimarilerinden birincisi tek bir birim olarak bakarsak PowerXCELL 8i birimi ,ikincisi ise AMD Opteron çift çekirdekli, genel amaçlı, PC mimarili işlemcidir. Bu iki işlemci mimarisi birbirlerine yüksek hızlı EIB (Chip Interconnect up to 96 bytes/cycle) arabirimi tarafından bağlanır.
AMD Opteron işlemcisi çift çekirdekli 1.8 GHZ hızında işlem yapan bir server işlemcisidir. 64 bitlik işlemci x86-64 mimarisindedir. x86-64 (AMD64, x64) AMD tarafından tasarlanan 64-bit’lik bir işlemci mimarisidir. x86-64, x86 mimarisinin bir üst kümesidir, yapısı itibariyle de onu destekler. Süper bilgisayar içerisindeki görevi giriş /çıkış birimlerini yönetmek yüksek işlem gücüne sahip birimlere iş paylaşımını organize etmek üzere paralelizmin kontrol görevlerini üstlenir. Ayrıca hesaplama işlemlerine de katkıda bulunur.
RoadRunner ‘ ın mimarisinde özelden genele doğru bir anlatım yapmaya devam edersek öbek (NODE) kavramını karşılayan yapılar “TriBlade” olarak olarak görülebilir. TriBlade 4 parçadan oluşur. Bunlar 2 adet QS22 chip ,1 adet LS21 chip ve Expansion Blade arabiriminden oluşur. QS22 chip içerisinde 2 tane PowerXCELL 8i işlemcisi ,toplam 8 GB RAM bellek be giriş/çıkış birimlerinden oluşur.LS21 chip de ise 2 tane AMD opteron işlemci ve 16 GB bellek ve bağlantı birimleri vardır.
Paralel bilgisayarda olması gereken en önemli özelliklerden bir tanesi ölçeklenebilirlik- tir. Her bir TriBlade 1 cluster ı oluşturur. Cluster yapıları ölçeklemeyi esnek kılan yapılardır. Yüzlerce cluster yapıları kullanılarak yapı genişletilebilmektedir. RoadRunner da 18 adet CU (Central Unit) vardır ve her CU ‘da 180 tane TriBlade yer alır. Her bir CU 192 cluster dan oluşur . 180 tanesi TriBlade, 12 tanesinide giriş/çıkış birimlerinden oluşur. Bu giriş çıkış birimleri sayesinde disk erişimi gerçekleşir. Bu seviyeden önceki yapılarda yani TriBlade içerisinde disk yoktur tamamen Ram bellekler ve cache ler üzerinde işlemler gerçekleştirilmektedir.
Toplam da 6912 AMD Opteron , 12960 PowerXCELL işlemci ,104 TB bellek bulunduran dev yapının en önemli konusu network yapısıdır. Genel olarak iç içe Cluster yapılarından oluştuğunu düşünebileceğimiz bir mimari vardır. İlk seviye Cluster lar TriBlade daha sonra bunların oluşturduğu CU ler bir üst seviye Cluster yapısını oluşturur. Ölçeklenebilirliğe büyük avantaj getiren bu mimaride 18 olan CU sayısı artırılarak 24 CU de koyulabilmektedir.
Birinci seviye Cluster lar ( 192 adet ) ve ikinci seviye Cluster lar (18 adet CU) birbirlerine 2 seviyeli FAT TREE network yapısı ile bağlanmıştır. Bu yapı da tüm bağlantılar optik kablolardan oluşur. CU ler arasında oluşan bağlantı yapısının Bi-Section width değeri 384 GB/s (bi-directional) seviyesindedir. 192 adet birinci seviye Cluster lar (TriBlade) arasındaki bağlantıda bi-section width değeri ise 768 GB/sn dir.
“InfiniBand DDR 2- stage fat-tree “ olarak belirtilen 2 seviyeli switchler sayesinde şu anda 18 olarak kullanılan CU sayısı 24 yapılabilmektedir. 18 CU den çıkan bağlantı noktaları ikinci seviye 8 adet switchlere bağlanmıştır. TriBlade lerin CU lerı oluşturması da aynı yapıya benzerdir. Toplam 192 cluster öbeği ikinci seviye 96 tane switch e bağlantıları yapılır. Sonuç olarak bir CU den 96 adet bağlantı noktası çıkmış olur.
RoadRunner da paralel bilgisayar sınıflandırmasında hibrid bir yapıya sahiptir. CELL işlemciler içerisinde vektörel olarak paralel yapılan işlemler SIMD kategorisinde değerlendirilebilir. 128 bitlik vektörel işlemciler aynı anda 2 double sayı üzerinde paralel işlem yapabilmektedir. Benzer şekilde aynı anda 4 integer sayı da işleyebilir. Ayrıca hem yerel bellek hemde paylaşımlı bellek kullanımı bir arada vardır. RoadRunnerın hibrid paralel yapısı içerisinde çok çekirdekli yapılar ,vektörel yapılar, threadli işlemler, instruction seviyesinde paralelizm için özel komut setleri , yerel bellek ve uzak bellek yaklaşımları gibi bir çok kompleks yapı iç içedir. 3 seviyeli paralelizm bulunmaktadır. Cluster lar arası , Cluster içinde ve CELL içerisinde olmak üzere high level palarelizimden low level e doğru 3 kategoride incelenebilir.
Data alışverişi ve işlemciler arasında iletişimde ise clusterlar arası mesaj geçme yapıları ile yapılmaktadır. Yine bu seviyede Global diziler, IPC,UPC,GAS gibi diller ile paralelizm kontrol edilir. Cluster içerisinde “divide&conquer” prensibi ile large – grain size da çalışılır. Cluster içerisinde kontrolü opteron işlemciler yapar ve işlemleri paylaştırır. CELL ‘ler kendi arasında iletişimleri yoktur Opteron işlemci ile iletişimde bulunurlar. Her bir Opteron çekirdeğine bir CELL işlem birimi düşer. Ayrıca opteron birimleri işlemleri kendi içerisinde Concurrent koşma yeteneğine sahiptir.(Linux OS sayesinde ).
Cell işlemcilerde kendi içerisinde Fine Grain size da işlemleri paralel gerçekleştirir. Çok yollu Pipeline şekilde çalışan birimler yer almaktadır(MPMD). CELL işlemciler içerisinde problem Grain size problem domaini gridler halinde parçalanarak belirlenir. Dolayısı ile işlemlerin grain size ları bu seviyede eşittir(fixed grain-size). CELL birimleri yaptıkları işlemleri ve sonuçlarını DMA üzerinden Host CPU(AMD Opteron) ya iletirler.
ŞEKİL 1-Road Runner network yapısı.
ŞEKİL 2-Host –CELL haberleşmesi ŞEKİL 3- Paralel Programlama pramidi