This section gives some basic details about the Response Probe methods, including the formula its uses to generate normally distributed values, and more details on the stages of the simulated workload.
No two Response Probe tests are ever identical because Response Probe actions are random within the chosen mean and standard deviation. Nonetheless, tests using the same script files should produce similar values in repeated trials.
For each simulated action, such as using the processor or writing to a file, Response Probe calculates a value using this formula:
Value = Mean + (((Sum of 14 random numbers from 0 to 1) -7) * standard deviation)
Fourteen random numbers are used to simulate a bell-shaped curve. Seven is subtracted to return the midpoint to the mean.
Sometimes, the actual standard deviation varies slightly from what you enter. This happens when Response Probe folds outlying values back toward the mean. While the difference is usually not significant, this folding might reduce the standard deviation slightly.
Response Probe folds values when a computed value has no meaning, such as negative time or record numbers greater than the file size.
If a computed value is negative, it is folded to use the absolute value. For example, if the computed value were -16, the folded value would be +16.
If a computed value is too high, Response Probe subtracts the difference between the computed value and the maximum value from the maximum value to fold the value.
Folded value = Maximum value - (Computed value - Maximum value)
For example, suppose a page number of 102 is computed for a 100-page file. The value is folded back toward the mean and the value used is 98:
100 - (102 - 100) = 98
Sometimes these strategies are combined. If a computed value for a 100-page file is 205, the folded value is 5:
100 - (205 - 100) = -5 |-5| = 5.
When Response Probe starts, it calibrates the number of cycles the processor can complete in one second. Then, when it needs to consume processor time, it knows how many cycles to consume. It calibrates at High priority.
The think state simulates a user thinking but not interacting with the computer. The Response Probe thread becomes idle during this state. The length of the think state is a normally distributed value based on the mean and standard deviation set in the THINKTIME parameter of the Thread Description file.
After the think state, Response Probe generates normally distributed value for the number of file access and compute states to execute before the next think state.
During this state, Response Probe reads from and/or writes to the workload file specified in the FILEACCESS parameter of the Thread Description file. You choose whether records are accessed randomly or sequentially. If you choose random, Response Probe generates a normally distributed value to determine which records it accesses based on the values in the Thread Description file.
After the file is accessed, Response Probe generates a normally distributed value for the amount of processor time to consume.
During this state, Response Probe consumes processor cycles for the time interval you specify. To occupy the processor, it simulates the reading of code pages by reading from a 1000-function internal file. It also simulates writing to data pages by writing to a section of virtual memory backed by the paging file written during computation. Functions and data pages are selected as normally distributed values based on the mean and standard deviation set in the CPUTIME parameter of the Thread Description File.