Souběžný evoluční návrh hardwaru a softwaru

Abstract
Genetické programování (GP) je v určitém rozsahu schopno automaticky generovat požadované programy, aniž by uživatel musel určit, jakým způsobem má program postupovat. GP bylo s úspěchem použito k řešení široké škály praktických problémů z různých oblastí, přičemž výsledky byly často srovnatelné s řešeními vytvořenými člověkem. Doposud však nebyla zodpovězena otázka, zda GP dokáže generovat vysoce optimalizovaný výpočetní model (platformu) spolu s programem spustitelným na této platformě, který by řešil daný problém při dodržení všech omezení (například na plochu na čipu a zpoždění). V případě scénářů, kdy je optimalizováno více kritérií, by uživatelským výstupem měla být množina nedominovaných řešení s různými kombinacemi úrovně využití zdrojů (plocha, příkon) a výkonu (rychlosti provádění). Tento problém může být chápán jako souběžný návrh hardwaru a softwaru, zkráceně HW/SW codesign. Tato práce zkoumá způsoby, jakými lze souběžně evolučně vyvíjet platformu a programy v případě, že je problém zadán množinou vektorů vstupů a jim odpovídajících výstupů. Nejprve byl vytvořen model architektury a evoluční platforma zajišťující zpracování a evoluční vývoj těchto architektur. Kandidátní mikroprogramové architektury byly evolvovány spolu s programy pomocí lineárního genetického programování. Následně byla provedena série jednodušších experimentů. Navržená platforma dosahovala výsledků srovnatelných s nejnovějšími metodami. Na základě slabých míst objevených během počátečních experimentů byla platforma rozšířena. Rozšířená platforma byla poté ověřena na několika složitějších experimentech. Jeden z nich byla zaměřen na efektivní implementaci aproximace sigmoidální funkce. Platforma v tomto případě našla řadu různých řešení implementujících aproximaci sigmoidy, z nichž některá byla sekvenční a jiná čistě kombinační. V rámci experimentu byly evolučně nalezeny i známé algoritmy, přičemž některé z nich byly evolucí dokonce optimalizovány pro podmnožinu definičního oboru zvolenou pro daný experiment. Poslední sada experimentů byla zaměřena na evoluční návrh obrazových filtrů pro redukci šumu typu sůl a pepř. Platforma v tomto případě znovuobjevila koncept přepínaných filtrů a naezla variantu přepínaného mediánového filtru, která byla z hlediska výsledků filtrace srovnatelná s běžně používanými metodami. Tato práce prokázala, že pomocí genetického programování lze navrhovat a optimalizovat malé HW/SW systémy. Automatizovaný evoluční návrh složitějších HW/SW systémů zůstává otevřeným problémem vhodným k dalšímu výzkumu.
Genetic programming (GP) can, to some extent, automatically generate desired programs without asking the user to specify how to do it. It has been used to solve a wide range of practical problems and produce a number of human-competitive results in different fields. An interesting and practically untouched question is whether for a given problem, GP can generate a highly optimized programmable computational model (platform) together with a program running on the platform, solving the problem and satisfying all constrains such as on the area on a chip and speed. In a multi-objective scenario, the user would obtain a set of non-dominated solutions showing various tradeoffs between resources (the area, power consumption) and performance (the speed of execution). This problem can be seen as a concurrent development of hardware and software, simply, HW/SW codesign. This thesis explores the ways how to evolve hardware platforms together with programs in the case that the specification is given in terms of a set of input-output vectors. The initial model of the architecture was created and the evolutionary framework capable of maintaining and evolving the population of such architectures was implemented. Candidate microprogrammed architectures were evolved together with programs using extended linear genetic programming. Several simple experiments were carried out and the framework proved competitive with state-of-the-art methods. The framework was subsequently extended addressing the weak points identified during the initial experiments. The extended framework was validated by means of more complex experiments. One of them focused on an effective implementation of sigmoid function approximation. Various implementations of sigmoid approximation were evolved (sequentional as well as purely combinational). The proposed framework provided several well-known solutions and even optimized some of them for the particular input domain chosen for the experiment. The next set of experiments was supposed to evolve an image filter reducing salt-and-pepper impulse noise. The framework was able to evolve the concept of switching-based filter and even the variation of a switching-based median filter comparable to the filters commonly used. This thesis proved that small-size HW/SW systems can be designed and optimized by means of genetic programming. Moving to an automated evolutionary design of more complex HW/SW systems is an open research problem waiting for a future research.
Description
Citation
MINAŘÍK, M. Souběžný evoluční návrh hardwaru a softwaru [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2018.
Document type
Document version
Date of access to the full text
Language of document
en
Study field
Výpočetní technika a informatika
Comittee
Date of acceptance
2018-02-23
Defence
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení
DOI
Collections
Citace PRO