An Overview of the ORtera Model

The ORtera Atlas product is based on a rigorous, patented mathematical model, which allows us to predict an application's performance on a given storage resource configuration with great accuracy. This model is based on two key observations:

  1. An application's workload, i.e., its composition of I/O requests of different types, sizes and load levels (number of concurrent threads), is independent of the type of storage resource it uses.
  2. How fast a storage resource (a LUN) responds to an I/O request of a certain type, size and load level is constant and can be measured.
This tells us that it is possible to determine how an application workload will behave on any storage resource type, by measuring how the resource responds to a large spectrum of different I/O requests and comparing those measurements with measurements of the application's workload. Using the same approach, it also makes it possible to predict the amount of storage resources of this type you need to satisfy a specific service level for an application.

ORtera Atlas captures high-resolution I/O activity data at the kernel level and uses this information to form an application workload profile. You can look at the workload profile data in the ORtera Compass GUI, numerically as well as graphically.

The workload profile provides details about the application's I/O composition, such as the portions of random read (RR), random write (RW), sequential read (SR) and sequential write (SW) of different sizes and at different load levels, at all layers of the storage configuration.

The ORtera Storage Capability Profiler (a command line utility, atlassp) measures the throughput for I/O requests of different types with respect to load level for a storage resource. The resulting storage capability profile represents a multi-dimensional field, with an axis for the load level of each I/O size/type combination. The field itself is the gradient of IOPS with respect to load level. The following diagrams show 3D subsets of this N-dimensional field for three primary I/O size/type combinations: 8 KB RR, 8 KB RW, and 32 KB SR, for load levels 1 through 5 for each axis. Hence, the minimum load level shown is 3 and the maximum load level is 15.

The workload can be thought of as a path curve through this field. A path curve is a function of a single parameter, and in this case, that single parameter is load level. The portions of load level on each axis define the component of force in that direction in the formal definition of work. For instance, the path curve for a workload of "load level 1 through 12, 25% 8 KB RR, 25% 8 KB RW, and 50% 32 KB SR" defines the work performed by the resource for this workload in terms of IOPS and response time.

The above diagram (and the statistics to the left of the diagram) describes what a specific workload direction, with a specific limiting relative portion of the three components, has to work with in terms of the range of IOPS and response time with respect to load level.

The mathematical expectation for overall IOPS and response time of a workload comes from integration over this curve along with the probability density function of load level. The component of load level on each axis is a displacement in the formal definition of work. This probability distribution, along with the limit proportions (direction cosines), is also empirically derived and obtained from the workload profile.

As a simplified example, say you want to know how many LUNs of the T3 storage resource shown in this diagram you need to satisfy response times below 30 ms for a workload of 25% 8 KB RR, 25% 8 KB RW and 50% 32 KB SR, with a sustained arrival rate of 2500 IOPS. The model shows that a 30 ms response time is satisfied for this mix when the total load level is 8 (2 threads for 8 KB RR, 2 threads for 8 KB RW, and 4 threads for 32 KB SR), as you may also see in the diagram (a 3D diagram is always hard to read, but the color for the point 2,2,4 matches the legend color for 30 ms). 30 ms corresponds to 175 IOPS (see the legends), so you need 14 LUNs (2500 / 175 per LUN), serving 112 threads (total load level 8 * 14 LUNs).

Please note that the diagrams shown here are only for illustration of the relationship between IOPS, response time, workload composition and load level. In practice, the calculations are made directly from the defining equations. Our experience using the ORtera model to make predictions of this kind shows that the predictions often match the actual, measured values with a 97% accuracy, and generally with a better than 90% accuracy, depending on the resolution of the model (number of dimensions).

ORtera Atlas 1.x automates only the capture of application workloads, but combined with the storage profiles created with the ORtera Storage Capability Profiler, you have all the data needed for these kinds of calculations. The A Complex I/O Workload Prediction Example whitepaper describes this in more detail. ORtera plans to automate the complete prediction process in a future product.

What Users Say

"The visual DTrace for storage"

"Cracks the storage stack"

"Fun"

"Impressive"

"Easy and intuitive"

"Well thought out"

"By far the best I've seen"

"Incorporating a rigorous model and detailed heuristics"

"I would really recommend it"

 ©2005 ORtera Inc.|