Original title:
Automatizace návrhu systémů odolných proti poruchám
Translated title:
Fault tolerant systems design automation
Authors:
Lojda, Jakub ; Plíva, Zdeněk (referee) ; Steininger, Andreas (referee) ; Sekanina, Lukáš (advisor) Document type: Doctoral theses
Year:
2023
Language:
eng Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[eng][cze]
Pokud je požadováno, aby digitální systém dosáhl vysoké úrovně spolehlivosti, musí zachovat funkčnost i v případě přítomnosti přirozeně se objevujících poruch. Mnoho takových systémů využívá hradlová pole FPGA (z angl. Field Programmable Gate Array). Jedním z přístupů ke zvýšení spolehlivosti systému je začlenění mechanismů odolnosti proti poruchám (OPP; angl. Fault Tolerance). Není však snadné navrhovat systémy tak, aby byly OPP. V této disertační práci je navržen, prozkoumán a popsán automatický způsob transformace popisu systému do jeho podoby zvyšující OPP. Prezentovaný výzkum klade důraz na obecnost tohoto procesu, který umožňuje znovupoužitelnost metod mezi odlišnými formáty popisu, různými jazyky a úrovněmi abstrakce. Tato práce zkoumá navrhovanou metodu a její hlavní aspekty: metody úpravy zdrojového kódu, strategie návrhu OPP a akceleraci měření dosažené úrovně OPP. V neposlední řadě práce prezentuje postup návrhu, který cílí na minimalizaci požadovaných měření parametrů, což výrazně urychluje automatický návrh systému OPP. Během výzkumu prezentovaného v této práci bylo experimentálně studováno několik případů. Různé obvody popsané v odlišných jazycích byly optimalizovány dle rozdílných metrik spolehlivosti tak, aby během výzkumu bylo pokryto více scénářů. První kroky ve výzkumu využívají řídicí jednotku robota napsanou v C++ jako cíl pro vyhodnocení manipulace se zdrojovým kódem. Optimalizace se zaměřuje na procentuální zastoupení tzv. kritických bitů (z angl. critical bits) na FPGA. Následně byly místo řídicí jednotky robota použity naše testovací obvody, rovněž popsané v C++. K automatickému přiřazení nejvhodnějších mechanismů OPP (např. třímodulové redundance, z angl. Triple Modular Redundancy - TMR; nebo N-modular Redundancy - NMR) byla nejprve použita strategie založená na Multiple-choice Knapsack Problem (MCKP). Navrhovaná strategie nalezla řešení snižující počet kritických bitů o 18 % a zároveň snížila velikost obvodu (obojí ve srovnání s předchozím přístupem se statickou alokací mechanismů OPP). Poté byly implementovány prostředky pro vkládání mechanismů OPP do VHDL kódů. Testovací obvody popsané ve VHDL byly použity rovněž se strategií MCKP k nalezení řešení s nejlepším mediánem času do selhání (též známým jako t50). Pro tuto případovou studii bylo dosaženo cca 25% úspory velikosti obvodu ve srovnání s referenčním návrhem, ve kterém byly mechanismy OPP přiřazeny staticky a ručně. Prezentovaná metoda totiž umožňuje uživateli omezit oblast na čipu, která je pro daný systém dostupná a získat výsledek o optimální spolehlivosti pro tuto danou oblast (za předpokladů blíže specifikovaných v této práci). Rovněž byla testována obnova systému, která dále zlepšila výsledky t50 o 70 %. Nakonec byla provedena komplexní případová studie na reálném obvodu - řadiči rekonfigurace FPGA. V této případové studii se v praxi představuje způsob nalezení Paretovy fronty optimálních obvodů zohledňujících více kritérií, tj. spotřeba energie, velikost a střední doba do poruchy (z angl. Mean Time to Failure - MTTF). Metoda také umí využít principů dynamické částečné rekonfigurace FPGA pro obnovu systémů.
If a digital system is required to maintain a high level of reliability, it must withstand the presence of naturally-emerging failures. Many of such systems utilize Field Programmable Gate Arrays (FPGAs). One of the approaches to increase the system's reliability is the insertion of the so-called Fault Tolerance (FT) mechanisms. It is, however, a significant challenge to design systems to be FT. In this thesis, an approach is designed and researched, capable of automatically transforming an unhardened design into its FT version. The thesis emphasizes the generality of such a process, which allows for the reusability of the methods among various description formats, languages, and abstraction levels. This thesis describes the proposed method and its main aspects: the source code modification approaches, design strategies, and acceleration of FT parameters measurement. Last but not least, design flows that target the minimization of required measurements are proposed, which significantly accelerates the complete automated design of the FT system. Several cases were experimentally studied during the research presented in this thesis. Multiple circuits described in different languages were targeted with various reliability metrics to cover multiple scenarios. The first steps use a robot controller written in C++ as a target for evaluating the source code manipulations and the so-called critical bits representation of an FPGA design. After that, our C++ benchmark circuits were used instead of the robot controller. At first, a strategy based on the Multiple-choice Knapsack Problem (MCKP) was used to automatically select the most suitable hardening from available hardening schemes (e.g., Triple Modular Redundancy, or N-modular Redundancy). The proposed design strategy found a solution with 18% fewer critical bits while even lowering the design size overhead compared to the previous approach with the static allocation of FT mechanisms. After that, means of FT mechanism insertion were implemented for VHDL. VHDL benchmarks were also used with the MCKP strategy to find solutions with the best Median Time to Failure (a.k.a. t50). For the actual case study, circa 25% savings in the area were achieved compared to the reference design to which the FT mechanisms were assigned statically and manually. The method allows the user to constrain the available chip area and obtain the result optimal on reliability for this given area (under assumptions specified in the thesis). Also, system recovery was tested, which further improved the t50 results by 70%. Finally, a comprehensive case was studied on a real circuit, the FPGA reconfiguration controller. This presents a method of finding a Pareto-frontier of optimal designs considering multiple criteria (i.e., power consumption, size, and Mean Time to Failure - MTTF). The method exploits the principles of dynamic partial reconfiguration.
Keywords:
alokace a vkládání redundance; automatizace návrhu elektronických systémů; Automatizace návrhu systémů odolných proti poruchám; C++; FPGA; postup návrhu systémů odolných proti poruchám; VHDL; C++; Electronic Design Automation; Fault-tolerant System Design Automation; Fault-tolerant System Design Flow; FPGA; Redundancy Allocation and Insertion; VHDL
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/214098