tipa12 / unikernel-BDSProj

1 stars 0 forks source link

Choose benchmark criteria #16

Closed fschmllr closed 1 year ago

ls-1801 commented 1 year ago

Sources:

https://www.brendangregg.com/blog/2016-01-27/unikernel-profiling-from-dom0.html

ls-1801 commented 1 year ago

The Evaluation used within the MirageOS Paper:

Microbenchmarks to evaluate:

Applications:

Code and Binary Size

fschmllr commented 1 year ago

@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).

https://github.com/unikraft/eurosys21-artifacts

ls-1801 commented 1 year ago

Measurements from the Unikraft Eurosys21 Experiments

ls-1801 commented 1 year ago

brendangregg Blog Post

Flamegraphs

Stackwalking under Xen

PoC

ls-1801 commented 1 year ago

Goals

What do we need to Measure:

Boot-Time

We have to measure the boot-time and identify parameters that would influence the boot time. A few that other projects have already discovered:

Tuple Processing Performance

Measure the performance of the Unikernel Processing capabilities

Combination of Both

Does Boot Time equal the time it takes for the Operator to achieve its maximum processing capabilities?

Approach

Boot-Time

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.

Tuple Processing Performance

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.