Yusufçuk optimizasyon algoritmasının dağıtık ve paylaşımlı bellek mimarileri üzerinde paralelizasyonu
Parallelization of Dragonfly optimization algorithm on distributed and shared memory architects
Yazar: RAMAZAN POLAT
Danışman: PROF. DR. ALİ AKDAĞLI
Mersin Üniversitesi / Fen Bilimleri Enstitüsü / Elektrik-Elektronik Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2019
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering
Dizin: Sezgisel algoritmalar = Heuristic algorithms

Özet:
Tez çalışmasında son yıllarda çok kullanılan ve sürü davranışlarını örnek alan optimizasyon algoritmalarından biri olan Yusufçuk Algoritmasının (YA) Paylaşımlı ve Dağıtık Bellek (PDB) ile tasarlanması ele alınmıştır. Günümüzde doğa esinli meta sezgisel optimizasyon algoritmalarının paralel hesaplama ve programlama teknikleriyle çözümlenmesi araştırmacılar tarafından sıkça incelenmiştir. Bu çalışmalarda, paylaşımlı ve dağıtık bellek mimarileri kullanılarak, algoritmanın çalışma süresinde kayda değer bir iyileşme gözlemlenmiştir. Doğadaki canlıların içgüdüsel davranışlarını ele alan bu algoritma en uygun sonuca gitmek için her bir yusufçuğun belirli bir fonksiyon üzerinden optimum değerinin hesaplandığı davranış biçimi incelenmiştir. Bu tez çalışmasının amacı, optimizasyon algoritmalarını, paralel programlama teknikleri kullanarak zaman ve bellek açısından daha yüksek başarımlı hale getirebilmektir. Aynı zamanda düşük maliyet ve yüksek performans sunan yeni bir yaklaşım olan, paralel programlama teknikleri ile verimliliği arttırmaktır.  Grafik İşlem Birimi (GPU) programlama tekniklerini kullanarak daha hızlı çözüm üreten YA algoritmasının paralelleştirilmesi incelenmiştir. Ayrıca diğer optimizasyon algoritmaları ile karşılaştırılarak YA 'nın önemi belirtilmiştir. Yusufçuk algoritması formulasyonunun performansı, farklı boyutlardaki tek veya çok modlu karşılaştırma fonksiyonları kullanılarak incelenmiş ve daha sonra aynı algoritma  NVIDIA firması tarafından geliştirilen Birleşik Hesap Cihazı Mimarisi (CUDA) mimarisinde paralel olarak geliştirilmiştir. YA 'nın paralelleştirilmiş halinin performansı test fonksiyonları üzerinde analiz edilmiş ve seri halinin performansı ile kıyaslanmıştır. Paralel olarak ele alınan YA 'nın, CPU üzerinde karşılaştırdığımızda sistem 9 kat, GPU üzerinde ise 20 kat hızlanmıştır. Paralel olarak ele alınan Çok amaçlı Yusufcuk Algoritması (CAYA) 'nın CPU üzerinde karşılaştırdığımızda sistem 4 kat, GPU üzerinde ise 10 kat hızlanmıştır.

Abstract:
In this thesis, the design of Dragonfly Algorithm (DA), which is one of the optimization algorithms used in recent years and which takes the swarm behavior as an example, is designed with Distributed and Shared Memory (DSM). Nowadays, the analysis of nature-inspired meta-heuristic optimization algorithms with parallel computing and programming techniques has been frequently studied by researchers. In these studies, a significant improvement was observed in the runtime of the algorithm using shared and distributed memory architectures. Using this algorithm, which deals with the instinctive behavior of living beings in nature, the behavior of which the optimum value is calculated is examined using a certain function of dragonfly.  The aim of this thesis is to make optimization algorithms more efficient in terms of time and memory by using parallel programming techniques. At the same time, it is to increase productivity with parallel programming techniques, which is a new approach that offers low cost and high performance. The parallelization of the DA algorithm, which produces faster solutions using Graphic Processing Unit (GPU) programming techniques, is examined. In addition, the importance of DA is indicated by comparing with other optimization algorithms. The performance of the dragonfly algorithm formulation was examined using single or multi-mode comparison functions of different sizes and then the same algorithm was developed in parallel with the Compute Unified Device Architecture (CUDA) architecture developed by NVIDIA. The performance of the parallelized state of DA was analyzed on the test functions and compared with the performance of the series state. In parallel, DA is accelerated 9 times on the CPU and 20 times on the GPU. Multi-Objective Dragonfly Algorithm (MODA), which is handled in parallel, accelerated 4 times on the CPU and 10 times on the GPU.