Koşut algoritmaların koşut hesaplama platformlarına atanması için model güdümlü yazılım geliştirme
Model-dri̇ven software development for mappi̇ng of parallel algori̇thms to parallel computi̇ng platforms
Yazar: ETHEM ARKIN
Danışman: YRD. DOÇ. DR. KAYHAN MUSTAFA İMRE ; PROF. DR. BEDİR TEKİNERDOĞAN
Hacettepe Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Doktora, 2015
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Mevcut eğilim bilgisayar sistemlerindeki kullanılan işlemci sayısının önemli ölçüde artışta olduğunu göstermektedir. 2020 yılı itibari ile super bilgisayarların yüksek ölçekli seviyede hesaplama yapabilmesi için yüzbinlerce işlem biriminden oluşması planlanmaktadır. Tek işlemciden koşut bilgisayar mimarilerine uzanan bu eğilim ile birlikte yüksek başarımlı hesaplama için gereken ihtiyaç koşut hesaplamanın benimsenmesini sağlamaktadır. Koşut hesaplama gücünden yararlanmak için bu koşut hesaplama platformlarına atanabilen ve çalıştırılabilen koşut algoritmaların tanımlanması gerekmektedir. Sınırlı sayıda işlem biriminden oluşan küçük hesaplama platformları için koşut algoritmaların atanması elle yapılabilmektedir. Ancak, yüksek ölçekli sistemler gibi büyük koşut hesaplama platformlarında olabilecek atama seçenek sayısı önemli ölçüde artmaktadır ve atama işlemi takip edilemez olmaktadır. Bu nedenle, uygun atamaların elde edilmesi ve hedef kodun oluşturulması için otomatik bir yaklaşımın tanımlanması gerekmektedir. Bu tezde, koşut algoritmaların koşut hesaplama platformlarına atanması için model güdümlü yazılım geliştirme yaklaşımı sunulmaktadır.
Yaklaşım, algoritma parçalamasının ve koşut hesaplama platformlarının modellenmesi, algoritmanın koşut hesaplama platformuna atanmasının modellenmesi için gereken yeniden kullanılabilir varlıkların tanımlanması, uygun atamaların oluşturulması ve son kodun üretilmesi ve konuşlandırılması için gereken faaliyetleri içermektedir. Modellemelerin yapılması için koşut hesaplama üst modeli tanımlanmıştır ve bu üst modelden mimari bakış açıları elde edilmiştir. Yaklaşım iyi bilinen koşut algoritmalar kullanılarak değerlendirilmiştir.

Abstract:
The current trend shows that the number of processors used for computer systems are dramatically increasing. By the year 2020, it is planned that supercomputers will have hundreds of thousands of processing units to compute at exascale level. The need for high performance computing together with this trend from single processor to parallel computer architectures has leveraged the adoption of parallel computing. To benefit from parallel computing power usually parallel algorithms are defined that can be mapped and executed on these parallel computing platforms. For small computing platforms with a limited number of processing units the mapping process can be carried out manually. However, for large scale parallel computing platforms such as exascale systems, the number of possible mapping alternatives increases dramatically and the mapping process becomes intractable. Therefore, an automated approach to derive feasible mappings and generate target code must be defined. In this thesis a model driven software development approach for mapping parallel algorithms to parallel computing platforms is provided.
The approach includes several activities for modeling the algorithm decomposition and parallel computing platform, defining the reusable assets for modeling the mapping of the algorithm to parallel computing platform, generating feasible mappings, and generating and deploying the final code. For modeling to be possible, the metamodel for the parallel computing is defined and architecture viewpoints are adopted from the metamodel. The approach is evaluated using well-known parallel algorithms.