Donanım-yazılım bölüştürmesi için yeni bir sezgisel algoritma
A new heuristic algorithm for hardware-software partitioning
Yazar: SEDA ERDEN DERTLİ
Danışman: DR. ÖĞR. ÜYESİ DENİZ DAL
Atatürk Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar 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

Özet:
Donanım ve yazılım bileşenlerini bünyesinde barındıran gömülü sistemlerin kullanım alanlarına son kullanıcının hayatını kolaylaştıran tüketici elektroniği, otomotiv sektörü, savunma sanayi, tıp ve uzay araştırmaları gibi geniş bir yelpazeden örnekler vermek mümkündür. Bu sistemlerin işlevlerini yerine getirirken donanım ve yazılım bileşenlerinden hangisini kullanacaklarının tespit edilmesi sistemin genel performansı açısından önem arz etmektedir. Söz konusu bu tespit işlemi bölüştürme olarak adlandırılmaktadır. 
Bir gömülü sistem uygulamasının donanım bileşeni çalışma hızı ve paralel işlem yürütebilme yeteneği nedeniyle yazılıma göre daha yüksek performans sağlar. Öte yandan yazılım, üzerinde kolaylıkla değişiklik yapılabilme esnekliğine sahiptir. Bahsedilen bu avantajlar ve dezavantajlar dikkate alınarak bir sistemi en efektif şekilde çalışır hale getirmek uygulamanın donanım maliyeti ile çalışma süresi arasında bir ödünleşim anlamına gelmektedir.
Bu tez kapsamında donanım-yazılım bölüştürmesi için yeni bir sezgisel algoritma geliştirilmiştir ve performansı Jemai et al. (2017) ile verilen sezgisel algoritmayla karşılaştırılmıştır. Bu algoritmaların efektifliğini mukayese edebilmek için her bir deneysel teste ait optimum sonuç bir kaba kuvvet algoritması ile bütün muhtemel bölüştürme kombinasyonları denenerek ayrıca elde edilmiştir. Deneysel bulgular önerilen algoritmanın daha kısa sürede daha iyi sonuçlar ürettiğini göstermektedir.
Deneysel karşılaştırmalar yine bu tezin bir çıktısı olan 5 farklı denektaşı kullanılarak yapılmıştır. Literatürde bu alanda rastlanılan yayınlarda standart bir denektaşı kümesinin olmadığı gerçeğinden hareketle bu denektaşı setinin literatürdeki ilgili boşluğu dolduracağı ve bu nedenle teze özgün bir değer kattığı değerlendirilmektedir.

Abstract:
Embedded systems that incorporate hardware and software components are extensively used in a wide range of applications such as the automotive and defense industry, the medicine and space research and the consumer electronics that make the end-user's life easier. Determining either hardware or software component to be used in performing these functions is important for the overall performance of the system. This detection process is called partitioning.
The hardware component of an embedded system application provides higher performance than its software counterpart due to its operating speed and ability to execute parallel tasks. On the other hand, the software offers more flexibility when it becomes necessary to make a modification. By taking these advantages and disadvantages into consideration, maintaining a system operational in a most effective manner means a trade-off between the hardware cost and the operating time of the application.
Within the scope of this thesis, a new heuristic algorithm for the hardware-software partitioning has been developed and its performance has been compared with by Jemai et al. (2017). In order to analyze the effectiveness of these algorithms, the optimum result of each experiment was also obtained by testing all possible partitioning combinations with a brute force algorithm. Experimental findings prove that the proposed algorithm produces better results in less time.
Experimental comparisons were performed by using 5 different benchmarks, which is another output of this thesis. Based on the fact that there is no standard set of benchmarks in the literature in this field, we believe that this benchmark set will fill the relevant gap in the literature and therefore add a unique value to the thesis.