18 Mart 2012 Pazar

Süper Bilgisayarlar


                                                             BLUE GENE

I.     GİRİŞ


     İnsanoğlunun ilk zamanlar ihtiyaçları basit ve azdı. Zaman geçtikçe nüfusun artması ihtiyaçlarında artmasına sebep oldu. Bu ihtiyaçlarını karşılamak için değişik alanlarda değişik araçlar geliştirdi. Bu ihtiyaçlarından hesap ile ilgili olan kısmını ilk başlarda parmak hesabı ile, parmak hesabının yeterli olmadığı yerlerde de çakıl taşlarını kullanarak karşılamaya çalıştı. Hesap ile ilgili ihtiyaçlar ekonominin hızla gelişmesi ve yerleşik hayata geçilmesiyle beraber iyice arttı. Birçok farklı yaklaşım ve kuram ortaya atıldı ve günümüz bilgisayar teknolojisinin temelleri atılmaya başlanmış oldu.
     Bilgisayar teknolojisi ve gelişimi insan tarihindeki diğer teknolojik gelişmeler gibi eskilere dayanan bir çok evrelerden oluşmaktadır. Bilgisayarın gelişimi bilimsel ve teknolojik gelişmeler paralelinde ortaya çıkan ihtiyaç ve gereksinimler nedeniyle ileriye dönük üst kademelere doğru evrimsel gelişmeler göstermiştir.
       Günümüz teknolojisi gelişimine paralel ve insanoğlunun hayattaki araştırmalarında bilim ve teknik  ihtiyaçlarına en yüksek performanslarda cevap verebilecek düzeydeki bilgisayarların üretimi, bilim ve teknik hakkındaki araştırmaların çok hızlı bir şekilde yapılıp, en kompleks problemlerin bile çok daha kısa sürede cevaplandırılıp bilimsel ve teknolojik sürecin çok daha hızlı işlemesini sağladı. Adına super bilgisayar diyebileceğimiz bu bilgisayar türleri bayağı bir sure daha bilgisayar tarihinde gelinen son noktada kalmaya devam edecektir.

I.     BİLGİSYAR Tarihçesi

Bilgisayar kategorisine girebilecek özelliklere sahip, tarihte bilinen ilk bilgisayar:

Mekanik Geçmiş Zaman Bilgisayarı

             2000 yıldan daha eski olduğu düşünülen  mekanik geçmiş zaman bilgisayarı güneşin ve ayın hareketlerini incelemede kullanılıyordu.  Günümüzde süper bilgisayarlarının kullanıldığı astronomide hizmet eden bilgisayarın teknolojisine erişmek için 100 yıldan daha uzun bir zaman geçmesi gerekti. Yani en eski bilgisayar aynı zamanda hacklenmesi en uzun süren bilgisayar oldu[1].
          Uzun bir çalışma sonucunda cismin bir taslağı yapıldı. Dişlilerin çalışması sonucunda ayın ve güneşin hareketlerini hesaplayabilen bir takvim ve bir tür hesap makinesi olduğu anlaşıldı. Makinada, 37 dişli çark, ayın ve güneşin hareketlerini takip etmek, güneş tutulmalarını tahmin etmek ve hatta ayın düzensiz yörüngesini önceden çizmek için kullanılıyordu.
 
                                           Şekil-1
          Uzun bir çalışma sonucunda cismin bir taslağı yapıldı. Dişlilerin çalışması sonucunda ayın ve güneşin hareketlerini hesaplayabilen bir takvim ve bir tür hesap makinesi olduğu anlaşıldı. Makinada, 37 dişli çark, ayın ve güneşin hareketlerini takip etmek, güneş tutulmalarını tahmin etmek ve hatta ayın düzensiz yörüngesini önceden çizmek için kullanılıyordu.
              Antik ve orta çağların en gelişmiş cihazı olarak belirtilen makinayı, gelişmiş x-ışınlı tomogrofilerle ve yüzey tarayıcıları ile inceleyen uzmanlar, makina üzerindeki yazıları okuyabildiler. Bu incelemelerden sonra milattan önce 100 ile 150 yılları arasında yapıldığı tahmin ediliyor.

ENIAC (Electrical Numerical Integrator And Computer)

        Elektrikle çalışan ve elektronik veri işleme kapasitesine sahip ilk bilgisayardır. Yaklaşık 167 m^2 bir alana sığan, ağırlığı 30 ton olan dev cüsseli bilgisayarın siparişi 1941 yılında Amerika’nın 2. dünya savaşına katılmasıyla birlikte ordu tarafından gizli olarak Pennsylvania Üniversitesine ait elektrik mühendisliği okulu Moore’a verildi. Bilgisayar 1947 yılında kamuoyuna tanıtıldı[2].
        Savaşın ardından EINAC daha çok hava tahminlerinde atom enerjisi hesaplamalarında, kozmik ışın çalışmalarında, termal tetikleme, rüzgar tüneli dizaynında ve diğer bilimsel araştırmalarda kullanıldı. 1951 yılında ise, daha çok endüstriyel alanlarda kullanılmıştır.  Ticari bilgisayarların gelişmesiyle birlikte bilgisayar da yeni sektör olmaya başlamıştır. Sektörde çalışacak insan gücü yetiştirilmeye başlanmış ve bilgisayarlarla ilgili el ve
kılavuz kitaplar da basılmaya başlamıştır. 1952'de Fred Gruenberger ilk bilgisayar ile ilgili bir el kitabı yazmıştır.
 
                                 Şekil-2
Yukarıdaki şekilde ENIAC bilgisayarın kontrol bölümünü oluşturan ön panelinden bir kesit görüntülenmektedir. Kontrol panelinin üzerinde görülen kabloların yerleri değiştirilerek yine panelin üzerindeki led’lerin renklerine gore yanıp sönmesiyle bilgisayarda işletilmek üzere girilen verilerin doğruluk payları sınanır.

          Hesaplama Kapasitesi ve Işlevselliği


      ENIAC bir sayının görüntüsünü ayırabiliyor, eşitlikleri karşılaştırabiliyor, çarpabiliyor, bölebiliyor, toplayabiliyor, çıkartabiliyor ve kare kökleri hesaplayabiliyordu. ENIAC'ın akümülatörleri (ön kayıt bölgeleri) hem toplama hem de hafıza işlevi görüyordu. ENIAC'a veriler bir IBM kart okuyucusu aracılığı ile veriliyordu. İşlenmiş veriler ise yine bir IBM delikli kart makinesi sayesinde alınıyordu ve bu kartlar yine IBM’in üretmiş olduğu bir delikli kart okuyucu tarafından (muhtemelen IBM 405) deşifre ediliyordu.
O günlerde 60 saniye yol alan bir topun rotasının hesaplanması için, yaklaşık 20 saatlik çalışma gerekiyordu. ENIAC bu hesaplama süresini 15 saniyeye indirdi. Bir saniyede yapabildiği toplama işlemi akümülatör başına 5.000 adetti (toplam 100.000 adet). Saniyede yapabildiği çarpım işlemi 385, bölme veya karekök alma işlemi ise 38 adetti. Geçici hafızasında sadece 200 sayıyı saklayabiliyordu.

            
        Teknik Bilgileri

          ENIAC toplam 30 ana bölümden oluşuyordu. Toplam ağırlığı 30 ton olup, 167 m² alana sığıyordu. Boyutları yaklaşık 2.4 m x 0.9 m x 30 m idi. 150-200 kW lık elektrik  gücüne ve oldukça güçlü soğutma donanımına ihtiyaç duyuyordu. Bünyesinde 17.468 vakum tüpü, 1500 röle, 7200 kristal diyot, 70.000 rezistans, 10.000 kapasitör ve yaklaşık 5 milyon el ile yapılmış lehimli bağlantı içeriyordu.


I.      İLK SÜPER BİLGİSAYARLAR


         Süper bilgisayarlar birden çok parallel işlemci birden çok   yüksek başarımlı vektör işlemciler ve öbek bilgisayarların oluşturduğu sistem (her bileşen olmak zorunda değil) olarak tanımlanabilir. Süper bilgisayarlar bilimde, deney ve hesaplamayı birleştiren hesaplamalı bilim gibi yeni metodolojilerin oluşmasını sağlamıştır.Günümüzde süper bilgisayarlar saniyede yüzlerce trilyon işlem yapar hale gelmiştir. Örneğin, dünyanın en hızlı süper bilgisayarı saniyede 136,8 trilyon kalıcı işlemle Amerika'da Lawrance Livermore National Laboratuary isimli ulusal laburatuarın kullanımındadır (teorik sınır bu rakamın üzerinde olup adı geçen makina için saniyede 183,5 trilyon işlemdir) Süper bilgisayarlar ilk defa 1960'larda Seymour Cray tarafından Control Data Corporation da tasarlandı.

a)     Cray-I :

             İlk süper bilgisayar 1976 da yapılan Cray-I dir[3]. Bunda beraber paralel çalışan 12 işlem birimi mevcuttur. Bilgisayar tüm birimlerini aynı anda çalıştırabilir. CPU içinde 150 den fazla yazaç vardır. Bir kayan noktalı işlemi iki tane 64 bit veri üzerinde bir saat vuruşu içinde 12,5 ns de tamamlar. Bu süper bilgisayara 80 megaflops boru hattı hızı kazandırır.
 
                                              Şekil-3

CRAY şirketi çok işlemcili Cray X-MP, CRAY Y-MP, Cray-1 ve Cray-2 modellerini geliştirmiştir.  Cray-2 vektör işlemle Cray-1 den 12 kat daha hızlıdır. 
        Bu arada vektör işlemcilerin atomik işlemcilerden çok daha hızlı olmasının sebebi, atomik işlemciler girilen değerleri her saat darbesinde teker teker işlerken, vektör işlemciler ise yazaçlarına boru hattıyla gönderilen verileri vektör şeklinde işleyerek sistem performansının çok daha fazla hızlı olmasını sağlar.  

 b)    Fujitsu VP-200 :


    - Fujitsu VP-200 ; bir sabit ve bir vektör işlemcisi olup aynı anda çalıştırabiliyordu[4].
    - Aynı Cray’ler gibi çok sayıda yazaçları ve işlem birimleri mevcuttu.
    - Vektör işlemcisi içinde 4 boru hattı mevcut olup hepsi çalıştığında 500 milyon flops’a erişebiliyordu.
    - Bellek 32 milyon kelime olup, vektör yazaçlarına yükleme ve depolama boru hatlarıyla bağlıydı

II.     BLUE GENE

A)      Tanımı ve Türleri :

          Blue Gene : On binlerce işlemcinin birbirine paralel bağlanıp  geniş bir bellek alanını destekleyen gömülü sistemlerin tek bir bilgisayar konfigürasyonunu oluşturacak şekilde dizayn edilmiş bir mimarinin adıdır.   
 
                               Şekil-4

        Bu projenin adının Blue Gene mimarisi olmasının nedeni; proje ortaklarından başı çeken IBM in kurumsal renginin mavi oluşu ve bu projenin ilk çıkış amacının insan gen ve protein gibi biyomoleküler araştırmalar olması projenin isminin Blue Gene olmasını şart kılmıştır. 

       Blue Gene; Peta Flop mertebesindeki işletim hızlarına ulaşmak için tasarlanmış ve neredeyse 500 tera flop işlemci hızına ulaşmış süper bilgisayarlar üretmek için geliştirilen bir bilgisayar mimarisinin adıdır. Bu arada peta flop, bilgisayarın saniyede bir katirilyon işlem yapabilme kapasitesine eşdeğerdir. Tera flop ise, bilgisayarın saniyede 1 trilyon işlem yapabilme kapasitesine eşdeğerdir[5].
        Blue Gene projesi IBM, Lawrance Livermore milli labaratuarı, çalışmaları kısmen finanse eden ABD enerji bakanlığı ve akademik çevreler arasında yürütülen ortak bir çalışmadır. Proje 18 Eylül 2009 tarihinde ABD başkanı Barack Obama tarafından Ulusal Teknoloji ve Yenilik madalyası almıştır.

    Gelişmekte olan dört Blue Gene Projesi vardır : Blue Gene/L, Blue Gene/C, Blue Gene/P ve Blue Gene/Q dur.
   Bu projelerin aynı ortaklara ait olması ve aralarında fazla bir zaman farkının olmamasına rağmen, projelerin farklı adlarla anılıp kategorilendirilmesi, o projenin çıkış amacına yönelik  donanım tasarımı ve performansının ayrı bir proje grubunu oluşturmasındandır.

B)       Çıkış Amacı :

      -  Bilimde deney ve hesaplamayı birleştiren hesaplamalı bilim gibi yeni metodolojilerin oluşmasını amaçlar.
  - İnsan proteinin yapısını çözmek ve bu yolla iyileşmeyen hastalıklara alternatif tedaviler geliştirmek.
       - Aslında Blue Gene’nin en büyük amacı, şimdi ne kadar bilim kurgu gibi görünse de; insan beyninin hızına ulaşmak, beyni elektronik ortama aktarıp insan genlerini çözmek ve belki de yeni ırkların ortaya çıkmasını sağlamak  olabilir.
       - Blue Gene projelerinin daha çok savaş teknolojisini destekleme ve nükleer silah araştırmalarında kullanımı hedeflendiğinden IBM yapımı Blue Gene / L serisinin o kadar iyi amaçlı olmadığı anlaşılıyor.

  BLUE GENE / L :

  Bu proje, Blue Gene projelerinin ilk serisidir.
          IBM tarafından oluşturulan bu proje ilk 29 Eylül 2004 te duyuruldu. Kasım 2006 tarihi itibariyle TOP500 listesinde  Blue Gene/L mimarisini kullanan 27 bilgisayar vardır. Bütün bu bilgisayarlar eServer Blue Gene Solution'nun bir mimarisine sahiplermiş gibi listeleniyor. Tüketilen elektrik kilovat başına en yüksek performansı sunmak için tasarlanmıştır. Ulaşabildiği en yüksek performans 360 teraflop  olup LINPACK benchmark’ta güçlendirmeden sonra performans 478 tFlop a ulaştırılabilmiştir. Haziran 2006 tarihinde TOP500 listesinde,  dünya çapında birkaç yerde Blue Gene/L kurulumları en iyi 10 konumdan 3'ünü ve en iyi 64 konumdan 13'ünü almıştır. Blue Gene/L'nin 3 rafı  San Diego Supercomputer Center'da yerleştirilmiş ve akademik araştırma için hazır duruma getirilmiştir. New York Blue/L, Haziran 2008  TOP500 listesinde 17. sıraya yerleştirilmiştir. Ayrıca talep edildiği zaman dağıtımları ödenekleri sağlıyor. 22 Haziran 2006 tarihinde NNSA ve IBM, Blue Gene/L'nin 207.3 TFLOPS hızında kimyasal uygulama (Qbox) başardığını bildirdi. 14 Kasım 2006'da,  süper hesaplamalarda, Blue Gene/L bütün HPC üstün sınıf ödüllerini kazanan ödülü almıştır. 2007 Kasımında LLNL Mavi Gen/L dünyanın en hızlı süper bilgisayarı olarak bir numaralı yerde kaldı. Bu önceki ölçümden beri yükseltilmiş ve ayrıca Blue Gene/P sistemi olan ikinci en hızlı bilgisayardan hemen hemen üç kat daha hızlıydı. 18 Haziran 2008 tarihinde yeni TOP 500 listesi zamanında petaflops markasına üstün çıkan tek sistem olan IBM'nin hücre temelli( Cell-based) Roadrunner sistemiyle bastırılan bu durumu kabul ettiğinden beri ilk defa Blue Gene sisteminin TOP500 listesinde lider olmadığına işaret etti.
Blue Gene/L Mimarisinin Şematiği :

 

                                 Şekil-5


      Yukarıdaki Blue Gene/L nin mimari şematiği en genel anlamda diğer bütün Blue Gene mimarilerinin temelini oluşturmaktadır. Öyle ki bilgisayarların işlemlerinde kullanabileceği akla gelen ilk donanım parçası olan işlemciler “Compute Card” adı verilen hesaplayıcı kartı üzerine entegre edilmiştir. Hesaplayıcı kartları ise mimarinin ikinci parçası olan ve “board” adı verilen bizim anakarta benzetebileceğimiz karta entegre ediliyor. Board kartın üzerinde hesaplayıcı kartların entegre edilebilmesi için birbirine parallel oluşturulmuş karşılıklı 8x2 adet soket bulunmaktadır. Dolayısıyla mimarinin ilk tasarımından itibaren her board’un en az 16 adet hesaplayıcı kart ve dolayısıyla her hesaplayıcı kartın üzerinde yine en az 2 adet işlemci olduğunu varsayarsak, her board un üzerinde en az 32 adet işlemciyi destekleyecek şekilde tasarlanmıştır. Blue Gene mimarisinin üçüncü basamağı olan ve adına “rack” verilen donanım parçasında ise, en az 32 adet işlemci taşıyacak halde tasarlanan board’ların üst üste yine bağlantılarda birbirine parallel olacak şekilde yuvalar oluşturulmuştur. Dizayn olarak üst üste konumlanmış çekmecelere benzeyen bu yuvalardan her rack’ ta en az 32 adet board yerleştirilecek şekilde yuva bulunmaktadır. Bu yuvalara entegre edilen board’lar diğer board’lara parallel olacak şekilde bağlantı giriş/çıkışları tasarlanmıştır. Adına rack denilen Blue Gene mimarisinin üçüncü basamağı olan her kabinin en az 32 adet board’ u desteklediği düşünülürse temel olarak bu mimaride  üçüncü adıma kadar en az 32x32 adet işlemcinin kullanıldığı görülmektedir. Blue Gene mimarisinin son basamağı olan bütün kabinlerin yine birbirine parallel olacak şekilde dizilmesiyle oluşturulmuş son basamak olan sistemdir. Blue gene projesinde tanımlanan ilk sistem en az 64 adet kabinden oluşuyordu. Kabinler fiber optik kablolarla zeminin altından oluşturulmuş ağ tarfiği ile birbirine parallel şekilde bağlanıp veri transferlerinin maximum performansı sağlayacak şekilde ağ tasarımı yapılmıştır. Bu tasarım insan beynini oluşturan milyarlarca nöronun bağlantılarını sağlayan ve tüm bu nöronların toplamının aslında bu nöronların eş zamanlı çalışmasıyla oluşan en büyük nöron olan beynin  oluşmasını sağlayan tasarımdan yararlanmıştır. Bu mimariyi oluşturan Blue Gene/L projesinin son basamağını oluşturan sistemde 64 adet kabin kullanılmıştır. Böylece diğer blue gene projeleri gibi blue gene/ L projesinde kullanılan 64x32x32 adet işlemci istendiğinde tek bir program üzerinde eş zamanlı  çalışarak teraflops hızlarında verim sağlanmış olur.      

Blue Gene/L ‘nin Teknik Özellikleri :

     -  Bir rack 1024 veya 2048 AIB tutar
     -  Raflarda tutulan düğümler düşük güçle çalışacak şekilde dizayn edilmiştir. Ve daha düşük güç gerektiren uygulamalarda işlemci hızını optimize edebilir. Bu durumda system soğutmasının daha verimli çalışması ve performansın daha hızlı olması sağlanmıştır.
-                    - Sisteme gelen yüksek gerilimli enerji raflar arasında en iyi performans sağlanacak ve en az ısınma olacak şekilde optimize edilmiştir. Dolayısıyla system parçaları arasındaki soğutma sisteminin daha sağlıklı işlemesi ve system parçalarının muhtemel yüksek sıcaklıktan deforme olup bu bakımdan performans düşüşlerinin önüne geçilmiş olur.
-                   - Her bir düğüm üç ana parallel  haberleşme çeşidi data kablosuyla bağlıdır.
-                   - Bütün Blue Gene projeleri bilimsel amacı etkili şekilde karşılayacak yeni platformların nasıl kullanılacağı, bu paralel mimarinin daha performanslı olması için ne tür düzenlemelere gidilebileceği ve bu hedeflere makul bir bedelle nasıl varılabileceği gibi konular içerir. Dolayısıyla projenin donanımsal özelikleri ile  izlediği performans tablosu her zaman gözden geçirilecek konumda olup peşpeşe güncellemelerle system verimliliğinin daha da arttırılması hedeflenir.      

Blue Gene/L ‘nin Yazılım Özellikleri :

    -  Sistem yazılımı paralel uygulamaların verimli bir şekilde yürütülmesini destekler. Dolayısıyla parallel işlemci mimarisi üzerinde parelel yazılımlar işletiliyor.
    -   C, C++, Fortran yazılım derleyicilerine sahiptir.
    -  Hesaplama düğümleri kullanılacak en az bir işletim sistemini çalıştırabilir. Bunlardan  tek kullanıcılı basit işletim sistemi olabilir.
 - Birden fazla programın aynı anda işletimine izin vermek için; sistem içerisinde izole edilmiş elektronik düğümler veya AIB leri kümeler halinde bölümlendirilebilir. Sisteme girilen birden fazla programdan önceliği daha fazla olan program daha önce işletilir. Daha fazla işlem kapasitesi gerektiren programa da daha fazla işlemci kapasitesi ayrılabilir.
  -  Paralel programlama modeline sahiptir. Bu daha çok C dilinde geliştirilmiş kütüphane (MPI) ile  paralel programlama gerçekleştirilebilir. Böylece bir program sistemin tüm AİB leri üzerinde eş zamanlı yürütülebilir.   
     IBM, protein folding gibi biyomoleküler fenomen çalışmasına uygulanacak etkili paralel bilgisayar kurmak amacıyla 5 yıllık bir çaba için 100 milyon dolar değerinde bir araştırma girişimi ilan etmiştir. Bu projenin iki temel amacı vardır: Geniş ölçekli simülasyona karşı protein folding'in arkasındaki mekanizmaları  anlamak ve etkili paralel makine mimarisi ile bilimsel yazılımlarda yeni fikirler keşfetmemize yardımcı olmaktır. Bu proje şuan ki teknolojinin fırsat verdiği daha büyük çapta düzenlenen biyomoleküler simülasyonları sağlamalıdır. Matlab ta yapılan parmak izi, yüz tanıma, medical görüntü işlemeleri, ses işleme ve devre simülasyonu gibi matrix ve vektörel uygulamalar hep C/C++ platformlarında geliştirilebiliyor.

BLUE GENE / C :

 - Blue Gene/L den sonra geliştirilen kardeş projedir.
     -  Cyclops64 olarak yeniden adlandırıldı.
 - Çipleri üzerinde hücresel bir mimariye sahip muazzam hızlı paralel AIB’lerden oluşan süper bilgisayarlardır.
-  Hücresel bir mimariye sahip oluşu çok sayıda eşzamanlı konuları tek bir işlemci içinde çalıştırma yeteneği verir.
- 2007 nin başlarında bitirilmesi amaçlanan bu proje daha sonralara ertelenmiştir.