ABD Enerji Bakanlığı’ndan (Exitcale Computing Project) araştırmacılar, Exascale Süper Bilgisayarlar’da kullanılmak üzere, bugün kullanılanlardan en az 50 kat daha hızlı bilgi işlem sistemleri için araçlar ve teknolojiler oluşturdular. Bu araçlar, araştırmacıların kanser ve nükleer reaktörler gibi karmaşık fenomenleri bilimsel keşif ve yeniliği hızlandıracak şekilde analiz etme ve görselleştirme yeteneklerini geliştirecek.
Donanım ve uygulamaları destekleyen ve bunlara bağlanan yazılım katmanlarını geliştirme, yeni nesil sistemleri gerçekleştirmek için kritik önem taşıyor.
Exascale Computing Project (ECP) Yazılım Teknoloji Direktörü ve Argonne Ulusal Üniversitesi Bilgisayar Bilimcisi Rajeev Thakur “Yazılım ortamları, geniş bir uygulama yelpazesini ele alacak kadar sağlam ve esnek olmalıdır. Donanımların ve uygulama yazılımlarının iyi entegre olmasını ve böylece uygulamaların sorunsuz çalışmasını sağlamalıdır.”

Araştırmacıların amaçları; bellek, güç ve hesaplama kaynakları gibi alanlardaki zorlukların üstesinden gelmek için mevcut yazılım teknolojilerini yeniden oluşturmak. Ayrıca yeni yazılım teknolojilerini buna adapte etmektir.
Checkpoint/Restart
Argonne Bilgisayar Bilimcisi Franck Cappello, gelişmiş (checkpoint/restart) kontrol noktası / yeniden başlatma üzerine yoğunlaşan bir ECP Projesi’ne öncülük ediyor. Uygulamalar, çalışırken meydana gelen arızalara karşı koymak için bir savunma mekanizması geliştiriyorlar.
Cappello, “Karmaşıklıkları göz önüne alındığında, yüksek performanslı sistemlerde ortaya çıkan arızalar yaygın bir olay. Bazıları paralel uygulamaların çökmesine neden olan arızalara yol açıyor.
Birçok ECP uygulaması zaten checkpoint/restart özelliğine sahip. Ancak çok daha karmaşık bir sisteme doğru gittikçe daha sofistike yöntemlere ihtiyaç duyuyoruz. Çünkü bizim için bu, ECP uygulamaları için etkin ve verimli bir checkpoint/restart sağlaması anlamına geliyor. “
Cappello ayrıca, bu makineler tarafından üretilen ve etkili bir şekilde depolamak ve iletişim kurmak için pahalı olan büyük miktardaki verilerin azaltılmasına odaklanan bir projeye de öncülük etmektedir.
Cappello, “Veri hacmini en az 10 faktör azaltabilen teknikler geliştiriyoruz. Bununla ilgili sorun, veriyi azalttığınızda hata hattının eklenmesidir.
Odak, böyle bir durumda hata marjını kontrol altına almak üzeredir; hata kontrol edilmek istenirse, indirgemede etkin olsa da sonunda bilimsel sonucu etkilememektedir.”dedi.
Bellek
Exascale sistemlerde depolanan bilgi için araştırmacılar; bellek, güç ve işlemci çekirdeği’nde veri yönetimi kontrollerine ihtiyaç duyar. Argonne Bilgisayar Bilimcisi Pete Beckman, Argo olarak bilinen bir projeyle bu üçünün yönetilmesi için yöntemleri araştırıyor.
Beckman, “Belleğin ve saklama alanının verimliliği, hesaplama hızlarındaki artışa ve veri hareket gereksinimlerini fazlasıyla yaşatmaya devam etmelidir.
Ancak sistemlerde belleğin nasıl düzenlendiği ve bunun için kullanılan teknoloji de değişiyor. Daha fazla katmana sahip oluyor. Dolayısıyla, bu değişiklikleri hesaba katmalıyız, ayrıca bu sistemleri kullanacak uygulamaların gelecekteki ihtiyaçlarını tahmin etmemiz ve tasarlamamız da gerekir” dedi.
Exascale sistemlerde hafıza katmanları eklenerek araştırmacılar, kullanıcıların süreci kontrol etmesini sağlayan, hafıza teknolojilerini düzenleyen tamamlayıcı bir yazılım geliştirmelidir.
Beckman: “Kontrolleri yerine getirmek önemlidir, çünkü bilgileri saklamayı seçtiğiniz yer, onu ne kadar çabuk geri alabildiğinizi etkiler”
Güç
Beckman ve Argo Projesi araştırmacılarının üzerinde çalıştıkları bir diğer önemli kaynak da güçtür. Bellekte olduğu gibi, güç kaynaklarını tahsis etme yöntemleri, yüksek performanslı bir sistemde hesaplamayı hızlandırabilir veya yavaşlatabilir. Araştırmacılar, kullanıcıların bu kaynak üzerindeki kontrolünü artırabilecek yazılım teknolojileri geliştirmekle ilgileniyor.
Beckman:”Daha küçük sistemler ile uğraşırken güç limitleri listenin başında olmayabilir, ancak gelecekte ihtiyacımız olan onlarca megawatt’tan bahsederken bir uygulamanın hangi güç’te kullanılacağı önemli bir ayırt edici özellik haline geliyor.
Bizim amacımız, verimliliği ve maliyeti en aza indirirken kullanıcıların yeteneklerini en üst düzeye çıkaran bir kontrol seviyesine ulaşmaktır”
İşlemci Çekirdeği
Bir exascale sistemi içindeki çekirdekleri yönetmek için çok ince kontrollere de ihtiyaç duyulmaktadır.
Beckman, “Her yeni süper bilgisayar sürümüne işlemci çekirdeği eklemeye devam ediyoruz. Ancak onları çalıştıran sistem yazılımı, tüm çekirdeği bölme ve yönetme yollarına ihtiyaç duyuyor. Milyonlarca çekirdekle uğraştığımızdan küçük ayarlamalar yapmak bile, yapabileceğimiz şey üzerinde çok büyük bir etkiye sahip olabilir. Performansı yüzde iki ila üç oranında artırmak, binlerce dizüstü bilgisayarın kullanımına eşittir. “
Beckman ve diğer araştırmacılar, çekirdekleri daha iyi yönetmek için bir yol buldular: Konteynerleşme… Seçilen sayıdaki çekirdeği bir araya getirip, bunları bir birim olarak veya “konteyner” olarak bağımsızca kontrol edebilen bir yöntemdir.
Yazılım Kütüphaneleri
Uygulamalar simülasyon ve diğer işlevleri desteklemek, yazılım kitaplıklarına (yüksek kaliteli, tekrar kullanılabilir yazılım koleksiyonları) dayanır. Argonne araştırmacıları, bu kapasiteleri exascale’de erişilebilir kılmak için mevcut kütüphaneleri ölçeklendirmeye çalışıyorlar.
Argonne Matematikçisi Barry Smith, “PETSc ve TAO olarak bilinen iki kütüphanenin ölçeklendirilmesine odaklanan bir projeye liderlik eden kitaplıklar, sayısal sorunların çözümleri de dahil olmak üzere önemli kapasiteler sağlıyor” dedi.
PETSc ve TAO, büyük ölçekli sayısal simülasyonlarda yaygın olarak kullanılmaktadır. PETSc, belirli sayısal hesaplamalara çözümler sağlayan bir kütüphanedir. TAO, bir nükleer reaktörde yakıt çubuklarının yeniden yüklenmesi için en uygun maliyetli stratejinin hesaplanması gibi büyük ölçekli optimizasyon problemlerine çözümler sunan bir kütüphanedir.
ECP bilim insanları, çeşitli yazılım kütüphanelerini ölçeklendirmenin yanı sıra kalitesini ve uyumluluğunu artırmanın yollarını da arıyorlar.
Argonne Bilim Adamı Lois Curfman McInnes:
“Kütüphaneler geleneksel olarak bağımsız bir şekilde geliştirildi. Onları tasarlamak ve uygulamak için kullanılan farklı stratejiler nedeniyle, birden fazla kütüphaneyi kombinasyon halinde kullanmak zordur. Ama exascale’deki gibi büyük uygulamalarda herkes için yazılım katmanları bir araya getirildi.”
McInnes, yazılım paketlerinin uygulanmasını düzenleyen topluluk politikalarını belirleyen xSDK Projesi’nin lideridir. Bu tür politikalar, çeşitli kütüphanelerin birbirleriyle uyumlu olmasını kolaylaştıracaktır.
McInnes, “Bu çabalar bilim adamlarını, büyük zorluklarla mücadele etmesine yardımcı olabilecek sağlam bir exascale ortamı gerçekleştirmeye bir adım daha yaklaştıracaktır.”