Yıllar önce, bilgisayarlar pahalı, karmaşık ve az bulunurdu.
Kişisel bilgisayar devrimi her şeyi değiştirdi, çoğumuza daha küçük, daha hızlı ve kullanımı daha kolay olan kolayca erişilebilen ve daha ucuz araçlar sağladı. Bunlardan bilim insanları da yararlandı. Gözlem güçlerinin çok ötesinde, hücrelerin iç çalışmalarını; uzak yıldızların etrafındaki gezegenlerin yörüngesini ve diğer olayları incelemek için bilgisayarlı teknikler geliştirdiler.
Ancak üst düzeydeki araştırmacılar için belli bir ironi ortaya çıktı: Yeni ve sofistike araçlar; deneysel sonuçları analiz etmek için süper bilgisayarlara ihtiyaç duyulan çok fazla veri üretmeye başlıyor. Bu devasa veri setlerini analiz etmeye çalışan bilim insanları; genellikle donanımı programlamak ve gereken yazılımın karmaşıklığını geliştirmek için mücadele ediyorlar.
Stanford’da Bilgisayar Bilimcisi Alex Aiken liderliğindeki bir grup tarafından geliştirilen yeni programlama dili Regent’tir. Regent süper bilgisayarların kullanımını kolaylaştırıyor.
İletişim ve Ağ İletişimi Alcatel-Lucent Profesörü Aiken: “Her araştırmacının bilgisayar bilimcisi olmasını gerektirmeyen bir programlama ortamı oluşturmak istedik.”
Regent, süper hesaplamadaki en büyük zorluklardan birinin çözülmesine yardımcı olur. Günümüzün süper bilgisayarları hiç olmadığı kadar karmaşıktır ve mevcut programlama dillerine ayak uydurmak için mücadele etti. Popüler bir hayal gücünde devasa bir makine olarak görünebilir, ancak aslında birlikte çalışan binlerce mikroişlemci dizisidir. Bilim insanları; tipik olarak, bu dizileri, 40 yıl önce icat edilen bir yazılım dili olan C ++ kullanarak, bilgisayar bilimi zamanının bir sonsuzluğu olarak programlarlar. O zaman, baskın olan mikroişlemci, merkezi işlem birimi ya da PC devrimini başlatan çip olan CPU’ydu. İşlemciler, programcıların seri modda komutlandığı şekilde büyük problemleri hızlıca çözer, birbiri ardına hesaplama yapar.
Bununla birlikte; daha yakın bir zamanda, ikinci bir mikroişlemci türü süper hesaplama için önemli hale gelmiştir: Grafik işlem birimi veya GPU. İlk olarak, bilgisayar ekranlarındaki milyonlarca pikseli video oyunlarının görsellerini geliştirmek için kontrol etmek için kullanılan GPU’lar, programcıların söylediği gibi, aynı anda veya paralel olarak birçok benzer hesaplama yapabilir. Paralel işlemenin makine öğrenmesi gibi uygulamalarda son derece yararlı olduğu kanıtlanmıştır. C ++, bu ve diğer donanım değişikliklerine ayak uydurmak için yükseltildi. Ne yazık ki, yamaların biriktirilmesi dili giderek daha zor hale getirmiştir. Bununla birlikte, Regent; bir süper bilgisayar programcısının, CPU’lara seri işleme görevleri atama ve GPU’lara paralel işleme görevleri yapma gibi işlemleri yapmasını kolaylaştırır.
Regent; programı kavramsal bir düzeyde çerçevelendikten sonra, programcının niyetleri Aiken’in de geliştirdiği Legion adlı ikinci bir yazılım katmanına dönüştürür. Legion, makine kodu üretir. Süper bilgisayarın donanımını programın nasıl gerçekleştirileceğini yönlendiren kesin talimatlar Regent ve Legion arasındaki sıkı entegrasyon programcıların diğer önemli kararları almasını kolaylaştırır. Özellikle, süper bilgisayarın analiz etmesi gereken verilerin nerede saklanacağı tanımlar.
SLAC Ulusal Hızlandırıcı Laboratuvarı’nda Bilim İnsanı Elliott Slaughter, iki katman arasındaki entegrasyonun programcılara hem para hem de zaman kazandırdığını söylüyor. Bilgisayarlar; maliyeti olan bir enerji tüketir. Ancak, hareketli verilerin enerji maliyeti, bu veriler üzerinde hesaplama yapma maliyetinin 100 katı olabilir. Ayrıca, büyük deneyler genellikle çok fazla miktarda veri toplayan araçlara dayanır. Slaughter, bazı araçların 15 saniyelik deneyler için her saniyede 20 video DVD’ye eşdeğer veri toplayabildiğini söyledi. Işık hızında fiber optikler üzerinde hareket etse bile; enstrümandan süper bilgisayara bu kadar veriyi almak analizin önüne geçebilecek gecikmelere neden olabilir.
Regent yaygınlaşacak mı?
Araştırmacılar, yeni dillerin durağanlığını büyük ölçüde aşması gerektiğini söylüyor.
Aiken: “Regent çok farklı bir programlama şeklidir. Araştırmacılar için gerekli zihniyeti benimsemek biraz zaman alacak.”
Ancak iki faktör lehine işlemektedir. İlk olarak, süper hesaplama donanımı gelişmeye devam ediyor. ABD Enerji Bakanlığı, 2021 civarında süper hesaplama gücünde 50 kat artış sağlamayı amaçlayan Exascale Computing Project ile gelişmeleri hızlandırıyor. DOE, programlamanın hızlanmasına yardımcı olmak için Regent dahil yazılım projelerini destekliyor.
Dahası, süper bilgisayar kullanmak isteyen birçok bilim insanı, büyük deneyleri programlamak için gerekli olan dik öğrenme eğrisinin mevcut araçlarına ve boşluğuna aşina değillerdir. Deneyimli süper bilgisayar programcıları bile mevcut sistemi zahmetli bulabilir ve daha iyi bir yol olup olmadığını merak edebilir.
Comments