Yüksek düzeyde sentezlemede hızlı tasarım alanı keşfi için makine öğrenmesi tabanlı yeni bir optimizasyon yöntemi
A novel machine learning-based optimization methodology for fast design space exploration in high-level synthesis
Yazar: ESRA ÇELİK
Danışman: DOÇ. DR. DENİZ DAL
Atatürk Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Doktora, 2024
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Dijital devrelerin optimizasyonu, alan, performans veya güç tüketimi gibi tasarım kriterleri açısından kritik olup, modern elektronik sistemlerin rekabet gücünü belirleyen en önemli faktörlerden biridir. Yüksek Düzeyde Sentezleme (YDS), söz konusu bu optimizasyon sürecinin önemli bir parçasıdır ve tasarımcılara sistem gereksinimlerini yüksek bir soyutlama seviyesinde tanımlama imkânı vererek, üretim öncesi aşamada dijital devreleri çeşitli ölçütler açısından analiz ve optimize etme olanağı sunmaktadır. Ancak, YDS sürecindeki tasarım kısıtlamaları, çok amaçlı optimizasyon problemlerini gündeme getirerek keşif sürecini zorlaştırmaktadır ve bu nedenle tasarım alanının daha etkin bir şekilde keşfedilmesi için yeni sentezleme tekniklerinin geliştirilmesi gerekmektedir. Bu ihtiyaç doğrultusunda, bu tezde metasezgisel ve makine öğrenmesi yaklaşımlarının birlikte kullanıldığı yeni bir YDS metodu geliştirilerek, tasarım alanının daha hızlı ve etkili bir şekilde keşfedilmesi amaçlanmıştır.  
YDS'de etkili bir tasarım alanı keşfi için iki farklı sentezleme aracı geliştirilmiştir. C++ programlama dili kullanılarak geliştirilen ilk araç, üç parçalı bir çözüm temsili ve Benzetilmiş Tavlama (BT) metasezgiselini kullanarak, bir Veri Akış Çizgesi (VAÇ) tasarımı için gecikme ve alan kısıtlarıyla üretilen ağırlıklı toplamı minimize etmiştir. Ancak ilgili araç yoğun işlem gerektiren tasarım değişkenleri nedeniyle uzun çalışma sürelerinde sonlanmıştır. Çıkarılan zaman profili, yavaşlamanın en fazla maliyet fonksiyonundan kaynaklandığını göstermiştir. Maliyet fonksiyonunu optimize etmek amacıyla makine öğrenmesi tabanlı BT yaklaşımı geliştirilmiştir. Bu ikinci araca, C++ ve Python programlama dilleri entegre edilmiş, BT ve Destek Vektör Regresyon (DVR) modeli birlikte koşturulmuştur. İlgili model geleneksel BT yaklaşımında kullanılan maliyet fonksiyonunun görevini üstlenmiş ve çözümlerin maliyetini tahmin yoluyla daha kısa sürede bulmak için kullanılmıştır.
Çalışmanın bulguları, farklı düğüm sayılarına sahip yedi adet benchmark ile yapılan analizlerle ortaya konmuştur. Tüm benchmarklar için geleneksel BT yaklaşımında üç parçalı çözüm temsilinin kullanımı tek parçalı temsilin kullanımına göre %53,38 oranında daha iyi performans sergilemiştir. Düğüm sayısı az olan benchmarklar (DiffEq, Lattice, Ellip ve FEWF) için modelle tahmine dayalı aracın, geleneksel yaklaşımla karşılaştırıldığında aynı sonuçları verdiği ancak daha uzun çalışma sürelerine sahip olduğu belirlenmiştir. Düğüm sayısı fazla olan benchmarklarda (MatMul, IntAux ve MCM) ise yeni yaklaşımın, geleneksel BT ile aynı parametreler kullanılarak gerçekleştirilen uygulamaya göre maksimum 129 saniye daha kısa sürede aynı sonuçları ürettiği gözlemlenmiştir. Geleneksel yaklaşımı aşmayacak şekilde süreden elde edilen kazanç arama uzayında keşif sürecini artırmak için kullanılarak maksimum %5,4 oranında daha iyi sonuçlar elde edilmiştir. 
Bu tez, YDS'de tasarım alanı keşfinin daha kısa çalışma süreleri ve daha yüksek kaliteli sonuçlar için optimize edilmesine odaklanan yeni bir yöntem sunmaktadır. Gerçek dünya uygulamalarında YDS araçlarıyla RTL üretiminin genellikle büyük boyutlu benchmarklar üzerinde yoğunlaştığı göz önünde bulundurulduğunda geliştirilen yeni sentezleme tekniği ile sağlanan performans ve kalite iyileştirmelerinin pratik uygulamalarda etkin bir şekilde kullanılabileceği ortaya çıkmaktadır. Ayrıca önerilen yöntemin tasarım alanı keşfinde gecikmenin ve alanın yanı sıra farklı tasarım kısıtlarını da dikkate alarak çeşitli problemler için etkili sonuçlar üretebilmesi, çalışmanın gelecekteki potansiyel araştırma konularından birini oluşturmaktadır.

Abstract:
The optimization of digital circuits is critical in terms of design criteria such as area, performance, or power consumption and is one of the most important factors determining the competitiveness of modern electronic systems. High-Level Synthesis (HLS) is an essential part of this optimization process, enabling designers to define system requirements at a higher level of abstraction and providing the opportunity to analyze and optimize digital circuits against various metrics at the pre-production stage. However, design constraints in the HLS process lead to multi-objective optimization problems, which complicate the exploration process, necessitating the development of new synthesis methodologies for more effective exploration of the design space. In line with this need, this thesis proposes a novel HLS methodology that employs a combined metaheuristic and machine learning approach, aiming to accelerate and enhance the exploration of the design space.
Two different synthesis tools have been developed for effective design space exploration in HLS. The first tool, developed using the C++ programming language, employed the Simulated Annealing (SA) metaheuristic with a three-part solution representation to minimize the weighted sum of delay and area constraints for a Data Flow Graph (DFG) design. However, this tool resulted in long execution times due to the computationally intensive design variables. The extracted time profile revealed that the bottleneck stemmed primarily from the cost function evaluation. To optimize the cost function, a machine learning-based SA approach was developed. In this second tool, C++ and Python programming languages were integrated, and SA was combined with a Support Vector Regression (SVR) model. The SVR model took over the role of the cost function used in the traditional SA approach and was utilized to estimate the cost of solutions more efficiently, leading to shorter execution times.
The findings of the study are presented through analyses conducted on seven benchmarks with different numbers of nodes. For all benchmarks, the use of the three-part solution representation in the traditional SA approach exhibited 53.38% better performance compared to the single-part representation. For benchmarks with fewer nodes (DiffEq, Lattice, Ellip, and FEWF), the model-based estimation implementation yielded the same results as the traditional approach but required longer execution times. For benchmarks with a higher number of nodes (MatMul, IntAux, and MCM), the new approach produced the same results as the application implemented using the traditional SA with the same parameters, but in a maximum of 129 seconds less time. The time savings obtained without compromising the traditional approach were utilized to enhance the exploration process in the search space, leading to up to 5.4% better results.
This thesis introduces a new methodology focusing on optimizing the design space exploration in HLS for shorter execution times and higher quality results. Considering that HLS tools are typically utilized for RTL generation on large-scale benchmarks in real-world applications, the performance and quality improvements achieved through the developed novel synthesis technique can be effectively leveraged in practical use cases. Furthermore, the proposed method's ability to produce effective results for various problems by considering different design constraints in addition to delay and area in the design space exploration constitutes one of the potential future research directions stemming from this work.