
This test attempts to characterize the performance of the TRANSPORT_PRIORITY
Quality of Service policy values.  See the Perl POD description embedded
in the run_test.pl script in this directory for additional information
about executing the tests.  Access this information most easily by
executing:

> ./run_test.pl --man

which will format the POD as a manual page on the terminal.

TEST SCENARIOS:

-----
  Factors to consider include:
    Message Priority
    Message size and statistics
      Mean/Expected size
      Maximum size
      Minimum size
      Size distribution and parameters
        (Gaussian: average/variance)
    Message rate and statistics
      Mean/Expected rate
      Rate distribution and parameters
        (Exponential: rate)
    Number of hosts
    Number of publication processes
    Publications per process
    Transport type

-----
  Measurements to consider include:
    Number of messages dropped
      Interval(s) over which drops are counted
    Number of messages recieved
      Interval(s) over which messages are counted
    Number of bytes recieved
      Interval(s) over which bytes are counted
    Latency statistics of received messages
      Interval(s) over which statistics are gathered

-----
As an initial set of values, use the following definitions:

  Low priority - default (0)
  High priority - 5

  Low rate    -    10 messages / second
  Medium rate -   100 messages / second
  High rate   -  1000 messages / second

  Small size  -   300 bytes (  500 max,   200 min,  150 standard deviation)
  Medium size -  1000 bytes ( 1450 max,   800 min,  300 standard deviation)
  Large size  - 20000 bytes (30000 max, 10000 min, 5500 standard deviation)

This will result in the following network loads:

  Low rate    / small size  -  average:  23 Kbps, peak:  39 Kbps, min:  15 Kbps.
  Low rate    / medium size -  average:  78 Kbps, peak: 113 Kbps, min:  63 Kbps.
  Low rate    / large size  -  average: 1.5 Mbps, peak: 2.3 Mbps, min: 781 Kbps.

  Medium rate / small size  -  average: 230 Kbps, peak: 390 Kbps, min: 150 Kbps.
  Medium rate / medium size -  average: 780 Kbps, peak: 1.1 Mbps, min: 630 Kbps.
  Medium rate / large size  -  average:  15 Mbps, peak:  23 Mbps, min: 7.8 Mbps.

  High rate   / small size  -  average: 2.3 Mbps, peak: 3.9 Mbps, min: 1.5 Mbps.
  High rate   / medium size -  average: 7.8 Mbps, peak:  11 Mbps, min: 6.3 Mbps.
  High rate   / large size  -  average: 150 Mbps, peak: 230 Mbps, min:  78 Mbps.

-----
The scenarios to demonstrate the TRANSPORT_PRIORITY feature behavior
should include the following:

  Scenario 1:
    Subscriber/host1.
    Publisher1/host1:
      Writer1 - TCP, High priority, low rate, small size
      Writer2 - TCP, Low priority, low rate, small size
  Total network load: average:  46 Kbps, peak:  78 Kbps, min:  30 Kbps.
  Expect:
    All messages received with similar latency statistics.  This is the
    baseline latency with which to compare subsequent latency measurements.
  Demonstrates:
    Use of only thread priority to distinguish priority levels.
    Messages are sent and received correctly (baseline).

  Scenario 2:
    Subscriber/host1.
    Publisher1/host1:
      Writer1 - TCP, High priority, low rate, small size
      Writer2 - TCP, Low priority, high rate, large size
  Total network load: average: 150 Mbps, peak: 230 Mbps, min:  78 Mbps.
  Expect:
    High priority messages received with low latency (comparable to latency
    with only this message stream sending);
    Low priority message received with possibly insignificant increase in
    latency over high priority messages.
  Demonstrates:
    Use of only thread priority to distinguish priority levels.
    Low rate small high priority messages are delivered with minimum latency
    within a high volume of low priority messages (high priority messages
    do not wait for low priority messages).

  Scenario 3:
    Subscriber/host1.
    Publisher1/host1:
      Writer1 - TCP, High priority, high rate, large size
      Writer2 - TCP, Low priority, high rate, large size
  Total network load: average: 300 Mbps, peak: 460 Mbps, min: 156 Mbps.
  Expect:
    High priority messages received with low latency (comparable to latency
    with only this message stream sending);
    Low priority message received with increase in latency over high
    priority messages.
  Demonstrates:
    Use of only thread priority to distinguish priority levels.
    Many large high priority messages are delivered with minimum latency
    within a high volume of low priority messages (high priority messages
    do not wait for low priority messages).

  Scenario 4:
    Subscriber/host1.
    Publisher[12]/host1: (two publisher on same host)
      Writer1 - TCP, High priority, low rate, small size
      Writer2 - TCP, Low priority, low rate, small size
  Total network load: average:  94 Kbps, peak: 156 Kbps, min:  60 Kbps.
  Expect:
    All messages received with similar latency statistics.  This is the
    baseline latency with which to compare subsequent latency measurements.
  Demonstrates:
    Use of thread priority and DSCP via loopback interface to distinguish
    priority levels.

  Scenario 5:
    Subscriber/host1.
    Publisher[12]/host1: (two publisher on same host)
      Writer1 - TCP, High priority, low rate, small size
      Writer2 - TCP, Low priority, high rate, large size
  Total network load: average: 300 Mbps, peak: 460 Mbps, min: 156 Mbps.
  Expect:
    High priority messages received with low latency (comparable to latency
    with only this message stream sending);
    Low priority message received with possibly insignificant increase in
    latency over high priority messages.
  Demonstrates:
    Use of thread priority and DSCP via loopback interface to distinguish
    priority levels.
    Low rate small high priority messages are delivered with minimum latency
    within a high volume of low priority messages (high priority messages
    do not wait for low priority messages).

  Scenario 6:
    Subscriber/host1.
    Publisher[12]/host1: (two publisher on same host)
      Writer1 - TCP, High priority, medium rate, large size
      Writer2 - TCP, Low priority, high rate, large size
  Total network load: average: 330 Mbps, peak: 506 Mbps, min: 172 Mbps.
  Expect:
    High priority messages received with low latency (comparable to latency
    with only this message stream sending);
    Low priority message received with increase in latency over high
    priority messages.
  Demonstrates:
    Use of thread priority and DSCP via loopback interface to distinguish
    priority levels.
    Many large high priority messages are delivered with minimum latency
    within a high volume of low priority messages (high priority messages
    do not wait for low priority messages).

  Scenario 7 through 12:
    Repeat Scenario 1 through 6 with Subscriber process on separate host.
  Demonstrates:
    Use of DSCP settings via actual network.

------------------------------------------------------------------------
More scenario detail:
