NetCal/DNCext_MPARTC

Dispatch to Native Bounding Methods

Opened this issue · 2 comments

The MPA RTC backend's capabilities are crippled by the lack of a dispatcher that allows for using the native MPA RTC implementation of bounds: delay, backlog, output arrival curve and left-over service. Currently, only the DNC implementation can be used, effectively restricting the entire backend to (almost) concave, (almost) continuous curves after all.

commit 1e280d6 implements dispatching to native 2 out of 3 bound computations: Backlog and FIFO Delay.

The arbitrary multiplexing delay bounding for for flow aggregates crossing a server can only take the intersection of aggregate arrival curve and service curve as a safe bound on the delay. However, this operation is not implemented in the MPA RTC. The wrapper calls getXIntersection(arrival_curve, service_curve) in org.networkcalculus.dnc.curves.Curve instead. Thus, we inherit the limitation to non-periodic curves.

Cross-ref: This partial solution blocks issue #16.

The MPA RTC toolbox does not provide an implementation for computing a FIFO left-over service curve either. I.e., we will not be able to write a full-blown dispatcher for BoundingCurves. Instead, we will have to resort to applying an existing DNC operation (possible thanks to the curve wrappers' API compliance). This will reinforce restrictions outlined in the previous comment, #15 (comment).