Iometer User’s Guide

Intel Server Architecture Lab

October 8, 1998

David D. Levine, iometer@intel.com

 

Copyright Ó 1997-1998 Intel Corporation

Information in this document is provided in connection with Intel products. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. Except as provided in Intel’s Terms and Conditions of Sale for such products, Intel assumes no liability whatsoever, and Intel disclaims any express or implied warranty, relating to sale and/or use of Intel products including liability or warranties relating to fitness for a particular purpose, merchantability, or infringement of any patent, copyright or other intellectual property right. Intel products are not intended for use in medical, life saving, or life sustaining applications.

Intel may make changes to specifications and product descriptions at any time, without notice.

Copyright © Intel Corporation 1998. *Third-party brands and names are the property of their respective owners.

 

 

Table of Contents

Introduction

Iometer is an I/O subsystem measurement and characterization tool for single and clustered systems. Iometer is pronounced "eye-OM-i-ter," to rhyme with "thermometer." Iometer does for a computer’s I/O subsystem what a dynamometer does for an engine: it measures performance under a controlled load. Iometer was formerly known as "Galileo."

Iometer is both a workload generator (that is, it performs I/O operations in order to stress the system) and a measurement tool (that is, it examines and records the performance of its I/O operations and their impact on the system). It can be configured to emulate the disk or network I/O load of any program or benchmark, or can be used to generate entirely synthetic I/O loads. It can generate and measure loads on single or multiple (networked) systems.

Iometer can be used for measurement and characterization of:

About this Document

This document is a combination User’s Guide and External Product Specification for Iometer. It provides a description of each external interface element (GUI control) and some guidance on using the controls to achieve desired results.

This version of the document is dated October 8, 1998.

About Iometer

Iometer consists of two programs, Iometer and Dynamo.

Dynamo is multithreaded; each copy can simulate the workload of multiple client programs. Each running copy of Dynamo is called a manager; each thread within a copy of Dynamo is called a worker.

The current version of Iometer is 1998.10.08.

System Requirements

Iometer currently runs under Windows NT* 4.0. It requires a screen resolution of at least 800x600, and needs approximately 4 MB of free memory.

Dynamo currently runs under Windows NT 4.0. It needs approximately 2 MB of free memory, plus 4 MB of memory per worker.

Some testing has been done under Beta releases of Windows NT 5.0. This version of Iometer ran properly under the most recent release tested, but it may not work with other releases. Please report any problems you may encounter.

Obtaining Iometer

The latest version of Iometer, including the documentation, can be obtained from the Intel Developers’ Web Site at the following URL:

http://developer.intel.com/design/servers/devtools/iometer/

If you have obtained Iometer from any other source, please send us an e-mail at iometer@intel.com with your name, e-mail address, and company and we will let you know when new versions of Iometer are released.

License Agreement

If you use Iometer, you agree to be bound by the Intel Software License Agreement that is displayed the first time you run a new version of Iometer. Some important terms of the agreement are highlighted below:

  1. You may not give a copy of Iometer or its documentation to anyone else.
  2. Iometer is provided "as-is", without warranty or guarantee of any kind.
  3. Intel does not endorse, support, or guarantee Iometer performance results.
Distribution Policy

You may not give Iometer to anyone else, including other people at your company, but you personally can make and use as many copies as you like. If someone asks you for a copy of Iometer, tell them to download it from our web site. We ask this in order to make sure that everyone has the latest version of Iometer.

Bug Reports and Feature Requests

Iometer is provided "as-is", but we want it to be useful to you. If you have any bug reports or feature requests, send them to us at iometer@intel.com. We cannot promise to fix any bugs or provide any requested features, but we try to read and respond to all our mail. Be sure to include all information necessary to reproduce the problem, including the version number of Iometer. If you aren't using the current version, you will be asked to reproduce the problem using the current version before any action is taken on the bug report.

Use of Iometer Results

Intel does not endorse, support, or guarantee performance results obtained using Iometer. This means that you can do anything you want with the results, including presenting them to the public and using them in advertising, but Intel is not liable for any damages resulting from such use. Any Iometer results that are presented to the public should be accompanied by the following statement: "These results were obtained using Iometer version xxxx.xx.xx, Copyright date by Intel Corporation. Intel does not endorse any Iometer results."

Installing Iometer

Once you have downloaded the Iometer package and uncompressed the files, all that is necessary to install Iometer is to place the files Iometer.exe and Dynamo.exe in the same directory. If you want to run Dynamo on multiple machines, Dynamo.exe must be available on each machine (on either a local or networked disk).

A properly-configured TCP/IP network must be provided between the systems on which Iometer and Dynamo are to be run. No network is needed if Iometer and Dynamo are run on a single system.

Running Iometer

To run Iometer, double-click on Iometer.exe. The Iometer GUI appears, and Iometer starts one copy of Dynamo on the same machine.

You can also start Iometer and immediately load a saved setup file by double-clicking on an .icf file, dragging an .icf or.txt file to the Iometer.exe icon, or specifying an .icf or.txt file as a command-line argument. For example:

C:\> iometer myconfig.icf

If other machines will be used during testing, start a copy of Dynamo on each, providing the name of the machine running Iometer as a command-line argument. For example:

C:\> dynamo IOServer

You do not need to start more than one copy of Dynamo on any one machine. To increase the number of workers on a machine, use Iometer to start additional worker threads within that machine’s single copy of Dynamo.

Quick Start

This section is a rapid introduction to Iometer that will help you get up and running fast.

To test disk performance:

To test network performance between two computers (A and B):

C:\> dynamo computer_a

To import a results.csv file into a Microsoft* Access* 97 database using the Import Wizard:

To graph imported results into a Microsoft Excel* 97 spreadsheet using the Graph Wizard:

Using Iometer

This section provides an introduction to Iometer’s graphical user interface. Complete details on each component are provided later in the document.

The Iometer user interface has the following major components:

Each of these components is described in the following pages. For complete details on each component, see the corresponding Reference section later in this document.

Toolbar — Introduction

The toolbar provides buttons for common commands.

Load Test Configuration — Restores a previously-saved set of test configuration parameters from a file.

Save Test Configuration — Saves the current test configuration parameters to a file.

Start New Manager — Starts a new manager (copy of Dynamo) on the machine Iometer is running on.

Start Disk Worker — Starts a new disk worker (thread) in the manager selected in the Topology panel.

Start Network Worker — Starts a new network server (thread) in the manager selected in the Topology panel.

Duplicate Selected Worker — Starts an exact duplicate of the worker selected in the Topology panel, on the same manager.

Start Tests — Starts a series of tests. Prompts for a file to save the test results.

Stop Current Test and Save Results — Stops the currently-running test, saving its results, and begins running the next test in the current series.

Abort All Tests — Stops the currently-running test, discarding its results. No more tests are run.

Reset Workers — Resets the worker configuration of all managers to the default state.

Disconnect Selected Worker or Manager — Terminates the worker(s) or manager(s) selected in the Topology panel.

Exit — Terminates Iometer and all connected Dynamo processes.

About Iometer — Displays version and copyright information for Iometer.

For complete details, see the Toolbar — Reference section later in this document.

Status Bar — Introduction

Whenever you press the Start Tests button, Iometer runs a series of tests, as specified by the Access Specifications and Test Setup tabs. Each access specification is run once; each test is run once for each access specification. The current test number and the total number of tests to be run are displayed in the status bar at the bottom of the Iometer window.

For complete details, see the Status Bar — Reference section later in this document.

Topology Panel — Introduction

The Topology panel displays a hierarchical list of managers (Dynamos) and workers (threads) currently active.

For complete details, see the Topology Panel — Reference section later in this document.

Disk Targets Tab — Introduction

The Disk Targets tab lets you see and control the disks used by the disk worker(s) currently selected in the Topology panel.

Click, Shift-click, and Control-click to select any number of drives to be used by the selected worker(s) during the test.

Physical drives are displayed with a blue disk icon and the name "PHYSICALDRIVE:n" (only if they contain nothing but free space).

Logical drives are displayed with a yellow disk icon and a drive letter and optional name (only if they are writable).

Logical drives are accessed by writing to a file called \iobw.tst. If this file does not exist, the drive’s icon has a red slash through it. At the start of the test the file will be created and grown until the disk is full.

Running with physical drives is recommended.

Sets the number of sectors used during the test (0 = all sectors).

Sets the starting disk sector used during the test (0 = beginning of physical disk or iobw.tst file).

Sets the number of simultaneous outstanding I/Os per disk.

Specifies whether or not each disk should be opened and closed repeatedly during the test, and sets the number of transactions (request + reply) issued between each open and close.

For complete details, see the Disk Targets Tab — Reference section later in this document.

NOTE

If the total number of outstanding I/Os in the system is very large, Iometer or Windows may hang, thrash, or crash. The exact value of "very large" depends on the disk driver and the amount of physical memory available. This problem is due to limitations in Windows and some disk drivers, and is not a problem with the Iometer software. The problem is seen in Iometer and not in other applications because Iometer makes it easy to specify a number of outstanding I/Os that is much larger than typical applications produce.

Network Targets Tab — Introduction

The Network Targets tab lets you see and control the network interfaces used by the network server(s) currently selected in the Topology panel.

Click to select network interfaces for network server(s) (at most one per server). Control-click to deselect the currently-selected interface. A network client is automatically created on the selected manager to communicate through the selected interface on that manager.

Specifies the network interface used by the selected network worker for its end of the connection.

Specifies the maximum number of messages a network worker will send to a VI target before waiting for an acknowledgement.

Specifies whether or not the connection should be opened and closed repeatedly during the test, and sets the number of transactions (request + reply) issued between each open and close.

If a network client is selected in the Topology panel, the Network Targets tab displays the client’s configuration, but you cannot change it (a client’s configuration is always the same as its server). If a manager that has network clients is selected, the clients’ configuration is not included in the Network Targets tab, and any changes you make in the Network Targets tab do not affect the clients.

For complete details, see the Network Targets Tab — Reference section later in this document.

Access Specifications Tab — Introduction

The Access Specifications tab lets you control the type of I/O each worker performs to its selected target(s). Each named access specification controls:

Multiple access specifications can be assigned, resulting in multiple tests being run.

Lists the access specifications assigned to the worker(s) selected in the Topology panel.

Copies the selected access specification(s) from the Global list to the Assigned list. You can also drag access specifications from one list to the other.

Removes the selected access specification(s) from the Assigned list. You can also drag access specifications out of the list to remove them.

Lists all the currently-defined access specifications.

Creates a new access specification and edits it.

Edits the definition of the selected access specification in the Global list.

Makes a copy of the selected access specification in the Global list and edits it.

Deletes the selected access specification(s) in the Global list.

Moves an access specification up or down in the Assigned list.

The New, Edit, and Edit Copy buttons pop up the Edit Access Specification dialog.

Edit Access Specification Dialog — Introduction

The Edit Access Specification dialog lets you see and change the definition of an access specification.

The name of the access specification.

Which workers are automatically assigned this access specification when they are created. (Does not affect existing workers.)

One or more lines that define what kind of I/O to perform. In this example:

  • 27 % of accesses are 1 MB, 73% are 64 KB.
  • All 1 MB transfers and 58% of 64KB transfers are reads.
  • 67% of 1 MB transfers and 80% of 64KB transfers are random to disk.

Use these buttons to delete the current access specification line, add a new line above the current line, or add a new line below the current line.

Sets "Size", the number of bytes in each I/O request for the current line.

Sets "% Access", the percentage of the access specification represented by the current line. The "% Access" values of all lines must add up to 100%.

Sets "% Read", the percentage of accesses from the current line that are reads rather than writes. Each operation is randomly selected, with a "% Read" chance of being a read. For network workers, "write" operations are sends and "read" operations are receives. Network clients always read when the corresponding server is writing, and vice versa.

Sets "% Random", the percentage of accesses from the current line that are random-access rather than sequential. Each operation is randomly selected, with a "% Random" chance of being random-access. (Ignored by network workers.)

Sets "Delay", the time in milliseconds between each burst of I/O operations, and "Burst", the number of I/O operations after each delay, for the current line. (Delay = 0 causes continuous operation.)

Sets "Alignment", which determines how each I/O is aligned on the disk. (Ignored by network workers.)

Sets "Reply", which determines the size of the reply (an immediately following I/O in the opposite direction), if any, for each request. The request and reply together make up a transaction.

For complete details, see the Access Specifications Tab — Reference section later in this document.

Results Display Tab — Introduction

The Results Display tab displays performance statistics while a test is running. You can change the settings of all controls in the Results Display tab while the test is running. Any changes you make take effect immediately.

Specifies how often, in seconds, the displayed statistics are updated. The default is "oo" (infinity), meaning that the display is updated only at the end of each test.

To the left of each bar chart is a button to pop up a menu of many different statistics that can be displayed. For details on each, see Selecting a Statistic for Display in the Results Display Tab — Reference section later in this document.

The left end of each bar chart shows whose statistics are displayed in that chart: a worker, a manager, or all managers. To change, drag an item from the Topology panel to the bar chart.

The middle of each bar chart shows the current numeric value of the selected statistic.

The right end of each bar chart shows the maximum displayable value for the selected statistic. This may change as the test runs.

Pops up the Presentation Meter dialog with the corresponding statistic.

For complete details, see the Results Display Tab — Reference section later in this document.

NOTE

Obtaining run-time statistics affects the performance of the system. When running a significant test series, the Update Frequency slider should be set to "oo" (infinity). Also, you should be careful not to move the mouse or to have any background processes (such as a screensaver or FindFast) running while testing, to avoid unnecessary CPU utilization and interrupts.

NOTE

When testing network I/O, the total IOps and MBps values for a manager or "All Managers" include both network servers and the corresponding network clients. For example, suppose a network server on one manager is writing 8 MBps to its client on another manager, which is reading 8 MBps. In this case, the "All Managers" value for total MBps will be 16 MBps (even though only 8 MBps is flowing across the network). You can determine the actual total throughput by examining the I/O of only one worker at a time, or by examining only reads or only writes.

Presentation Meter Dialog — Introduction

The Presentation Meter dialog displays a single statistic from the Results Display tab in a large size. This is useful for presentations to groups of people.

Selects the statistic to display. See Selecting a Statistic for Display in the Results Display Tab — Reference section for more details.

Specifies the upper bound of the meter. The lower bound is always zero.

If checked, a blue arc marks the highest and lowest values displayed during the test.

Press Start to start the test, or Stop to stop a running test. If a series of tests is running, the Start button changes to "Next" and the Stop button aborts the test series.

For complete details, see the Presentation Meter Dialog — Reference section later in this document.

Test Setup Tab — Introduction

The Test Setup tab controls the tests that are run for each access specification in the Access Specifications tab, and a number of other details about how Iometer works.

A text field in which you can type any text you like to describe the current series of tests. This text is saved to the results file.

Specifies the run time for each test in the series. Zero means that each test runs until you press the Stop button.

Specifies the number of seconds Iometer waits before beginning to record statistics on each test. You can use this field to avoid recording any statistics during an initial "ramp-up" period.

Specifies what information is recorded in the results file. Each worker’s results are a summary of its targets; each manager’s results are a summary of its workers; the "all managers" results are a summary of all managers. If you select "None," you will not be prompted for a results file when you start the test.

Specifies the number of workers that is given to a manager when the manager is created.

Specifies the series of tests that is run for each access specification. Cycling options can be used to automatically collect data on a variety of different loads for the current configuration. For details, see Cycling Options in the Test Setup Tab — Reference section later in this document.

Specifies the initial number of workers, step size, and stepping type (linear or exponential) for the test types "Cycle Workers" and "Cycle Targets and Workers." It is disabled for all other test types.

Specifies the initial number of targets, step size, and stepping type for the test types "Cycle Targets," "Increment Targets Parallel," "Increment Targets Serial," "Cycle Targets and Workers," and "Cycle # Outstanding I/Os and Targets." It is disabled for all other test types.

Specifies the initial and final number of outstanding I/Os, step size, and stepping type for the test types "Cycle # Outstanding I/Os" and "Cycle # Outstanding I/Os and Targets." It overrides the # of Outstanding I/Os field in the Disk Targets tab for these test types; it is disabled for all other test types. It has no effect on network workers (network workers always have a # Outstanding I/Os value of 1).

For complete details, see the Test Setup Tab — Reference section later in this document.

Toolbar — Reference

The Iometer toolbar provides buttons for common commands. To perform any of these commands, click once on the button. For a brief explanation (ToolTip) of each button, let the mouse pointer rest, without moving, on the button for a moment.

The buttons in the toolbar perform the following functions:

Load Test Configuration — Restores a previously-saved set of test configuration parameters.

Save Test Configuration — Saves the current test configuration parameters to a file (default setup.icf in the current directory). Note that only the settings of the Access Specifications tab and Test Setup tab are saved.

Start New Manager — Starts a new manager (copy of Dynamo) on the same machine as Iometer. The new manager has the same name as the machine on which it is running. The number and type of workers in the new manager is determined by the Number of Workers to Spawn Automatically control in the Test Setup tab.

Start Disk Worker — Starts a new disk worker (thread) on the selected manager, or the same manager as the selected worker. Each new worker is named "Worker n," where n is the next available number, and has the default configuration (e.g. no disks selected) This button is disabled unless a manager or worker is selected in the Topology panel.

Start Network Worker — Starts a new network server on the selected manager. Apart from the worker type, this button works the same as the Start Disk Worker button.

Duplicate Selected Worker — Duplicates the selected worker by creating a new worker thread of the same type (disk worker or network server) on the same manager. The new worker has the same name and configuration as the selected worker. If the selected worker is a network server, its corresponding client (if any) is also duplicated. This button is disabled unless a disk worker or network server is selected in the Topology panel.

Start Tests — Starts a series of tests (as specified by the current settings in the Access Specifications and Test Setup tabs).

Before any tests are run, you will be presented with a standard Save File dialog to specify where the results of the tests are to be saved (default results.csv in the current directory). If you specify a new file, the results are saved to that file. If you specify an existing file, the results are appended to that file. If you press Cancel, the tests are still started, but the results are not saved.

Stop Current Test and Save Results — Stops the currently-running test, saves whatever results it has gathered so far to the results file, and begins running the next test in the current series (if any).

Abort All Tests — Stops the currently-running test and discards its results, writing a "test aborted" record to the results file. No more tests are run, but the results of any tests completed before the current test started are still written to the results file.

Reset Workers — Resets the worker configuration of all managers to the default state. All existing worker threads are terminated, and their configurations are lost; each manager is then given the default number of workers, each with the default configuration.

Disconnect Selected Worker or Manager — If "All Managers" is selected in the Topology panel, terminates all Dynamo processes and all their threads. If a manager is selected, terminates the corresponding Dynamo process and all its threads. If a worker is selected, terminates the corresponding thread. The configuration of the terminated worker(s) or manager(s) is lost.

Exit — Terminates Iometer and all connected Dynamo processes.

About Iometer — Displays version and copyright information for Iometer.

All buttons except Load, Save, Start New Manager, Exit, and About Iometer are grayed out if there are no managers in the Topology panel. All buttons except Stop, Abort, Exit, and About Iometer are grayed out when a test is running. The Stop and Abort buttons are grayed out when no test is running.

Status Bar — Reference

Whenever you press the Start Tests button, Iometer runs a series of tests, as specified by the Access Specifications and Test Setup tabs. Each access specification is run once; each test is run once for each access specification. The current test number and the total number of tests to be run are displayed in the status bar at the bottom of the Iometer window.

For example, if there are two access specifications selected for each worker in the Access Specifications tab and two tests specified by the Test Setup tab (see the description of the Cycling Options control group for information on determining the number of tests), Iometer will run a total of four tests:

  1. Access specification #1, test #1 (shown as "Run 1 of 4")
  2. Access specification #1, test #2 (shown as "Run 2 of 4")
  3. Access specification #2, test #1 (shown as "Run 3 of 4")
  4. Access specification #2, test #2 (shown as "Run 4 of 4")

Each test runs for the time specified by the Run Time control group in the Test Setup tab. If the run time is set to zero, each test runs until you press the Stop button.

The status bar may also display other messages, such as "Test Aborted" or "Preparing Drives." The "Preparing Drives" message indicates that the iobw.tst file is being created on a logical drive, as described in the Disk Targets Tab — Reference section.

Topology Panel — Reference

The Topology panel displays a hierarchical list of the managers (copies of Dynamo) and workers (threads within each copy of Dynamo) currently active. This panel is a hierarchical list like the one used in Windows Explorer. To display or hide a manager’s workers, double-click on the manager’s name, or click the plus or minus sign to the left of the manager’s name.

The icons that appear in the Topology panel are as follows:

All managers connected to this copy of Iometer.

A manager.

A disk worker.

A network server.

A network client (created automatically when you select a target for a network server). Its name reflects the name of its corresponding network server.

Network servers and network clients are both referred to as network workers.

Iometer starts a single manager, on the same machine as Iometer, when it starts up. To add a manager on the same machine as Iometer, press the Start New Manager button on the toolbar. To add a manager on another machine, start Dynamo on the desired machine, providing the name of the machine running Iometer as a command-line argument (as described under Running Iometer above); additional managers can be started before or after Iometer. To remove a manager, click on the manager and press the Disconnect button on the toolbar; this terminates the specified Dynamo process. To remove all managers, click on "All Managers" and press the Disconnect button on the toolbar.

By default, each manager starts off with one disk worker for each processor on the manager’s machine. To add a worker to a manager, click on the manager or any of its workers and press the Start Disk Worker or Start Network Worker button on the toolbar. To remove a worker, click on the worker and press the Disconnect button on the toolbar.

By default, each manager has the same name as the machine on which it is running, and each worker has the name "Worker n." You can change the name of a manager or worker by clicking on the name when the manager or worker is selected (you will have to wait a moment for the name to highlight). The name of "All Managers" cannot be changed.

At most one list item (manager, worker, or "All Managers") can be selected at a time. The settings for the selected worker or the selected manager’s or managers’ workers are shown in the Disk Targets, Network Targets, and Access Specifications tabs.

Right-clicking on a manager pops up a menu with one item: "Refresh Target Lists." Selecting this item causes the manager to update its lists of disks and network interfaces. You can use this to update Iometer’s view of the manager if the target status for a manager changes (for example, if you create an iobw.tst file or mount a logical disk).

Disk Targets Tab — Reference

The Disk Targets tab lets you see and control the disks used by the disk worker(s) currently selected in the Topology panel. You can control which disks are used, how much of each disk is used, the maximum number of outstanding I/Os per disk for each worker, and how frequently the disks are opened and closed.

If a disk worker is selected in the Topology panel, that worker’s current configuration is displayed in the Disk Targets tab; any changes you make affect only that worker. If a manager or "All Managers" is selected, the disk workers’ common configuration is displayed: controls for which all workers have the same setting show that setting, while controls for which not all workers have the same setting are blank. Any changes you make in the Disk Targets tab are applied to all of the selected manager or managers’ workers.

If a network worker is selected in the Topology panel, the Disk Targets tab is disabled. Clicking on a network worker while the Disk Targets tab is displayed automatically switches to the Network Targets tab. The same applies to a manager that has no disk workers, or "All Managers" if no manager has any disk workers.

Targets

The Targets list displays the disk drives available to the worker or manager selected in the Topology panel. Disks that are selected (checked) in the Targets list will be used by the worker(s) during the test.

Yellow disk icons represent logical drives (i.e. those with a drive letter). They are shown only if they are writable. Disk workers access logical drives by reading and writing a file called iobw.tst in the root directory of the drive. If this file exists, the drive is shown with a plain yellow icon; if the file does not exist, the drive is shown with a red slash through the icon. (If this file exists but is not writable, the drive is considered read-only and is not shown at all.) If you select a drive that does not have an iobw.tst file, Iometer will begin the test by creating this file and expanding it until the drive is full (this is shown as "Preparing Drives" in the status bar). You can change the size of this file to control how much of the disk Iometer can use; one way to do this is to start a test on an unprepared drive and then press the Abort button on the toolbar as soon as the file has grown to the desired size.

Blue disk icons represent physical drives. They are shown only if they contain nothing but free space (no defined partitions). Disk workers access physical drives by writing direct to the raw disk. Physical drives do not use an iobw.tst file. Running with physical drives is recommended.

You can select any number of drives; by default, no drives are selected. Click on a single drive to select it; Shift-click to select a range of drives; Control-click to add a drive to or remove a drive from the current selection. You can also use the arrow keys, Home and End keys, and the space bar to move the highlight and select/deselect disks, or press <Control-A> to select all drives (this requires the keyboard focus to be in the Disk Targets tab).

Maximum Disk Size

The Maximum Disk Size control specifies how many disk sectors are used by the selected worker(s). The default is 0, meaning the entire disk or \iobw.tst file (beginning with the Starting Disk Sector). If you specify a value other than zero, Iometer uses the specified number of 512-byte disk sectors, beginning with the Starting Disk Sector. If the specified value would extend beyond the end of the disk or file, it is silently ignored, and the default of 0 is used.

For example, if Starting Disk Sector is 5 and Maximum Disk Size is 10, the selected worker(s) will use sectors 5-14 of the disk or \iobw.tst file.

Starting Disk Sector

The Starting Disk Sector control specifies the lowest-numbered disk sector used by the selected worker(s) during the test. The default is 0, meaning the first 512-byte sector in the disk or \iobw.tst file.

# of Outstanding I/Os

The # of Outstanding I/Os control specifies the maximum number of outstanding asynchronous I/O operations per disk the selected worker(s) will attempt to have active at one time. (The actual queue depth seen by the disks may be less if the operations complete very quickly.) The default value is 1.

Note that the value of this control applies to each selected worker and each selected disk. For example, suppose you select a manager with 4 disk workers in the Topology panel, select 8 disks in the Disk Targets tab, and specify a # of Outstanding I/Os of 16. In this case, the disks will be distributed among the workers (2 disks per worker), and each worker will generate a maximum of 16 outstanding I/Os to each of its disks. The system as a whole will have a maximum of 128 outstanding I/Os at a time (4 workers * 2 disks/worker * 16 outstanding I/Os per disk) from this manager.

This control can be overridden by the # of Outstanding I/Os control group in the Test Setup tab (depending on the Cycling Options).

NOTE

If the total number of outstanding I/Os in the system is very large, Iometer or Windows may hang, thrash, or crash. The exact value of "very large" depends on the disk driver and the amount of physical memory available. This problem is due to limitations in Windows and some disk drivers, and is not a problem with the Iometer software. The problem is seen in Iometer and not in other applications because Iometer makes it easy to specify a number of outstanding I/Os that is much larger than typical applications produce.

Test Connection Rate

The Test Connection Rate control specifies how often the worker(s) open and close their disk(s). The default is off, meaning that all the disks are opened at the beginning of the test and are not closed until the end of the test. If you turn this control on, you can specify a number of transactions to perform between opening and closing. (A transaction is an I/O request and the corresponding reply, if any; see the Reply field in the Edit Access Specification dialog for more information).

If Test Connection Rate is on, the worker opens all its disks at the beginning of the test. When the specified number of transactions has been performed to a particular disk, that disk is closed, and is re-opened again just before the next I/O to the disk. The number of transactions can be zero, in which case the worker just opens and closes the disks repeatedly.

Each open + transactions + close sequence is called a connection. The time from the initiation of the open to the completion of the corresponding close is recorded for each connection, and the maximum and average connection time and the average connections per second are reported.

Network Targets Tab — Reference

The Network Targets tab lets you see and control the network interfaces used by the network worker(s) currently selected in the Topology panel. You can control which network interface is used on each end of the connection and how frequently the network connection is opened and closed. Iometer currently supports the TCP/IP and Virtual Interface Architecture network protocols.

VI Architecture testing requires an implementation that conforms to revision 0.95 of the Intel Virtual Interface Architecture Implementation Guide and supports reliable delivery. VI NICs will be automatically detected if they are named VINICn, nicn, or \\.\VIn. If your NICs use any other name, you can set the environment variable VINICn to the name of your NIC number n. This environment variable must be set on the machine on which Dynamo is running, and must be set before Dynamo is launched.

If a network server is selected in the Topology panel, that worker’s current configuration is displayed in the Network Targets tab; any changes you make affect only that worker. If a network client is selected, its configuration is displayed, but cannot be changed (a network client’s configuration is always the same as its corresponding server). If a manager or "All Managers" is selected, the network servers’ common configuration is displayed: controls for which all servers have the same setting show that setting, while controls for which not all servers have the same setting are blank. Any changes you make in the Network Targets tab are applied to all of the selected manager or managers’ network servers (disk workers and network clients are not affected).

If a disk worker is selected in the Topology panel, the Network Targets tab is disabled. Clicking on a disk worker while the Network Targets tab is displayed automatically switches to the Disk Targets tab. The same applies to a manager that has no network servers, or "All Managers" if no manager has any network workers.

Targets

The Targets list in the Network Targets panel displays the available network interfaces on all managers. Only interfaces of types (TCP/IP or VI) supported by the selected manager or worker are shown; however, there is no guarantee that all interfaces shown will be accessible to the selected manager or worker (for example, they may be on different subnets).

By default, no interface is selected. Click on an interface to select it; Shift-click to select a range of interfaces; Control-click to add an interface to or remove an interface from the current selection. You can also use the arrow keys, Home and End keys, and the space bar to move the highlight and select/deselect interfaces, or press <Control-A> to select all interfaces (this requires the keyboard focus to be in the Network Targets tab).

For example, suppose you have two managers, IOANALYSIS and IOLAB, and IOANALYSIS has one worker, a network server called "Worker 1". If you click on Worker 1 and then select one of IOLAB’s two network interfaces, the display might look like this:

Note that selecting one of IOLAB’s interfaces automatically creates a network client, called "[Worker 1]", on IOLAB. The name of the client is the name of the corresponding server in [brackets]. This display shows that the newly-created client ([Worker 1] on IOLAB) will use network interface 137.21.66.95 to communicate with its server. Meanwhile, the server (Worker 1 on IOANALYSIS), will use network interface 137.46.126.100 to communicate with its client (see the discussion of the Network Interface to Use for Connection control, below).

Clicking on the client shows the same connections from the other end:

Note that the client’s controls are grayed-out (inactive). You cannot change a connection from the client end, only from the server end.

Network Interface to Use for Connection

The Network Interface to Use for Connection control applies only to network servers. It specifies which of the available network interfaces is used by the selected server for its end of the connection, as described in the Targets for Network Workers section above. The default is the first interface in the list.

If you click on an interface in the Targets list that is of a different type (TCP/IP or VI) from the selected interface in the Network Interface to Use for Connection control, the Network Interface to Use for Connection changes to the first interface of the selected type. If you select an interface in the Network Interface to Use for Connection control that is of a different type than the current selection in the Targets list, the selection in the Targets list is cleared.

Max # Outstanding Sends

The Max # Outstanding Sends control specifies the maximum number of messages a network worker will send to a Virtual Interface Architecture target before waiting for an acknowledgement. This control is disabled for workers with no VI Architecture targets. The default value is 1.

In theVI Architecture, a receive operation must be posted for each message before it is received. The sending worker (which could be a server or a client) sends at most the specified number of messages before waiting for an acknowledgement that the messages have been received and it is OK to send more. The receiving worker begins by pre-posting the specified number of receive operations. As each message is received, a new receive operation is posted. When half the specified number of messages has been received, the receiver sends a control message to the sender indicating that the messages have been received. The intention is that the sender will get this message before it finishes sending the other half, allowing it to continue uninterrupted. The sender will block only if it sends the Max # Outstanding Sends without receiving a control message.

NOTE

The Max # Outstanding Sends for VI targets is not the same as the # Outstanding I/Os for disks. Currently Iometer supports only one outstanding I/O at a time to network targets.

Test Connection Rate

The Test Connection Rate control specifies how often the selected worker(s) open and close their network connection. The default is off, meaning that the connection is opened at the beginning of the test and is not closed until the end of the test. If you turn this control on, you can specify a number of transactions to perform between opening and closing. (A transaction is an I/O request and the corresponding reply, if any; see the Reply field in the Edit Access Specification dialog for more information).

If Test Connection Rate is on, the worker opens its network connection at the beginning of the test. When the specified number of transactions has been performed, the connection is closed, and is re-opened again just before the next I/O. The number of transactions can be zero, in which case the worker just opens and closes the connection repeatedly.

Each open + transactions + close sequence is called a connection. The time from the initiation of the open to the completion of the corresponding close is recorded for each connection, and the maximum and average connection time and the average connections per second are reported.

Access Specifications Tab — Reference

The Access Specifications tab lets you see and control the type of I/O each worker performs to its selected target(s).

The Global Access Specifications list, on the right, shows all the access specifications currently defined. The Assigned Access Specifications list, on the left, shows the access specifications that are assigned to the worker(s) currently selected in the Topology panel. You assign one or more access specifications to a worker by selecting them in the Global Access Specifications list and pressing the Add button, or by dragging them from the Global Access Specifications list to the Assigned Access Specifications list. You can remove one or more access specifications from a worker by selecting them in the Assigned Access Specifications list and pressing the Remove button, or by dragging them out of the Assigned Access Specifications list.

Global Access Specifications List

The Global Access Specifications list shows all the access specifications currently defined. Each access specification is a named collection of I/O characteristics, such as the size of each I/O operation, the ratio of reads to writes, the ratio of random access to sequential I/O, and the "burstiness" of the I/O. An access specification can specify a single type of I/O or a mix of different types.

By default there are two access specifications, called Idle and Default. The Idle access specification does nothing; it cannot be removed, renamed, or edited. The Default access specification initially performs 2K random I/Os with a 2-to-1 mix of reads and writes, but you can change this. You can also create additional access specifications for your own purposes.

Each access specification has a name and an icon. The name is user-defined; you should choose a name that describes what the access specification does (such as "4K sequential reads" or "Web server workload"). You cannot have two access specifications with the same name at the same time. The icon indicates the access specification’s default assignment, which determines which workers are automatically assigned the access specification when they are created:

Default for workers of all types.

Default for disk workers.

Default for network workers.

Not default for any worker.

Multiple access specifications can have a default assignment at the same time. For example:

Given these five access specifications, a new disk worker would be given access specifications Default, Database, and File Copy, while a new network worker would be given access specifications Default, Database, and Web Traffic.

Note that an access specification’s default assignment only determines whether or not it is assigned to a worker when the worker is created. This occurs when you press the Start New Manager, Reset Workers, Start Disk Worker, or Start Network Worker button on the toolbar or when a manager first makes contact with Iometer after being started from the command line. Changing an access specification’s default assignment, or creating a new access specification with a default assignment, does not affect the access specifications of existing workers.

Assigned Access Specifications List

The Assigned Access Specifications list shows the access specifications that are assigned to the worker(s) currently selected in the Topology panel. These determine the I/O operations the worker(s) will perform during the test.

The color of the LED (colored circle) to the left of each access specification in the Assigned Access Specifications list indicates its status while the test is running:

If there is more than one access specification in the Assigned Access Specifications list, a series of tests will be performed. The access specifications are executed in sequence from top to bottom. During each access specification, Iometer runs one or more tests (determined by the settings in the Test Setup tab); if no run time is specified in the Test Setup tab, each test runs until you press the Stop button on the toolbar.

You can assign different access specifications to different workers. For example, you might have your disk workers performing database-like I/O (defined by one access specification), at the same time as your network workers are performing web-server-like I/O (defined by a different access specification). If there are multiple access specifications in the lists, all workers perform the first access specification in their list at the same time, then all perform the second, and so on. If the number of access specifications is not the same for every worker, the workers with fewer access specs will be idle while the workers with more access specs are still working. You can also assign the Idle access specification to force a worker to be idle while others are working.

A single access specification can be assigned more than once to the same worker. For example, if you have two workers (1 and 2) and two access specifications (A and B), you might assign access specifications A and B to worker 1 and two copies of access specification A to worker 2. In this case two tests will be run: in the first test both workers run access specification A, and in the second case worker 1 runs access specification B while worker 2 runs access specification A again.

If a manager or "All Managers" is selected in the Topology panel, this list is blank unless the manager’s or managers’ workers all have the same access specification list. If you make any change in this list while a manager or "All Managers" is selected, the new list resulting from the change will be assigned to all the manager’s or managers’ workers.

Access Specifications Buttons

The buttons in the Access Specifications dialog let you manage the two lists of access specifications.

In general, the "selected" access specification for these buttons is the one that is highlighted blue in the relevant Access Specifications list. This only occurs when the access specification is selected and the relevant list has the input focus (for example, when you have just clicked in it). If the list does not have the input focus, any selected access specification will be highlighted gray, and some or all of the buttons associated with that list will be disabled. For example, the Edit button is disabled unless there is a blue highlighted access specification in the Global Access Specifications list, which only occurs when the Global Access Specifications list has the input focus.

Saving and Restoring Access Specifications

You can save the current set of defined access specifications to a file (default setup.icf in the current directory) with the Save button on the toolbar, and restore a previously-saved set of access specifications with the Load button on the toolbar. You can do this to define and save an access specification that simulates a particular workload in the real world. The settings of the Test Setup tab are saved and restored at the same time.

Note that saving access specifications saves only the definitions of the access specifications (that is, the current contents of the Global Access Specifications list). The current assignments of access specifications to workers (that is, the current contents of the Assigned Access Specifications list) are not saved at this time. This is a known limitation and will be addressed in a future release.

Edit Access Specification Dialog — Reference

The Edit Access Specification dialog shows the definition of a single access specification and lets you change it.

Name

The Name control specifies the access specification’s name. The default value for a new access specification is "Untitled n". The name can be up to 128 characters long, and can contain any characters except commas. It must be unique (that is, you can’t have two access specifications in the Global Access Specifications list with the same name at the same time).

Default Assignment

The Default Assignment control specifies which workers are assigned this access specification by default when they are created: All Workers, Disk Workers, Network Workers, or None. The default is None.

Note that changing the default assignment does not affect the access specifications of any existing workers, only new workers that are created after the change.

Access Specification Lines

In the middle of the Edit Access Specification dialog is a table that shows the I/O that is performed by the access specification. This table consists of a series of lines, each of which has several fields. To select a line, you must click on its Size field.

If you select more than one line (using Shift-click or Control-click), any action you take except Delete applies only to the first selected line.

Transfer Request Size

The Transfer Request Size control group specifies the number of bytes read or written in each I/O request, shown in the Size field in the access specification table (default 2K bytes). You can select any value from 1 byte (0 MB + 0 KB + 1 byte) to almost 1 Gigabyte (1023 MB + 1023 KB + 1023 bytes), limited only by the amount of vitual memory available.

Percent of Access Specification

The Percent of Access Specification slider specifies the percentage of the current access specification specified by this line, shown in the % Access field (default 100%). You can select values from 1% to 100% by increments of 1%, or click on the "slot" to the left or right of the slider to move it up or down by 10%. The "% Access" values of the lines of a single access specification must sum to exactly 100%.

If an access specification consists of more than one line, the "% Access" field of each line determines the probability of any given I/O operation being controlled by that line. These probabilities are combined with the probabilities in the "% Read" and "% Random" fields. For example, consider the following three-line access specification (only the first few fields of each line are shown):

In this case, each I/O operation has a 30% chance of being a 64-KB read, a 50% chance of being a 512-byte write, and a 20% chance of being a 1-KB read or write (with an equal chance of a 1-KB read or a 1-KB write, as discussed below). The sequence of operations is random, but over the length of the test, this access specification will average 30% 64-KB reads, 50% 512-byte writes, 10% 1-KB reads, and 10% 1-KB writes.

Note that the more complex an access specification is, the longer the test should run (to make sure that the randomly-selected operations will closely approach the selected overall percentages).

Percent Read/Write Distribution

The Percent Read/Write Distribution slider specifies the percentage of read operations, shown in the % Read field (default 100%). For example, a "% Read" value of 30 specifies 30% reads and 70% writes. You can select values from "0% Write/100% Read" to "100% Write/0% Read" by increments of 1%, or click on the "slot" to the left or right of the slider to move it up or down by 10%. (For network workers, "write" operations are sends and "read" operations are receives. Network clients always read when the corresponding server is writing, and vice versa.)

The "% Read" field works by specifying the probability that any given I/O operation will be a read rather than a write; the actual operation for each I/O is chosen at random. For example, if "% Read" is set to 40%, each I/O operation has a 40% chance of being a read and a 60% chance of being a write. This means that the sequence of reads and writes is random, but over the length of the access specification Iometer will average 40% reads and 60% writes (a 2:3 read-to-write ratio).

Network servers and clients are coordinated by using the same seed value for the random-number generator on both ends of the connection. This results in the same operations on both ends (the client always reads when the server is writing, and vice versa), but the actual sequence of operations is not predictable.

Percent Random/Sequential Distribution

The Percent Random/Sequential Distribution slider specifies the percentage of random accesses, shown in the % Random field (default 100%). For example, a "% Random" value of 60 specifies 60% random accesses and 40% sequential accesses. You can select values from "0% Sequential/100% Random" to "100% Sequential/0% Random" by increments of 1%, or click on the "slot" to the left or right of the slider to move it up or down by 10%. (This value is ignored by network workers.)

The "% Random" field works by specifying the probability that a given I/O operation will begin at a randomly-chosen address rather than the address following the end of the previous operation (sequential I/O). For example, if "% Random" is set to 10%, there is a 10% chance that any given I/O operation will begin at a random address and a 90% chance that it will be sequential.

Hint: To access a disk drive sequentially, select it with a single worker using a "# of Outstanding I/Os" value of 1.

Burstiness

The Burst Length control specifies the number of I/O operations performed in a row in each "burst," shown in the Burst field (default 1). If the Reply field is nonzero, this is a number of transactions (request + reply) rather than a number of simple I/Os. You can type in any non-negative value.

The Transfer Delay control specifies the delay before each "burst" of I/O operations, shown in the Delay field (default 0). You can type in any non-negative value in milliseconds (1000 = 1 second).

If the Transfer Delay value is 0, the Burst Length is not significant because there is no delay between bursts.

Align I/Os On

The Align I/Os On control group specifies the alignment of each I/O on the disk, shown in the Alignment field (default Sector Boundaries). If the value of this field is n bytes, every I/O will begin at a multiple of n bytes from the beginning of the disk. You can select any value from 1 byte to 1023 MB + 1023 KB + 1023 bytes, but the specified value must be a multiple of the disk’s sector size. Entering the value 0 or selecting the Sector Boundaries radio button causes I/Os to be aligned on sector boundaries. (This value is ignored by network workers.)

Note: If the Alignment field is set to a value other than Sector Boundaries and the Size value is not a multiple of the Alignment value, sequential I/Os will not be truly sequential. For example, if the Size is 3KB and the Alignment is 2KB, each sequential 3KB I/O will be followed by a 1KB "hole" before the beginning of the following I/O.

Reply Size

The Reply Size control group specifies the size of the reply to each I/O request, shown in the Reply field (default No Reply). You can select any value from 1 byte to 1023 MB + 1023 KB + 1023 bytes, limited only by the amount of virtual memory available. Entering the value 0 or selecting the No Reply radio button causes no reply to be sent.

If the Reply field is set to a nonzero value, whenever an I/O request completes, it is immediately followed by a reply in the opposite direction — that is, a read will be followed by a write, or a write will be followed by a read. The size of the request is specified by the Size field, and the size of the reply is specified by the Reply field. The request and reply together are called a transaction. The time from the initiation of the request to the completion of the corresponding reply is recorded for each transaction, and the maximum and average transaction time and the average transactions per second are reported.

If a reply is specified, the direction (read or write) of the reply is always the opposite of the corresponding request, while the alignment and random/sequential nature of the reply are the same as the corresponding request. If Burstiness is also specified, the Burst field specifies a number of transactions (request + reply) rather than a number of simple I/Os.

This feature can be used to determine round-trip latency in network testing, or to specify a strict alternation of reads and writes in disk testing.

OK and Cancel

The OK button saves any changes you have made and closes the dialog. The Cancel button closes the dialog without saving changes.

Results Display Tab — Reference

The Results Display tab displays performance statistics while a test is running. You can choose which statistics are displayed, which managers or workers are included, and how often the display is updated.

You can change the settings of all controls in the Results Display tab while the test is running. Any changes you make take effect immediately.

The settings of the Results Display tab have no effect on the results file that you specified when you started the current series of tests, as described for the Start Tests button above. The results file is updated at the end of each test; it includes the final value for the test of each statistic for each worker and manager and for all managers (unless otherwise specified by the Record Results control in the Test Setup tab).

Iometer does not begin recording data for any worker until all worker threads are running.

Update Frequency

The Update Frequency slider specifies how often, in seconds, the displayed statistics are updated. The default is "oo" (infinity), meaning that the display is updated only at the end of each test.

Each time the display is updated, the displayed values show the average of the chosen statistics from the beginning of the current test to the present, not the current (instantaneous) value. For this reason, the displayed values will often fluctuate widely at the beginning of a test, but settle down as the test goes on. All values are reset to zero at the beginning of each test.

NOTE

Obtaining run-time statistics affects the performance of the system. When running a significant test series, the Update Frequency slider should be set to "oo" (infinity). Also, you should be careful not to move the mouse or to have any background processes (such as a screensaver or FindFast) running while testing, to avoid unnecessary CPU utilization and interrupts.

Bar Charts

There are six bar charts in the display, which can display a variety of different statistics. Each bar chart has the following components:

See Selecting a Statistic for Display below for an explanation of each statistic that can be displayed.

Selecting a Manager or Worker for Display

To choose the manager(s) or worker(s) whose statistics are displayed by a particular chart, drag the desired worker, manager, or "All Managers" from the Topology panel to the desired chart or the corresponding button. If you choose a manager or "All Managers," the displayed value is the average for the selected manager’s or all managers’ workers.

Selecting a Statistic for Display

The following statistics can be displayed in the bar charts:

NOTE

When testing network I/O, the total IOps and MBps values for a manager or "All Managers" include both network servers and the corresponding network clients. For example, suppose a network server on one manager is writing 8 MBps to its client on another manager, which is reading 8 MBps. In this case, the "All Managers" value for total MBps will be 16 MBps (even though only 8 MBps is flowing across the network). You can determine the actual total throughput by examining the I/O of only one worker at a time, or by examining only reads or only writes.

Presentation Meter Dialog — Reference

The Presentation Meter dialog displays a single statistic from the Results Display tab in a large size. This is useful for presentations to groups of people.

Use the Windows controls at the right end of the title bar to mimimize or close the dialog. You can have at most one Presentation Meter dialog on the screen at a time.

The update frequency for the Presentation Meter dialog is determined by the Update Frequency slider in the Results Display tab.

Meter

The meter in the center of the dialog displays the current value of the selected statistic graphically.

Result to Watch

The "result to watch" button in the Settings control group selects the statistic to display, the same as the corresponding buttons in the Results Display tab. See Selecting a Statistic for Display in the Results Display Tab — Reference section for more details. By default, the Performance Meter dialog displays the same statistic as the bar chart whose button you pressed to pop up the dialog.

The selected statistic is always displayed for the worker, manager, or All Managers selected for the bar chart whose button you pressed to pop up this dialog. To display statistics for a different worker, manager, or All Managers, you must close the Presentation Meter dialog, drag the desired item from the Topology panel to a bar chart (if necessary), and then pop up the Presentation Meter dialog again.

Range

The Range control specifies the upper bound of the meter. If the value of the selected statistic is above the Range value, the needle "pegs" at its upper bound, but the text label below the meter displays the correct value. The default value for this control is 100; the lower bound is always zero.

Unlike the bar charts in the Results Display tab, the meter in the Presentation Meter dialog does not automatically adjust itself to fit the value displayed. This lets you select an upper bound that displays the statistic appropriately for your purposes. It also lets you display the same statistic for two different runs, or on two different machines, and be sure that the two meter positions will be directly comparable.

Show Trace

The Show Trace control selects display of the history trace for the meter. If this control is checked, a blue arc marks the range between the highest and lowest values displayed during the current test.

Test Controls

These two buttons let you start and stop the test without closing the Presentation Meter dialog.

Test Setup Tab — Reference

The Test Setup tab controls the tests that are run for each access specification in the Access Specifications tab, and a number of other details about how Iometer works.

(Whenever you press the Start Tests button, Iometer runs a series of tests. Each access specification is run once; each test is run once for each access specification. The current test number is displayed in the status bar at the bottom of the Iometer window.)

Test Description

The Test Description field is a text field in which you can type any text to describe the current series of tests. This text is saved to the results file (specified when you press the Start Tests button), and can be used to record the current system configuration, test parameters, or any other information you would like.

Run Time

The Run Time control group specifies the run time (in hours, minutes, and seconds) for each test in the series. The default value is zero, which means that each test runs until you press the Stop button.

Typical run times vary from 15 to 60 seconds. Complicated access specifications or large systems may require longer times.

Ramp Up Time

The Ramp Up Time field specifies the number of seconds Iometer waits, after all workers report that they have begun working, before beginning to record statistics on each test. You can use this field to avoid recording any statistics during an initial "ramp-up" period (for example, while caches are filled with data). The default value is zero.

Typical ramp-up times vary from 15 to 60 seconds. Ramp-up time may need to be increased for caching controllers, large servers, or clustered systems.

Number of Workers to Spawn Automatically

The Number of Workers to Spawn Automatically control group specifies the number of disk and network workers that are created on a manager by default. This value is used when you press the Start New Manager or Reset Workers button on the toolbar, and when a manager first makes contact with Iometer after being started from the command line. You can specify a number of workers, or select "# of CPUs" to specify one worker for each processor on the manager’s machine. The default value is "# of CPUs" disk workers and zero network workers.

These controls do not affect the Start Disk Worker, Start Network Worker, or Duplicate Selected Worker button. When you press any of these buttons, exactly one worker of the selected type is created.

Record Results

The Record Results control specifies what information is recorded in the results file (specified when you press the Start Tests button). Normally, results are recorded for each target, each worker, each manager, and all managers. Each worker’s results are a summary of its targets; each manager’s results are a summary of its workers; the "all managers" results are a summary of all managers. ("Summary" means the total, average, or maximum for each statistic, as appropriate.)

This control has the following options:

Cycling Options

The Cycling Options control group specifies the series of tests that is run for each access specification. It can be used to automatically collect data on a variety of different loads for the current configuration. Data from each test in the series is recorded separately in the results file.

All test types except Normal specify a series of tests in which one or more of the following quantities is varied in each test:

Any of these quantities that is not varied by the test type is set to its default (maximum) value for all tests.

For each of these quantities, you can specify the starting value, the stepping type (linear or exponential), and the step value (the amount added each step for linear stepping, or the power base for exponential stepping) in the Workers, Targets, and # of Outstanding I/Os control groups. For example, if the starting value is 3, the stepping type is linear, and the step value is 2, the resulting sequence is 3, 5, 7, 9…. If the starting value is 1, the stepping type is exponential, and the power base is 2, the resulting sequence is 1, 2, 4, 8…. Workers are added in the order they are shown in the Topology panel; selected targets are added to each worker in the order they are shown in the Disk Targets or Network Targets tab for that worker.

The ending value for each sequence is determined differently for each quantity. For the number of workers per manager, it is determined by the manager with the most workers in the Topology panel. For the number of targets per worker, it is determined by the worker with the most targets selected in the Disk Targets or Network Targets tab. For the outstanding I/Os per target, it is determined by the # of Outstanding I/Os control group in the Test Setup tab. If not all managers have the same number of workers, or not all workers have the same number of targets, those managers/workers with less than the maximum number of workers/targets will repeat at their highest value while other managers/workers continue to increase.

NOTE

Network clients are ignored when cycling workers or targets. For example, suppose you have five managers: four managers with one network server each, and one manager with four network clients (each associated with one of the other managers’ network servers). Running a "Cycle Workers" test in this configuration will run only one test, because the maximum number of network servers per manager is one (the manager with four network clients is treated as though it had no workers at all).

The following test types are available. For simplicity, the example for each test assumes that for all quantities the starting value is 1, the stepping type is linear, and the step value is 1.

Workers

The Workers control group determines the initial number of workers, the step size, and the stepping type (linear or exponential) for the test types "Cycle Workers" and "Cycle Targets and Workers" (see the test types, above, for more information). It is ignored for all other test types. The default is a start value of 1, a step size of 1, and linear stepping.

Targets

The Targets control group determines the initial number of targets, the step size, and the stepping type (linear or exponential) for the test types "Cycle Targets," "Increment Targets Parallel," "Increment Targets Serial," "Cycle Targets and Workers," and "Cycle # Outstanding I/Os and Targets" (see the test types, above, for more information). It is ignored for all other test types. The default is a start value of 1, a step size of 1, and linear stepping.

# of Outstanding I/Os

The # of Outstanding I/Os control group determines the initial and final number of outstanding I/Os, the step size, and the stepping type (linear or exponential) for the test types "Cycle # Outstanding I/Os" and "Cycle # Outstanding I/Os and Targets" (see the test types, above, for more information). It overrides the # of Outstanding I/Os field in the Disk Targets tab for these test types; it is ignored for all other test types. The default is a start value of 1, an end value of 32, a power base of 2, and exponential stepping.

This value is ignored by network workers; network workers always have a # Outstanding I/Os of 1.

Saving and Restoring a Test Setup

You can save the current set of test setup parameters to a file (default setup.icf in the current directory) with the Save button on the toolbar, and restore a previously-saved set of test setup parameters with the Load button on the toolbar. You can do this to define and save a test setup that simulates a particular workload in the real world. The settings of the Access Specifications tab are saved and restored at the same time.

Configuring Windows NT* to Collect Network Performance Statistics

Some of the network performance statistics are not collected by default and need to be enabled. Until they are enabled, they will be reported as zero. To enable Iometer to collect and report these statistics, perform the following steps:

  1. From the Start menu, select Settings, then launch the Control Panel.
  2. Within the Control Panel, launch Network.
  3. Within the Network window, select the Services tab.
  4. Select the SNMP Service and press OK.
  5. Enter the Windows NT 4.0 installation CD and press Continue.
  6. Use the default settings and press OK for the Microsoft SNMP Properties.
  7. Close the Network window.
  8. Reboot the system to have the changes take effect.

These instructions apply only to Windows NT 4.0. The procedure for Windows NT 5.0 will be different, and this documentation will be updated when the final version of Windows NT 5.0 is released.

Using Iometer to Simulate a Real Workload

To use Iometer to simulate the workload of a particular application or benchmark, observe the application using the Windows NT Performance Monitor and then set Iometer’s controls to approximate the application’s workload.

In order to gather disk performance statistics using Performance Monitor, you need to prepare your system as follows:

You should also be aware that, due to a bug in Performance Monitor under Windows NT 4.0, the values reported for the following quantities are doubled from the correct value if you are accessing a physical disk (PHYSICALDRIVE:n):

Note that this bug does not affect Iometer. Iometer gathers these statistics directly from Dynamo, not from Performance Monitor.