BOINC altyapısı ile bilime yardım edin

____________________________________________________________________
BOINC logosu.

BOINC logosu.

BOINC ya da tam adıyla Berkeley Open Infrastructure for Network Computing (Berkeley Ağ Hesaplaması için Açık Altyapı) fikrimce her kullanıcının bilgisayarında çalışması gereken bir yazılım. Yazılımın amacı basit, işlevleri karışık. Biraz BOINC yazılımından bahsetmek istedim. Kısaca muazzam bilgisayar gücüne ihtiyaç duyan problemleri çözmek için gönüllü kullanıcıların bilgisayarlarını kullanmayı olanaklı kılan bir altyapı. Hem İnternet tarafında bir altyapı hem de gönüllü ve bilim adamları tarafındaki yazılımları, hem de cep telefonu gibi ARM mimarili işlemcilerde çalışabilen halleri ile çok büyük bir proje.

Bilgisayarlar çok hızlı cihazlardır, bizim yapamadığımız pek çok iÅŸlemi bizden çok daha yüksek bir hızla yapabilirler. Ancak zamanla bilgisayarların hızı artsa da bilgisayarlardan beklenen ÅŸeyler de artmış durumda. Hal böyle olunca da tek bir bilgisayar ya da tek bir süper bilgisayar bile yeterli olamayabiliyor bazı iÅŸlere. Ya da yeterli olsa da masrafından dolayı her bilim adamının iÅŸine yaramayabiliyor. Mesela bir ilaç geliÅŸtirmeye çalışan bir bilim adamının ilacın moleküler olarak etkileri, istenen amaca ulaşıp ulaÅŸmayacağı, belli proteinlerle etkileÅŸecek molekülleri vs. pek çok konuda yoÄŸun hesaplamalar içeren tahminler yapması gerekebilmektedir. Bu durumda süperbilgisayarlar devreye girebilmektedir. Ancak söz konusu hastalık örneÄŸin ebola gibi kısıtlı bir kitleyi etkileyen bir hastalık ise yeterli parayı kazanamayacağını düşünen ilaç üreticileri bu tür hastalıklar için ArGe’den kaçınabilmektedir. Bu durumda da çalışması maliyetli olan süperbilgisayarlar bilim adamlarına eriÅŸememektedir.

BOINC altyapısı tam da böyle bir noktada bilim adamlarına çok sayıda bilgisayardan oluşan bir şebeke sunarak yardımcı olabilmektedir. Bilim adamı BOINC altyapısına uygun bir kurar; testlerini çalıştıracak BOINC uyumlu bir uygulama hazırlar, sonra da bu uygulama tarafından hesaplanacak verileri hazırlar. Bu projesini BOINC üzerinden gönüllüler tarafından çalıştırılmaya hazır hale getirilir. BOINC gönüllüsü ise bilgisayarına BOINC yazılımını kurar. Bilim adamının hazırladığı projeyi BOINC yazılımına ekler. Bunu isterse anonim olarak yapabilir, isterse de bir kullanıcı hesabı açarak yapar; kullanıcı hesabı ile istatistiklerinin takibini daha kolay yapabilir. Sonrasında BOINC yazılımı ilgili proje verilerini indirir. Bilimsel hesaplamaları yapacak uygulamayı indirir; sonrasında uygulama tarafından hesaplanacak verileri indirir. Sonrasında bilim adamının uygulaması gönüllünün bilgisayarında BOINC denetiminde gerek işlemci (CPU) gerekse de grafik işlemcisi (GPU) desteğiyle bu hesaplamayı yapar ve tamamlar. Elde edilen sonucu ya da veriyi de bilim adamının sunucusuna yükler. Bu şekilde topladığı verileri bilim adamı inceler; işine yarayacak verileri belirler; bu verileri gerçek dünya testlerinde kullanıma hazırlamaya başlar.

Bilgisayarımda 1GPU ve 2 CPU çekirdeğiyle çalışan BOINC yazılımı.

Bilgisayarımda 1GPU ve 2 CPU çekirdeğiyle çalışan BOINC yazılımı.

Bu ÅŸekilde bilim adamı kendi kaynakları ile çok maliyetli olduÄŸundan gerçekleÅŸtiremediÄŸi bilimsel deneyleri çok çok daha düşük bir maliyetle gerçekleÅŸtirmiÅŸ olur. Belkide maliyeti bıraksak bile ihtiyacı olan iÅŸlem gücünü bulamayacaktır. Çünkü BOINC ortamında birleÅŸtirilmiÅŸ bilgisayarların toplam iÅŸlem gücü pek çok süperbilgisayarın iÅŸlemgücünün ötesinde. ÖrneÄŸin ÅŸuanda Grid Republic hesap yöneticisine baÄŸlı BOINC gönüllülerinin yaptığı hesaplamaların hacmi 22 bin Tflops ya da teraflop. Bir teraflop bir trilyon adet kayar nokta hesabı demek, bunlardan 22 bin kadar düşünün ki çok muazzam bir miktar. Grid Republic sayfasına göre bu iÅŸlem hacminin üstünde ÅŸuanda tek Çin’in Tianhe-2 (Samanyolu-2) adlı bilgisayarı var ki 33 bin Tflop güçte görünüyor. DiÄŸer en yakını da 17 bin Tflops ile Titan. Yeni BOINC projelerindeki gönüllü bilgisayarlarının iÅŸlem hacmi süperbilgisayarlarınkini geçebiliyor. Tabi BOINC iÅŸlem gücü.bunlar sadece Grid Republic hesap yöneticisine baÄŸlı bilgisayarlar. Buna baÄŸlı olmayan pek çok daha hesap yöneticileri ve gönüllüler var. BOINC anasayfasına göre ise ortalama 10 bin petaflop kadar bir 24 saatlik ortalama iÅŸlem gücü söz konusu. DediÄŸim gibi süperbilgisayarlardan çok daha öte bir iÅŸ yapıyor BOINC.

Söz konusu gönüllüler ise böyle büyük hesaplamalar gerektiren deneylerin çok küçük parçalarına destek olmuş olarak bilimsel çalışmalara, bilimsel projelere destek vermiş olurlar. Burada bilim adamlarının masraflarını paylaşıyorlar diyebiliriz. Ancak çok muazzam bedelleri küçük bedeller olarak ödüyorlar. Peki ne bu bedeller?

  1. BOINC yazılımının kurulumu, istenen projelere üyelik ve yazılıma eklenmesinin arkasından birkaç ufak tefek ayar. Yazılımın kullanıcı tarafından indirilmesi gerekli ki herkesin yapabileceği bir şey. Proje beğendikten sonra da ne zaman çalışacağı, ne zaman çalışmayacağı, ne kadar işlemci veya ekran kartı kaynağı kullanacağı gibi ayarlar yapmak gerekli. Bir kez yapınca bir daha bir müdahale gerekmiyor. Zaten çoğu proje arkaplanda görünmez halde çalışıyor. Bazıları için işlemci çekirdeklerini ya da işlem kapasitesini kısıtlamak gerekebiliyor. Ayrıca diskinizde de projenin iş ihtiyaçlarına göre değişen boyutta yer gerekiyor. 8GB hafıza kartımda çalıştırdım ben uzun süre.
  2. Yazılımın ara ara kontrolü. Yazılım kendi başına çalışabilse de ara ara kontrol etmekte fayda var. Örneğin katkı sağlanılan projede iş bitmiş olabilir, bu durumda farklı bir proje seçilerek o çalıştırılabilir. Ya da sisteminizdeki bir sıkıntıdan dolayı işler hata veriyor, bitirilemiyor olabilir; böyle sıkıntıları görmek için.
  3. Elektrik faturası. BOINC çalıştıran bilgisayar boştaki bir bilgisayara göre daha fazla elektrik harcıyor. Gönüllü bu elektriğin faturasını ödüyor. Öncelikle eskiden bilgisayarlar boşta bile muazzam elektrik harcadıkları için BOINC projeleri çok fazla etkilememekteydi tüketimi. Ancak sonrasında boşta iken daha az enerji harcayan işlemcilerle iş biraz değişti tabi. Sadece bilgisayarı açıkken BOINC çalıştıracak kullanıcılar için pek bir sıkıntı yok aslında. Ancak bilgisayarını 24 saat çalıştırıp ciddi katkı sağlamak isteyenlerin iyi bir bütçe hesabı yapmasında mantık var. Ayrıca Gridcoin gibi Boinc temelli sanal para projelerinin gelişmesi ile bu kısım da kendini bir miktar amorti edebilir hale gelebilir.
  4. Donanım. Bilgisayarı sadece açıkken destek vermek isteyenler için pek sıkıntı yok. BOINC çalıştırılan projeye göre deÄŸiÅŸebilmekle birlikte performansı neredeyse hiç etkilemeyen projelere sahip. Ayrıca hemen her performans düzeyinde donanımla da çalışabiliyor. Ama 24 saat açık tutup destek vermek isteyenler biraz güçlü bilgisayarlar tercih ediyorlar. Sonrasında tam performans için donanımları sıcaklık olarak da serin tutmak gerekiyor. Normal kullanıcıya tavsiyem projesini iÅŸlemcinin birkaç çekirdeÄŸini kullanmasına yönelik olarak sınırlaması. Bu ÅŸekilde iÅŸlemci ısısını da düşürebilir, anakart ve güç kaynağından çekilen enerjinin azalmasını sa saÄŸlayarak ömürlerinin kısalmasını engelleyebilir. Ayrıca ekstra performans için hız aşırtma (overclocking) uÄŸraÅŸları da önem kazanabiliyor. Aşırı ısıdan arızalanan donanım pek olmuyor ama zamanla sürekli sıcak ve yük altındaki anakartın ve güç kaynağının arızalanması olası. Dizüstü kullanıcıları biraz daha dikkatli olmak durumunda. Dizüstüler soÄŸutma kapasitesi olarak masaüstülere göre daha sınırlı oldukları için biraz daha sıcak çalışabiliyorlar. Bunlardaki donanımlar da buna uyumlu tabii ki. Mesela bir masaüstü iÅŸlemci için kapanma sıcaklığı 70 derece ya da daha düşük bile olabilirken dizüstü iÅŸlemciler 100 ya da 105 derece gibi yüksek kapanma sıcaklıklarına sahip olabiliyor. Yine de sistemi ne kadar serin tutsanız kardır. Çünkü yüksek sıcaklık uzun vadede bileÅŸen ömürlerini kısaltabiliyor. Ancak çok korkmaya da gerek yok, 5 – 6 yıl boyunca dizüstü bilgisayarlarda BOINC projeleri çalıştırmış olanlar var. Benim bilgisayarım da ikinci yılında ve biraz modifikasyon ile iyi iÅŸ çıkarıyor. Ayrıca bilgisayarlardan baÅŸka ARM iÅŸlemcili ve Android ya da Linux tabanlı pek çok platform da bilgisayarlar haricinde bu projelere katkı saÄŸlamak için kullanılabiliyor. En basitinden akıllı cep telefonlarınız mesela.
  5. Ä°nternet eriÅŸimi. BOINC yazılımı BOINC sunucuları ile iletiÅŸim kurabilmek, yeni iÅŸler indirmek ve sonuçları göndermek için Ä°nternet baÄŸlantısına ihtiyaç duyar. Ancak örneÄŸin iÅŸler bir defa indirildiÄŸinde Ä°nternet baÄŸlantısı olmadan da iÅŸler bitene kadar çalışabilir. Veri miktarı olarak ise projeden projeye fark var. Bazı World Community Grid iÅŸleri 10KB kadar olabilirken GPUgrid iÅŸleri 100MB civarında olabilmekte. Tabi WCG iÅŸleri günde birkaç MB trafik anca oluÅŸturabilirken GPUgrid iÅŸin ağırlığından dolayı o 100MB veriyi 3 – 4 günde iÅŸleyebilmekte ya da üretebilmekte. Hani veri kullanımı meselesi projeden projeye çok deÄŸiÅŸen bir ÅŸey. Yine de çok küçük kotalı Ä°nternet paketi kullananlar hariç pek sıkıntı yaÅŸanacağını sanmıyorum. Tabi dikkatli olmakta mutlaka fayda var.
  6. Güvenlik. BOINC kullanıcıları bilgisayarlarında çalışan yazılıma güvenmeyebilmekteler. BOINC yazılımı açık kaynak bir yazılım; hani kaynak kodunu inceleyip programda ne olup bittiÄŸini görme olanağınız var. Yazılımın bilgisayarlarındaki kredi kartı verilerini toplayıp hırsızlara gönderiyor diye şüphelenebilmekteler. Öncelikle BOINC altyapısı bu kadar basit amaçlara hizmet edecek kadar basit bir altyapı deÄŸil. Sisteme eklenen projeler inceleniyor vs. Ancak yine de ciddi iÅŸler yapan projelere eklenebilecek ufak tefek kodlarla böyle ÅŸeyler yapılabilir. Tabi BOINC uygulaması buna izin vermeyecektir, kendi alanı dışında bir eriÅŸime izin vermeyecektir ama iyi bir hacker neler yapabilir hala ÅŸaşırmaya devam ediyoruz. Ayrıca projelerin de aslında Amerika’nın silah üretim deneyleri olduÄŸunu vs. öne sürenler var. Bir kez ABD böyle projeleri adında OPEN – AÇIK ifadesi olan bir platformda yaptırmaz. Kullanıcılar bunları mutlaka fark eder. ÖrneÄŸin protein katlama (rosetta@home) ya da moleküler dinamik (GPUgrid) hesapları yapan projelerin BOINC klasörlerinde yapılan deney ile ilgili dosyalar bulunur. PDB dosyaları incelenen molekülleri gösterir, Jmol gibi ücretsiz bir yazılımla bile bunu görebilirsiniz. Ayrıca birçok proje yaptığı hesaplarla ilgili görsel canlandırmalar vs. sunuyor. Yani bilgisayarınızda olur olmaz deneyler çalıştırmak çok da olası deÄŸil bu ortamda.
WCG Outsmart Ebola Together araştırmalarına katılan bir molekül.

WCG Outsmart Ebola Together araştırmalarına katılan bir molekül.

WCG Outsmart Ebola Together canlandırması.

WCG Outsmart Ebola Together canlandırması.

BOINC projesi bu ÅŸekilde bilim adamlarına kolaylık ve olanak saÄŸlayan, gönüllülere de bilime katkıda bulunmuÅŸ olma hissi verebilen bir proje. Uzun zamandır desteklediÄŸim ve desteklemeye devam ettiÄŸim bir platform. Aslında ilk olarak SETI@home projesi ile çeÅŸitli uzay teleskoplarından veri toplayarak bu verilerin gönüllülerin bilgisayarlarında incelenmesini saÄŸlama amaçlı iken çok ilgimi çekmez ve gereksiz görünürdü. Hani uzaylı arama elektrik faturama eklenecek birkaç liraya deÄŸmezdi. Ancak sonrasında proje BOINC altyapısına dönüştürüldü ve pek çok medikal, matematiksel uygulamalar eklendi platforma. Bundan sonra bana oldukça mantıklı gelmeye baÅŸlayan bir proje oldu. Åžu anda da Alzheimer’dan tutun da Ebola’ya, Zika’ya kadar pek çok hastalığa yönelik araÅŸtırmalar yapan projeler var. Uzayın haritasını yapmaktan tutun da kütleçekim dalgalarını arayan projelere; iklim deÄŸiÅŸikliÄŸini inceleyen projelerden CERN deneylerinde üretilen veriyi inceleyen projelere kadar pek çok proje var BOINC altyapısında. BOINC projesinin Windows, Linux, Mac, Android vs. çoÄŸu platforma yönelik yazılımı var. Bazı sadece Windows ya da sadece Linux seçebilen yazılımları da var.

Projeler direk olarak bir hastalığı tamamen ortadan kaldırabilecek şeyler üretmese de bu yolda veri sağlıyorlar. Proje sonuçları farklı yerlerde araştırma sonucu olarak duyuruluyor ya da projeyi yapan laboratuvar tarafından kullanılıyorlar.

GPUgrid projesindeki bir PDB dosyası modeli.

GPUgrid projesindeki bir PDB dosyası modeli.

Ayrıca BOINC altyapısı bitirdiÄŸiniz her bir iÅŸ için size belli miktarlarda puan/kredi veriyor. Bu puanın bir ÅŸeye yaradığı söylenemez ama genel istatistik ve karşılaÅŸtırma amaçlı takip edilebiliyor. Mesela ÅŸuan 21,410,737.13 kadar puanım var ve puan sıralamasına göre Türkiye’deki  en yüksek puana sahip 20. kullanıcıyım. Dünya sıralamasında ise çook çok gerilerde. Ayrıca RAC (Recent Average Credit) denen son zamanlarda aldığınız ortalama puan da hesaplanıyor ki bu genel performansınızı gösteren diÄŸer bir gösterge; Gridcoin gibi projeler tarafından kullanılabiliyor. Boincstats gibi sitelerden bu verilerinizi takip edebiliyorsunuz.

Boincstats ekranında görünen desteklediğim projeler.

Boincstats ekranında görünen desteklediğim projeler.

Sonrasında favori projelerimden bahsedeyim.

GPUgrid: Moleküler dinamik temelli Nvidia grafik kartlarının CUDA özelliğini kullarak işlemciye oranla çok daha yüksek işlem kapasitesi gerektiren işler çalıştıran bir proje. Bundan dolayı da CPU işleri birkaç yüz puan verebilirken, bu proje ile 200 bin puana kadar puanlar almak mümkün.

WCG (World Community Grid): CPU temelli IBM destekli bir proje. İçinde pek çok farklı amaçta alt proje barındırıyor. Ebola virüsü, Zika virüsü, AIDS, verem, temiz su sağlama, daha sağlıklı malzemelerden yenilenebilir enerji üretme gibi farklı temalarda projeleri var.

rosetta@home: Protein katlanması esnasında oluşan olumsuzluklar ile ilgili araştırma yürüten bir proje. Alzheimer, Parkinson vs. çeşitli rahatsızlıklar hedefinde.

Poem@home: CPU ve OpenCL vasıtasıyla GPU destekleyen medikal amaçlı bir proje.

Konu ile ilgili linkler:

BOINC ana sayfa.

BOINC indirme.

BoincStats

GridRepublic

 

Yorum yok

Henüz bir yorum yok.

Bu yazıdaki yorumlar için RSS beslemesi. Geri izleme URI

Yorum yaz