Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add multiple probability distribution options to dw_client #20

Closed
tomcucinotta opened this issue Aug 11, 2023 · 2 comments
Closed

add multiple probability distribution options to dw_client #20

tomcucinotta opened this issue Aug 11, 2023 · 2 comments
Assignees

Comments

@tomcucinotta
Copy link
Owner

tomcucinotta commented Aug 11, 2023

The client currently only supports specification of fixed or exponentially distributed processing times, inter-arrival times, and send or reply packet sizes. However, there is very little ability to specify different combinations of these parameters at the moment, especially if using chains of multiple commands to be executed on different hosts using the FORWARD.
We should allow for a richer set of distributions, e.g.:

  • uniformly distributed within a (min,max) range;
  • exp-distributed with explicit (min,max) caps;
  • normally distributed with specified average and standard deviation;
  • Gamma distribution with parameters k and theta;
  • generic PMF distribution specified as vector of equally-sized bins;
  • generic distribution specified as samples of the CDF;
  • file-based samples, i.e., values read from client-side file containing experimental samples that are simply replayed.
@tomcucinotta
Copy link
Owner Author

tomcucinotta commented Sep 2, 2023

With commit c13e598, the client is allowed to specify for inter-arrival times, packet-size, response-packet size, computation times, either:

  • a numeric value, just entering the value on the command-line
  • a uniform distribution, through the syntax 'unif(min,max)', or the syntax 'unif(max)' where min=0 is taken implicitly
  • an exponential distribution, through the syntax 'exp(avg)'

for example, for the -C option specifying computation times:

  • -C 10000
  • -C 'exp(10000)'
  • -C 'unif(10000,20000)'
  • -C 'unif(10000)', which is equivalent to -C 'unif(0,10000)'

The baseline code in distrib.c should allow easily to plug additional syntaxes for additional probability distributions.

May need some more testing, especially when used in conjunction with the rate control options (ramp and samples from file).

tomcucinotta added a commit that referenced this issue Sep 3, 2023
…g,std)' syntax from the command-line, exploiting commit c13e598 (addressing #20)
tomcucinotta added a commit that referenced this issue Sep 5, 2023
…on spec (addressing #20).

Now we can specify:
- value, implying FIXED
- type: (one of exp, unif, norm) followed by a comma-separated list of specifiers (avg,std,min,max), as needed by the various types

Examples:
-C 40
-C exp:avg=10 (or exp:10)
-C unif:min=5,max=15
-C norm:avg=15,std=3

All types support the optional specification of min=xx,max=yy, to truncate the distribution if needed
tomcucinotta added a commit that referenced this issue Sep 7, 2023
…bution syntax, in addition to a fixed value, exploiting commit c13e598 (related to #20)
deRemo added a commit to deRemo/distwalk that referenced this issue Sep 8, 2023
deRemo pushed a commit to deRemo/distwalk that referenced this issue Sep 9, 2023
…bution syntax, in addition to a fixed value, exploiting commit c13e598 (related to tomcucinotta#20)
deRemo added a commit to deRemo/distwalk that referenced this issue Sep 9, 2023
tomcucinotta pushed a commit that referenced this issue Sep 9, 2023
tomcucinotta pushed a commit that referenced this issue Sep 9, 2023
tomcucinotta added a commit that referenced this issue Sep 19, 2023
…caling" the distribution, instead of choosing min/max values with a artificiously higher probability (related to #20)
deRemo pushed a commit to deRemo/distwalk that referenced this issue Sep 20, 2023
…caling" the distribution, instead of choosing min/max values with a artificiously higher probability (related to tomcucinotta#20)
tomcucinotta added a commit that referenced this issue Sep 29, 2023
tomcucinotta added a commit that referenced this issue Sep 29, 2023
tomcucinotta added a commit that referenced this issue Sep 29, 2023
@tomcucinotta
Copy link
Owner Author

this is done, supporting all distributions identified above, except the random sampling from experimental PMF, which can actually be emulated (alongside other arbitrary distributions) creating a file with a trace of the desired distribution, then using the "file:" syntax.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant