In the ADVANCED workload mode, MEXTEX starts up a number of
independant scheduled threads, each of which generate and feed I/O
requests to a number of I/O execution threads, i.e. each scheduler can
have a number of simultaneous outstanding I/O requests. The number of
scheduler threads is selectable by the user thru manipulation of the
GUI, however the number of I/O execution threads is determined
indirectly by the maximum number of processes which can be sproc'ed on
the host machine.
The scheduler threads generate I/O requests based on the settings of a
rich set of user manipulable controls. The user can construct a wide
range of synthetic workloads by appropriate settings of the controls
which determine
- 1.
Percentage of reads vs. writes.
- 2.
Percentage of Sequential I/Os vs. random I/Os.
- 3.
Distribution of I/O request lengths.
- 4.
Distribution of block address (LBA) locality.
- 5.
Distribution of inter-I/O times.
- 6.
Activity duty-cycle and period.
The following controls are available for determining the stream of
I/Os generated.
-
Number of I/O threads
- Determines the number of independant scheduler threads created
per device.
-
Maximum number of queued I/Os
- Determines the maximum number of queued I/Os per device.
-
% Read I/Os
- Determines the % of I/Os which will involve a read.
-
% Read I/Os
- Determines the % of I/Os which will involve a write.
-
% Sequential I/Os
- Determines the % of I/Os which will be sequential; that is, the
start block address (LBA) of the I/O will be sequential with
respect to the previous I/O.
-
% Random I/Os
- Determines the % of I/Os which will be random; that is, the
start block address (LBA) of the I/O will be independent of the
previous I/O.
-
Sequential I/O Length Distribution
- Determines the distribution of I/O request
length for sequential I/Os.
-
Random I/O Length Distribution
- Determines the distribution of I/O request
length for random I/Os.
-
I/O alignment boundary
- Determines the LBA boundaries of I/O requests. e.g. if the I/O
alignment boundary is set to 4, LBAs of all requests will be
multiples of 4.
-
I/O Starting Distribution
- Determines the distribution of I/O request
starting block address (LBA) of random I/Os.
-
Inter I/O time distribution
- Determines the distribution of inter-I/O times.
-
Activity Period
- Defines the activity period needed by the Activity Duty
Cycle control below.
-
Activity Duty Cycle
- Determines the activity/idle duty cycle; that is, the percentage
of time that the device being exercised is kept busy vs. the
percentage of time that the device is idle.
Distribution controls are used in a number of instances in the
Advanced Workload controls. They provide a mechanism for controlling
random number generators. Four controls are available; minimum and
maximum values, a mode (one of UNIFORM, GAUSSIAN or POISSON) and a
parameter value (SD when mode is GAUSSIAN, or MU when mode is POISSON).
-
UNIFORM
- When the distribution mode is UNIFORM, an integral random number is
selected with uniform probability from the range determined by
the minimum and maximum values.
-
GAUSSIAN
- When the distribution mode is GAUSSIAN, an integral random number is
selected with normal (gaussian) probability from the range determined by
the minimum and maximum values. The mean of the gaussian
distribution is determined by the average of the minimum and
maximum values, and the standard deviation is determined by the
value of SD.
-
POISSON
- When the distribution mode is POISSON, an integral random number
is selected with poisson probability from the range determined by
the minimum and maximum values. The mean of the poisson
distribution is determined by the value of MU.