IntersectMBO / IntersectMBO/ouroboros-network

DeltaQ (ΔQ) measurement tool

Open
#803 1 comment 0 reactions 0 assignees View on GitHub
delta-q optimisation testing
Dominant language
Haskell
Stars
296
Forks
104
Avg merge
2d 10h
Merged PRs (30d)
4

Description

Specification of `ΔQ` measurement tool:
1. single protocol build on top of `typed-protocol` described bellow
2. the protocol should allow to send arbitrary large requests (drawn from some distribution) messages, which allows to measure `ΔQ`. This part should be similar to the `ping-pong` protocol but allows to carry data along `pings` and `pongs`, together with timestamp information.
3. it should also allow to exchange `ΔQ` information between both sides.
4. validate the received `ΔQ`

The client would collect time stamps when a request was send, when received together with the request size, then plot flight time as a function of its size. The client, using linear regression, can find out how long it takes to send request with `0` size. This is the `g` component of `ΔQ` which can be exchanged in point 3. above.

Since it's a single `typed-protocol` it will not require to use `network-mux` library, and this is an important requirement. We want it to run on a bear bearer (`typed-protocols` require that the bearer delivers messages in order, for now we keep this as an assumption).

Future development might include:
- making `ΔQ` measurement persistent across sessions
- plotting time to completion as a function of size for each session; it is useful to compare `ΔQ` between different sessions.
- @karknu made a request that this tool could analyse `pcap` files to get `ΔQ` information.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.