Queue depth events: example 2

A more extensive sequence of queue depth events.

Figure 1 shows the variation of queue depth over time.

Figure 1. Queue depth events (2)
Illustration showing a graph of queue capacity against time. There are 13 points along the time axis: T0 is the initial point of interest. The queue capacity is at 0%. At T1 the queue capacity has increased to 20%. This is the depth low limit. At T2, after peaking at around 40%, the queue capacity has decreased back to 20%. This is the depth low limit. At T3, after reaching a trough at approximately 15%, the queue capacity has increased back to 20%. This is the depth low limit. At T4, the queue capacity has increased to 80%. This is the depth high limit, so a Queue Depth High event is generated. At T5, after peaking at around 85%, the queue capacity has decreased back to 80%. This is the depth high limit. At T6, the queue capacity has decreased to 20%. This is the depth low limit, so a Queue Depth Low event is generated. At T7, after reaching a trough at approximately 12%, the queue capacity has increased back to 20%. This is the depth low limit. At T8, the queue capacity has increased to 80%. This is the depth high limit, so a Queue Depth High event is generated. At T9 the queue capacity has increased to 100%, so a Queue Depth Full event is generated. From T9 to T10, the queue capacity has remained uniform at 100%. At T11 the queue capacity has decreased to 80%. This is the depth high limit. At T12 the queue capacity has decreased to 20%. This is the depth low limit, so a Queue Depth Low event is generated.

Commentary

  1. No Queue Depth Low event is generated at the following times:
    • T(1) (Queue depth increasing, and not enabled)
    • T(2) (Not enabled)
    • T(3) (Queue depth increasing, and not enabled)
  2. At T(4) a Queue Depth High event occurs. This enables both Queue Full and Queue Depth Low events.
  3. At T(9) a Queue Full event occurs after the first message that cannot be put on the queue because the queue is full.
  4. At T(12) a Queue Depth Low event occurs.

Event statistics summary

Table 1 summarizes the queue event statistics and Table 2 summarizes which events are enabled at different times for this example.

Table 1. Event statistics summary for queue depth events (example 2)
  Event 4 Event 6 Event 8 Event 9 Event 12
Time of event T(4) T(6) T(8) T(9) T(12)
Type of event Queue Depth High Queue Depth Low Queue Depth High Queue Full Queue Depth Low
TimeSinceReset T(4) - T(0) T(6) - T(4) T(8) - T(6) T(9) - T(8) T(12) - T(9)
HighQDepth 800 855 800 1000 1000
MsgEnqCount 1645 311 1377 324 221
MsgDeqCount 845 911 777 124 1021
Table 2. Summary showing which events are enabled
Time period Queue Depth High event Queue Depth Low event Queue Full event
T(0) to T(4) ENABLED - -
T(4) to T(6) - ENABLED ENABLED
T(6) to T(8) ENABLED - ENABLED
T(8) to T(9) - ENABLED ENABLED
T(9) to T(12) - ENABLED -
After T(12) ENABLED - ENABLED
Note: Events are out of syncpoint. Therefore you could have an empty queue, then fill it up causing an event, then roll back all of the messages under the control of a syncpoint manager. However, event enabling has been automatically set, so that the next time the queue fills up, no event is generated.