Skip to content

Latest commit

 

History

History

fig_02_unikraft-nginx-deps

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Unikraft NGINX Dependency Graph

In contrast to fig_01 we demonstrate the simplicty of a Unikraft NGINX unikernel. To quote the paper, "the annotations on the edges show the number of dependencies between nodes. ... We used cscope to extract all function calls from the sources of all kernel components, and then for each call checked to see if the function is defined in the same component or a different one; in the latter case, we recorded a dependency."

In order to run this experiment you have to run run.sh. This will download Unikraft from github and checkout to commit 775dc01. This program will return a .dot and a .pdf output in the output folder.

N.B.: We can use the following to generete a pdf from the.dor:

dot fis.dot -Tpdf -o fis.pdf

Dependencies

  • cscope
  • git
  • graphviz

Scripts description:

  • component_symbols.sh: for each symbol in a defined module(e.g. net) we find all the symbols using cscope. For each symbol we find the source module.