h

IO

mon

  The I/O Performance Monitor

 Making data performSM

Home  |  Products & Services  |  Contact  |  About hyperI/Osm

 

Backgrounder / Rants 
hIOmon Big Picture
Features / Add-Ons
Architecture
Screen Shots
Documentation
Download

hIOmon 'DataTransferred/Time Index' Metric

The hIOmon "DataTransferred/Time Index (DXTI)" is a straightforward and simple metric that provides a "high-level" means for relative comparison of I/O operation performance, where basically "higher is better"; that is, the "higher" the Index number, the better the performance -- as in more data transferred and/or less required response time (i.e., application wait).

The DXTI metric (which can be provided by hIOmon upon an individual file, device, and process/application basis) resembles the "fuel economy" index for an automotive vehicle (i.e., "miles-per-gallon") as an overall measure of "performance efficiency".  It is akin to more miles driven (more data transferred) for fuel used (response time taken to transfer this data), or similarly, same miles (data transferred) but less fuel used (less response time).

Basic Concept

The basic concept behind the hIOmon "DataTransferred/Time Index (DXTI)" metric is simple:

"Better" storage I/O operation performance is fundamentally about transferring (more) data faster.

So for a given amount of data, transferring this data more quickly (i.e., in less time).  And similarly, transferring more data within the same amount of time.  More specifically, the relationship is basically between the amount of data transferred and the corresponding amount of time that it took to perform the I/O operations required for the data transfer.

How is the metric calculated?

The calculation of the hIOmon "DataTransferred/Time Index (DXTI)" metric is straightforward and easy.  The metric is calculated by simply taking the observed overall total amount of data transferred by the I/O operations (converted to megabytes for scaling), and then dividing this combined total amount by the corresponding combined sum of the observed time durations (i.e., actual response times) of the I/O operations that were performed to transfer this data.  The resulting value is considered to be an index.

DT  = Observed overall total amount of data transferred by the I/O operations (converted to megabytes for scaling)

RT = Corresponding combined sum of the observed time durations (i.e., response times) of the individual I/O operations that were performed to transfer this data

DXTI  =  DT / RT

It is important to note that the "time" component in this calculation (i.e., the "RT" divisor above) is not the elapsed wall-clock time during which the data was transferred (i.e., the overall time period duration; e.g., a one-minute period during which the corresponding data was transferred).  Nor is it simply/solely the "device busy" time during which the associated device was servicing the corresponding I/O operations.  

Rather, the time value is the aggregated sum of the actual response times for the individual I/O operations that performed/requested the data transfers.  Moreover, these individual response times include both the queue time and the service time for the respective I/O operation.

The response time for an individual I/O operation is effectively the amount of time between when the start of the I/O operation was observed by the hIOmon I/O Monitor and when the hIOmon I/O Monitor observed the completion notification for the I/O operation.  From the application/user perspective, the response time is seen as the actual amount of time required to perform the particular data transfer I/O operation request; this time can also be considered as the amount of time waiting for the data transfer I/O operation request to be performed/completed.

Please note that the combined total amount of data transferred, when converted to megabytes (i.e., divided by one million), is a decimal value.  Similarly, the combined sum of response times is also a decimal value, which reflects the number of seconds.  Consequently, the calculated DXTI metric value is a decimal value.

What does the metric indicate?

Overall, the hIOmon "DataTransferred/Time Index (DXTI)" metric provides a "high-level" means for relative comparison of I/O performance, where basically "higher is better" (i.e., the "higher" the Index number, the better the performance).

This Index metric resembles the "fuel economy" index for an automotive vehicle (i.e., "miles-per-gallon" or "kilometres/litre") as an overall measure of "performance efficiency".  For example, just as more miles traveled for the same amount of fuel is better, transferring more data for the same amount of response time (wait) is better.  Similarly, just as traveling the same distance using less fuel is better, transferring the same amount of data but experiencing less response time (wait) is better.

So essentially a higher relative DXTI metric value indicates better performance efficiency in terms of more data transferred and/or less required response time (wait).

Please note that hIOmon can provide the DXTI metric upon an individual file, device, and process/application basis (q.v., the DXTI metric highlighted in yellow text within the hIOmon "Disk I/O Ranger Display" app screen shots).  This enables you to compare, for instance, different devices, workloads, applications, etc. -- and even specific files. 

A key consideration to note about the DXTI metric is that it is based upon and directly derived from the two, most-basic factors involved with storage I/O operation performance:

  1. The amount of data transferred (DT), and

  2. The corresponding amount of time (RT) taken to perform the I/O operations required for the requested data transfer.

Moreover, hIOmon can provide empirical DXTI metric values that actually reflect your everyday, normal activities and usage of your particular computer systems -- and without requiring the collection and often laborious post-processing of I/O operation trace information!

So what about IOPS, MB/s, and the other common metrics?

The hIOmon "DataTransferred/Time Index (DXTI)" metric is not meant to simply be an overall replacement for the other basic I/O operation performance metrics such as "I/O operations-per-second (IOPS)", "Megabytes-per-second (MB/s)", read/write ratio, random access percentage, etc.

Rather, the DXTI metric provides benefit as an overall indicator of performance efficiency that can be used to help quickly and easily assess, for example, the overall I/O operation performance of a particular device, file, or process/application.  Similarly, the metric can likewise be used to help assess the overall performance of a particular "I/O profile" (e.g., a specific read/write, random/sequential, and data transfer size scenario), including when comparing various devices or other computer system changes.

As mentioned above, the DXTI metric resembles the automotive "fuel economy" index.  Of course, the "miles-per-gallon (mpg)" value can vary due to a number of factors (such as speed; various traffic, weather, and vehicle conditions; loads/occupants; change in terrain; etc.).  So when, for instance, a low (or less than expected) mpg value is encountered, a deeper analysis might be required that includes the consideration of other metrics (e.g., the average and maximum "miles-per-hour" metrics).

This can similarly be the case when a low or less than expected DXTI metric value is encountered.  Under such circumstances, the investigation of other metrics such as maximum response times, random access percentages, etc. can be warranted.  This is also where the hIOmon "Performance Threshold Range Metrics" can be of great help by enabling you to quickly and easily pinpoint those particular factors that are contributing to the low DXTI metric value.

Overall, the DXTI metric is complementary to the other commonplace metrics such as IOPS and MB/s.  In particular, it provides a simple yet discerning starting point when evaluating storage I/O performance and when undertaking performance comparisons.

Back to top.

How does this metric compare to the MB/s metric?

Both the "DataTransferred/Time Index (DXTI)" metric and the "Megabytes-per-second (MB/s)" metric focus upon the amount of data transferred along with time.  However, these two metrics are distinctly different.

MB/s as an average rate

The MB/s metric is generally calculated as an average rate.  For example, a benchmarking program will derive its determined MB/s value by dividing the total amount of data transferred during a test period by the overall duration of the test period itself.  For example, the transfer of 60 megabytes of data during a one-minute test period will result in a calculated MB/s value of 1 MB/s; it is important to note again that this value represents an average data transfer rate of 1 megabyte per second and that the time component of this metric is basically normalized to one-second.

In contrast, the time component of the DXTI metric is based upon the actual response times themselves of the I/O operations that performed/requested the data transfers.  Moreover, these response times are not averaged across the overall period of time during which the data transfer I/O operations were observed.

MB/s based upon "device busy" time

The MB/s metric can also be calculated by some benchmark programs (for instance) in terms of the amount of "device busy time" recorded (i.e., the amount of time during which the device was processing/servicing one or more I/O operations).  Once again, the aggregation of the I/O operation response times (rather than using "device busy time") is a valuable distinction of the DXTI metric.

This important distinction can be illustrated by the following example.  Assume 5 concurrent read I/O operations where each of them transfers 1 megabyte of data.  Four of these I/O operations each complete within 0.5 milliseconds, but the remaining I/O operation takes 2 milliseconds to complete.  So from a “device busy time” standpoint of calculating the MB/s metric, the total of 5 megabytes would be divided by 2 milliseconds since the device was busy during 2 milliseconds of elapsed wall-clock time (and even though 4 of the I/O operations completed in less than 2 milliseconds).

In contrast for the DXTI metric, the total of 5 megabytes would be divided by 4 milliseconds (the aggregated total of the five individual I/O operation response times).  This of course results in a lower calculated “Index” value that accounts for the “latency” as seen by the application(s) issuing the I/O operations.

Moreover, if each of the 4 I/O operations had instead experienced 2 millisecond response times (i.e., all 5 of the I/O operations each experienced a 2 millisecond response time, so that the aggregated response time total was 10 milliseconds), then the DXTI metric value would be even lower (which again provides a better sense as to the actual I/O performance from an application perspective).  That is, while the “device busy time” is the same “2 milliseconds” in both cases (i.e., the first case where 4 of the I/O operations each experienced a 0.5 millisecond response time and the second case where all of the I/O operations each experienced a 2 millisecond response time), the experience from an application perspective of “how long a wait time was required for the data transfers to complete” is quite different between these two cases, with this important difference being accounted for by the DXTI metric.

hIOmon Support for the "DataTransferred/Time Index (DXTI)" Metric

The hIOmon "DataTransferred/Time Index (DXTI)" metric can be displayed by the hIOmon WMI Browser, the hIOmon Presentation Client, and the hIOmon CLI support (all of which are included within the hIOmon "I/O Performance Monitor" software package).

This metric can also be displayed and exported in real-time by the hIOmon "Disk I/O Ranger Display" application, which is included within both the hIOmon "I/O Performance Monitor" and the hIOmon "Disk I/O Ranger" software packages.

In addition, the "DataTransferred/Time Index" metric can be easily calculated from the summarized I/O operation performance metrics that can be uniquely collected and exported by hIOmon.

Also please note that a short presentation which provides an abridged version of the information discussed above is available for download.

Back to Top

Legal and Privacy.  Copyright © 1999-2012  hyperI/O LLC.  All Rights Reserved.