Bilim İçin Hesapla: GRID

Bilim İçin Hesapla: GRID

Emeği Geçenler : Zeki Bildirici,
Siteye Eklenme : 18-10-2011
Yayımlandığı Sayı : 34
[eDergi 34. Sayı]
[34. Sayının Çevrimiçi Konuları]
[Tüm Çevrimiçi Konular]

Bilgisayarınız ile yapabileceklerinizi saydığınızda; hiç uzak galaksileri tarayabileceğiniz, yeni yıldızlar keşfedebileceğiniz, insan gen haritasını çözebileceğiniz, vücudumuzun protein yapısını analiz edebileceğiniz, kanser tedavisi için araştırma yapabileceğiniz, dünyanın en güçlü şifrelerini çözebileceğiniz veya iklimsel araştırmalar yapabileceğiniz aklınıza geliyor mu? Büyük ihtimalle bu saydıklarımı yapabileniz için, her alanda çok ileri derecede bilgi birikimine, inanılmaz bir programlama yeteneğine ve milyon dolarlık bir süper bilgisayara ihtiyacınız olurdu. Elbette bu imkanlara hiçbirimiz sahip değiliz.

Ancak çağımızda hızla ilerleyen bilim ve teknoloji sayesinde, yukarıda saydığım şeyleri evinizdeki bilgisayarınız ile yapabilmeniz, Grid (Izgara) Hesaplama ile artık mümkün.

Grid Hesaplama Nedir?

Grid hesaplama, çok basit bir temel prensip ile çalışan bir hesaplama yöntemidir. Dağıtık hesaplama (Distrubuted Computing) olarak da adlandırılan bu yöntemde, bilgi, adeta bir grid (ızgara) yapısındaki bilgisayarlar arasında dağıtılarak işlenmektedir.  Grid teknolojisinin öncü ve destekçilerinden olan IBM bu teknolojiyi, dağıtık bilgi işleme ve veri kaynaklarının kullanmakta olduğu işlemci güçleri, ağ kapasiteleri ve depolama kapasiteleri ile tek büyük bir sistem yaratmak olarak tanımlamaktadır. Yaratılan bu sistem, tamamen birbirinden bağımsız çalışmakta olan ve birbirine benzemeyen sistemlerin bir araya gelerek oluşturduğu sanal bir işleme gücüdür. Bilgi sistemleri kapasitelerine sonsuz bir kullanım imkanı sunmaktadır. Grid yapısını oluşturan yüzlerce bilgisayar ile adeta bir süper bilgisayar kapasitesinde bilgi işleme olanağı yaratılmaktadır.

Neden Grid Hesaplama?

Grid Hesaplama'nın en önemli özelliklerinden biri, ana yapısının açık standartlardan ve protokollerden oluşmasıdır. Bu açıdan bakıldığında  Open Grid Services Architecture (OGSA) olarak adlandırılan bu açık mimari, heterojen ve coğrafi olarak dağınık çevrelerin, birbirleri arasında haberleşmelerine imkân tanımaktadır. Bu sayede Grid, hesaplama merkezi olmayan sanal bir yapı oluşturmaktadır. Bunun yanı sıra, bu sanal yapının bir sınırı da olmamaktadır; diğer bir deyişle katılımcı sayısının artması ile grid ağı sonsuz şekilde büyüyebilmektedir. Basit bilgisayarlardan oluşmuş bu ağ, bir süper bilgisayara yakın bilgi işleme gücü yaratılabilmektedir.

Bu yapının bir diğer özelliği ise, en basit kişisel bilgisayarların işlemci gücünden bile faydalanabilecek bir sisteme sahip olunmasıdır. Bu sayede özel donanımlar, bu özel donanımlar için özel yazılımlar, uzman kişilerce yapılan bakımların yüksek maliyetleri gibi zorlayıcı mali sıkıntıların önüne geçilmektedir. Süper bilgisayarların maliyetleri ile kıyaslandığında grid ağları, çok ekonomik çözümler sunmaktadır. Süper bilgisayarların yoğun enerji tüketimi ve ısı yönetimi gibi titiz konular, grid ağlarında yaşanmamaktadır.

Dünyada sayıları, ve kapasiteleri gün geçtikçe artan süper bilgisayarlarla karşılaştırıldığında grid hesaplama, bu dehşet makineler ile şu anki katılımcı çizgisinde elbette yarışamamaktadır. Şu an dünyadaki en hızlı bilgisayar, Japonya'da RIKEN Advanced Institute for Computational Science'da bulunan K Computer'dir. Bu bilgisayar 68,544 adet 2.0GHz hızında 8 çekirdekli SPARC64 VIIIfx işlemcilerden oluşmaktadır. Fiziki yapısı ise, işlemcilerin yerleştirildiği 672 kabinden oluşmaktadır. Elbette bu işlem gücü, devasa bir enerji tüketimini de beraberinde getirmektedir. İşlem gücü yaklaşık bir milyon adet bağlı bilgisayarın gücüne eşittir. Güç tüketimi ise 10.000 evin güç tüketimine eşit olup, yıllık çalıştırma maliyetinin 10 milyon Amerikan Doları olduğu belirtilmektedir.

Bu süper bilgisayar göz önüne alındığında, kaç adet şirket veya ülke böyle bir bilgisayara sahip olabilir ki? Dünya'da birçok ülke süper bilgisayarlar konusunda ilgili durumda bulunmakta. Türkiye de, Japonya'daki K Computer gibi olmasa da, bir süper bilgisayara sahip. 2004 yılında DPT'nin desteği ile İstanbul Teknik Üniversitesi'nde başlanan Ulusal Yüksek Başarımlı Hesaplama Merkezi Projesi ile bilimsel araştırma ve AR-GE faaliyetlerinde yeterli hesaplama altyapısı sağlamak için, İstanbul'da İTÜ Ulusal Yüksek Başarımlı Hesaplama Merkezi kurulmuştur. Bu proje dahilinde birden çok hesaplama sistemi kurulmuş olup 1004 çekirdekli Anadolu Hesaplama Sunucusu, en fazla hesaplama çekirdeğine sahip sistemdir.

Süper bilgisayarlar konusuna fazla girmeden, neden grid hesaplamanın öne çıktığının tekrar altını çizmekte fayda görüyorum. Sınırlı sayıdaki süper bilgisayarlara kişisel olarak asla sahip olamayacağımızı söylemiştim, fakat bu, yukarıda saydığım çalışmaları yapmamıza engel değil. Süper bilgisayarların yanında ilkel kalan mütevazi bilgisayarlarımız ile insanlığın bilgi birikimine hizmet edebiliriz.

Kişisel bilgisayarların yanında, PlayStation3'ün de grid ağlarında kullanıldığı ve çok hızlı işlem yapabilme kapasitesiyle, sayısı az olsa da, grid ağlarına önemli işlemci gücü sunduğuna da kısaca değinmek isterim. Öyle ki PlayStation3'lerin bu ciddi işlemci gücü, ticari grid ağlarında da kullanılmalarını sağlamış.. Detaylı bilgi için, sayfa sonundaki bağlantıları takip edebilirsiniz.

Birçok ülke, süper bilgisayar projelerinin yanında, grid projelerine de ev sahipliği yapmaktadır. Ülkemizde de TÜBİTAK/ULAKBİM çatısı altında, TR-Grid ULUSAL GRID OLUŞUMU Yüksek Başarımlı ve Grid Hesaplama Merkezi kurularak, ulusal grid ağımız oluşmuştur. Bu merkezin temel amacı ülkemizdeki araştırma gruplarına hesaplama ortamı sağmaktır. Bunun yanı sıra Ulusal Grid Oluşumu (TR-Grid UGO) bu merkezde kurulmuş ve koordine edilmektedir. Bu oluşum ile ülkemizdeki grid hesaplama altyapısı kurulmuş olup, bu ağ ile uluslararası projelere de katılmak mümkündür.

Izgaraya Yerleşmek

Buraya kadar yazılanlarla grid ağlarının genel çerçevesini çizmeye çalıştım. Peki bu ağlara katılmak ve insanlık için yapılan araştırmalara katkı vermek için ne yapmamız gerekmekte? Aslında cevabı çok basit, yapmanız gereken bilgisayarınıza bir grid yazılımı yüklemek ve dilediğiniz bir projeyi seçmekten ibaret.

Günümüzde birçok grid yazılımı çeşitli platformlarda çalışmaktadır. Bu yazılımların işlevi katılımcılar arasında işleri dağıtmak ve bu işleri katılımcıların sistemleri üzerinde işlemek, sonuçları  ise grid merkezine raporlamaktır.

Grid yazılımlarının en temel prensibi, işlemcinizi, siz bilgisayarınızı kullanırken size bırakmak, siz bilgisayarınızı kullanmadığınız zamanlarda grid için değerlendirmektir. Dolayısıyla grid yazılımları, siz bilgisayarınızı kullanırken bir performans düşüklüğü yaratmazlar, sisteminizin bütün kaynakları size aittir.

Grid yazılımlarını ekonomik yapan şey de aslında budur. Bilgisayarınız genelde açık duruyorsa, siz bilgisayarınızı kullanmadığınız zamanda ise öylece bir işlem yapmadan durmakta ve enerji harcamaktadır. Oysa bu boş zamanları değerlendirerek, enerji israfının önüne geçebilirsiniz. Grid yazılımlarını kullanmak için ekstra bir özen göstermenize gerek kalmamaktadır. Onbinlerce, hatta yüzbinlerce bilgisayarın aktif olarak kullanılmadıkları zaman boşuna enerji harcamak yerine, insanlık için hesaplama yapması bence dahice bir fikir!

Eğer buraya kadar yazdıklarımdan etkilenmişseniz ve konu ilginizi çekmişse, dünyadaki en yaygın kullanılan grid  yazılımlarından BOINC'i anlatarak devam edelim.

BOINC

BOINC, Berkeley Ağ Hesaplaması için, açık yapı (Berkeley Open Infrastructure for Network Computing ) yazılımı dünya üzerindeki en popüler grid hesaplama yazılımıdır. BOINC açık kaynaklı ve LGPL (GNU / Kısıtlı Genel Kamu Lisansı) ile özgür bir yazılımdır. BOINC ile bilgisayarınızın (Windows, Mac ya da Linux) boş zamanını, hastalıkları iyileştirmek, küresel ısınmayı araştırmak, elektromanyetik yıldızları keşfetmek ve çok daha farklı tipte bilimsel araştırmalar için kullanabilirsiniz. Bu alanlarda katılabileceğiniz onlarca proje bulunmaktadır. BOINC'in en önemli özelliği, birden çok alanda projeleri desteklemesinin yanı sıra, çoklu grid projelerini de desteklemesidir. Bu projelerden öne çıkan bazılarını tanımak gerekirse:

SETI@home

Dünya Dışı Zeka Arayışı (Search for Extraterrestrial Intelligence-SETI) konulu bir proje olup, Dünya’nın en büyük radyoteleskobu olan ARECIBO'da dahil olmak üzere evrenden gelen sinyalleri analiz ederek evrende zeki yaşam aramaktadır. Seti@Home projesi, 3 Milyon katılımcısıyla en büyük grid hesaplama ağlarından birisidir.

Rosetta@home

Rosetta@home, Protein araştırmaları ile büyük hastalıklara çare aramak için oluşturulmuş bir projedir. Bu projeye destek vererek Kanser, AIDS, Alzaimer, Sıtma gibi hastalıkların tedavisini bulmak için yeni proteinler tasarlanmasına katkı verebilirsiniz.
World Community Grid

IBM tarafından kurulan ve sürdürülen World Community Grid projesi çok yönlü bir grid projesidir.  Birçok projeyi desteklemekte olup, katılımcılarını bu projeler çerçevesinde koordine etmektedir. BOINC ile bu grid'e katıldığınızda istediğiniz bir projeyi seçip bu projelere katkı verebilirsiniz. WCG'deki şu anda aktif olan başlıca projeler şunlardır;

  •     Drug Search for Leishmaniasis - Laşmanyaz hastalığı için ilaç araştırması
  •     Computing for Clean Water - Temiz Su İçin Hesaplama
  •     Help Cure Muscular Dystrophy, Phase 2 -  Kas Distrofisi'nin tedavisini bulmak için araştırma
  •     Help Fight Childhood Cancer – Çocukluk çağı Kanseri için tedavi araştırması
  •     Help Conquer Cancer - Kanseri Tedavisi  için araştırma
  •     FightAIDS@Home - AIDS tedavisi için araştırma

Bu projeler dışında, ilgi gören daha spesifik konulu projeler de mevcuttur. Bunlardan Samanyolu galaksinin modelini çıkarmayı hedefleyen MilkyWay@Home, evrendeki pulsarlar ve bunların etrafındaki yerçekimsel dalgaları araştıran Einstein@Home, astrofizik alanında öne çıkmaktadırlar. İklimsel tahminlerde bulunmak ve analizler yapmak için ise Climateprediction@Home projesi ilgi görmektedir. Biyoloji'den Astrofiziğe, iklim biliminden Matematik ve Kuantum hesaplamalari le ilgili birçok projeyi BOINC'in projeler sayfasından görebilirsiniz. http://boinc.berkeley.edu/projects.php

BOINC'i kurmak

BOINC, birçok platformda çalışabilen bir yazılımdır. Windows veya Mac kullanıcıysanız, kurulum dosyasını bilgisayarınıza indirip kurabilirsiniz. Eğer Linux kullanıcısıysanız, BOINC'in kullandığınız dağıtımın deposunda olup olmadığını kontrol ediniz. Şayet kullandığınız dağıtım BOINC paketi sağlamıyor ise, BOINC'in indirme sayfası size sisteminize uygun (32Bit veya 64bit) çalıştırılabilir dosyasının indirme bağlantısını sunacaktır. Buradan indirdiğiniz dosyayı çalıştırarak BOINC'i başlatabilirsiniz. BOINC, arka planda çalışan BOINC uygulaması ve uygulamayı kontrol etmenizi sağlayan BOINC manager ile gelmektedir. BOINC uygulamasını kurduktan sonra, uygulamadan çıkarken, arka planda BOINC'in çalışabilmesi ile ilgili BOINC manager size yadımcı olacaktır.

Pardus, ne yazık ki ben bu yazıyı kaleme aldığım sırada, BOINC'in PiSi paketini deposunda sunmamakta. Fakat paket isteği Pardus Hata Takip sistemine girilmiş olup, paketlenmeyi beklemektedir. http://hata.pardus.org.tr/show_bug.cgi?id=13883  BOINC paketi Pardus depolarında yerini alana kadar beklemek istemiyorsanız, PardusWiki'de sevgili Anıl ÖZBEK'in hazırladığı BOINC maddesinden yararlanarak, BOINC kurulumunu gerçekleştirebilirsiniz.   http://tr.pardus-wiki.org/BOINC

BOINC'i kurduktan sonra, nasıl çalışacağı ile ilgili  yapılandırmasını yapmanızda yarar var. BOINC,  ilk ayarları kendisi yapmaktadır. Ayarlar penceresi ise gayet basit bir pencere olup, BOINC'in ne zaman çalışacağını, işlemcilerinizin ne kadarını kullanacağını, işlemci zamanınızın ne kadarını kullanacağı gibi temel seçenekleri sizin için en uyun olacak şekilde seçiniz. Sisteminize çok fazla yüklenmek istemiyorsanız, bu seçenekleri düşürebilirsiniz.

Bunun yanında, yeni bir teknoloji olan bilgisayarınızın grafik kartının da, bazı projeler için kullanılabileceği aklınızda olsun. Eğer grafik kartınızın işlemcisi bu  teknolojisiyi destekliyorsa, bu işlemciyi kullanarak normal işlemcinizden 2 ila 10 kat daha hızlı bilgi işleyebilirsiniz. Ekran kartlarının güçlü işlemcilerinin hesaplama yeteneğinin keşfedilmesi ile GPU computing (GPU hesaplama) konusunda yeni projeler popülerleşmekte. Bu da ayrı bir yazının konusu olabilir, kim bilir...

Son Olarak...

Umarım Grid Hesaplama ve BOINC ile ilgili aydınlatıcı olabilmişimdir. Bilgisayarlarımızın boş durarak enerji harcaması yerine, insanlık için çalışması gerçekten mükemmel bir fikir. Amansız bir hastalığa tedavi bulunması için katkı vermek, dünyamızı değiştirecek teknolojilerin ilerlemesine katkı sağlamak gerçekten çok önemli şeyler.

Grid hesaplama olmasaydı, birçok laboratuvarlarda kısıtlı imkanlarda bu hesaplamalar binlerce yıl sürebilirdi. Öyle ki World Community Grid'de katkıcılar, şimdiden 500.000 bilgisayar yılını aşkın hesaplama bağışlamış durumdalar. Bilimin artık uç noktaya geldiği ve ilerlemesi için çok daha büyük araştırmaların gerektiği günümüzde, grid hesaplama çok iyi bir çözüm olarak karşımıza çıkmakta.

Ülkemizde de hastaneler, üniversiteler ve diğer araştırma kurumlarında çok yüksek bilgi işleme gücü gerektiren ileri seviye araştırmaların artması ve bu kurumların sahip oldukları binlerce bilgisayarın, en azından geceleri, dev bir grid ağı oluşturması bir fantezi olabilir mi?

Kaynaklar:

http://www-05.ibm.com/tr/solutions/edu/grid.html
http://en.wikipedia.org/wiki/Supercomputer#Energy_consumption_and_heat_m...
http://en.wikipedia.org/wiki/Grid_computing
http://en.wikipedia.org/wiki/TOP500
http://en.wikipedia.org/wiki/K_computer
http://en.wikipedia.org/wiki/Supercomputing_in_Europe
http://tr.wikipedia.org/wiki/%C4%B0T%C3%9C_Ulusal_Y%C3%BCksek_Ba%C5%9Far...
http://www.uybhm.itu.edu.tr/inner/kaynaklar.html
http://www.grid.org.tr/
http://boinc.berkeley.edu/projects.php
http://boinc.berkeley.edu/wiki/GPU_computing
http://setiathome.berkeley.edu/
http://boinc.bakerlab.org/rosetta/
http://en.wikipedia.org/wiki/Super_computer#Opportunistic_Supercomputing
http://en.wikipedia.org/wiki/PlayStation_3_cluster
http://www.worldcommunitygrid.org/research/viewAllProjects.do
http://tr.pardus-wiki.org/BOINC
http://hata.pardus.org.tr/show_bug.cgi?id=13883



Bu yazının lisansı Pardus-Linux.Org eDergi 34. Sayı'daki lisansı ile aynıdır. Lisanslar hakkında bilgiyi lisanslar sayfamızda bulabilirsiniz.

Etiketler :

Yorumlar