Unikraft Toolchain
Perski, Robin
Promotor(s) : Mathy, Laurent ; Gain, Gaulthier
Date of defense : 26-Jun-2023/27-Jun-2023 • Permalink : http://hdl.handle.net/2268.2/17765
Details
Title : | Unikraft Toolchain |
Translated title : | [fr] Chaîne d'outils Unikraft |
Author : | Perski, Robin |
Date of defense : | 26-Jun-2023/27-Jun-2023 |
Advisor(s) : | Mathy, Laurent
Gain, Gaulthier |
Committee's member(s) : | Donnet, Benoît
Debruyne, Christophe |
Language : | English |
Number of pages : | 48 |
Keywords : | [en] Unikraft [en] Toolchain |
Discipline(s) : | Engineering, computing & technology > Computer science |
Research unit : | Montefiore R.U.N. Unit |
Name of the research project : | Unikraft Toolchain |
Target public : | Researchers Professionals of domain Student General public Other |
Institution(s) : | Université de Liège, Liège, Belgique |
Degree: | Master : ingénieur civil en informatique, à finalité spécialisée en "computer systems security" |
Faculty: | Master thesis of the Faculté des Sciences appliquées |
Abstract
[en] Until now, microservices have been run either on monolithic operating systems that are not at all suited to this new architecture, or in containers. However, a major new competitor could shake up the market: unikernels. More powerful, more secure and targeting one application at a time, they could well overshadow monolithic operating systems and containers. However, they have one major drawback: they are very difficult for developers to use.
This is where the Unikraft project really comes into its own. Eventually intended to provide an automated system for building specialised unikernels, Unikraft already provides a complete unikernel development kit to make developers' work easier. However, using this system is still a long way from what one would expect from an automated system. The Unikraft toolchain, a tool capable of analysing an application in detail and building the corresponding specialised unikernel, was developed with the aim of moving towards the much-coveted automated system. However, as the toolchain is still under heavy development, it suffers from many bugs and is not yet capable of automatically producing specialised unikernels.
In this work, the various tools that make up toolchain were put to the test with the aim of porting (i.e. producing a specialised unikernel targeting the application the Unikraft way) as many applications as possible to Unikraft and gradually improving the toolchain. Each application, or almost each application, revealed shortcomings. Numerous bugs were discovered and fixed in the dependency analysis, build and extracter tools. New functionalities were also added to the dependency analysis and build tools. The applications were successfully ported after these improvements were made, even if they were not fully automatically ported. Indeed, one must admit that it may not always be possible to port applications automatically because of their uniqueness.
File(s)
Document(s)
Cite this master thesis
The University of Liège does not guarantee the scientific quality of these students' works or the accuracy of all the information they contain.