Closed fschmllr closed 1 year ago
Microbenchmarks to evaluate:
Applications:
Code and Binary Size
@ls-1801 here is something related that I found.
Artifacts, including experiments and graphs, for the paper: "Unikraft: Fast, Specialized Unikernels the Easy Way" (EuroSys'21 - Best Paper Award).
We have to measure the boot-time and identify parameters that would influence the boot time. A few that other projects have already discovered:
Measure the performance of the Unikernel Processing capabilities
Does Boot Time equal the time it takes for the Operator to achieve its maximum processing capabilities?
We would like to know the time it takes for the Query Processor to decide it needs an Operator until the time the Operator processes tuples at maximum speed In a scenario where the Nebula Stream System wants to use Adhoc compilation of Operators, it might also be beneficial to investigate the impact of compilation time
The MirageOS approach appears to be the easiest. It could technically be implemented on the spot. The Unikraft approach is not trivial.
A Python benchmark could be used to flood the Unikernel with tuples. We need a mechanism to detect at which point the Unikernel is overwhelmed. A Map Operator could be useful to ensure that no tuples are dropped. The approach demonstrated in the brendangregg blog post could be used to identify hot areas of the Unikernel Execution. As noted by the Author, this will highly impact the performance of the Unikernel.
Sources:
https://www.brendangregg.com/blog/2016-01-27/unikernel-profiling-from-dom0.html