This page contains a Flash digital edition of a book.
#dcsarticle http://dcseurope.info/n/evtz www.snia-europe.org


Understanding the Effects of the IO Stack on Workloads and SSD Performance


By Doug Rollins, SSSI member, Micron Technology and Eden Kim, Chair SSS Technical Working Group, Calypso Systems, Inc.


Eden Kim T


SNIA SSSI SSSI


Doug Rollins


his article discusses the marked differences between “Synthetic Device Level” and “Real World - Application Level” workload performance measurement. We focus on the path taken by the IO stimulus through the software / hardware stack and its effect of the SSD test environment. SSD Performance is highly dependent on the workload applied and the method of application. Here, we investigate how workloads may be affected by host computer variables. Note: for the remainder of this article, the terms “real world workload” and “user workload” will be used interchangeably.


What are User Workload and Synthetic Workload? What is a “User Workload?”


A user workload is an IO stimulus generated at the application level and applied to the device under test (“DUT”), that traverses the same IO stack (including host side caching and file systems) as would any IO generated by a user application outside of a performance measurement environment.


Further, a user workload based test requires that the DUT have a file system installed and that all interactions with the DUT exactly mirror the interactions and IO path(s) that will occur when the DUT is deployed for use in the end user system.


Synthetic Workload Parameters


Block Size 8KiB


Read / Write Ratio 67% Read / 33% Write


Degree of Randomness 100% Random


Typical User Workload


Database, commonly referred to as “OLTP” (online transaction


processing)


128KiB 128KiB 64KiB 4KiB


90% Read / 10% Write 50% Read / 50% Write 95% Read / 5% Write 50% Read / 50% Write


Random or Sequential 100% Sequential Sequential


100% Random


Video stream cache Data backup


System startup (boot) Virtual memory (disk paging)


NOTE: This is a table of user workloads that shows access patterns observed at the block IO level. These block level IO stimuli can vary depending on the end user system. Also, block level IO will not be identical to user workloads at the application or file system level.


May 2012 I www.dcseurope.info 15


What is a “Synthetic Workload?”


A synthetic workload is an IO stimulus that uses a known and repeatable stimulus that is targeted directly at the block-level IO device. The set of test parameters completely describes the test stimulus. Such parameters commonly include: £ Block Size (typically measured in “KiB”) £ Traffic type, i.e. Read / Write Ratio and £ Degree of randomness of the access pattern (Random or Sequential Accesses)


What is a “Synthetic Device Level Test”? Synthetic device level testing refers to the use of a synthetic workload (as defined above) to measure the performance of any device, in particular an SSD, at the block IO level (not at the file system or OS level). In this type of testing, the test sponsor applies synthetic workload parameters that relate to the type of “IO traffic of interest.”


This synthetic workload is often a mix of Random and Sequential Reads and Writes in various Block Sizes similar to the type of IO traffic expected to access the block level Device Under Test when used in the end user system (or the “IO traffic of interest”).


Page 1  |  Page 2  |  Page 3  |  Page 4  |  Page 5  |  Page 6  |  Page 7  |  Page 8  |  Page 9  |  Page 10  |  Page 11  |  Page 12  |  Page 13  |  Page 14  |  Page 15  |  Page 16  |  Page 17  |  Page 18  |  Page 19  |  Page 20  |  Page 21  |  Page 22  |  Page 23  |  Page 24  |  Page 25  |  Page 26  |  Page 27  |  Page 28  |  Page 29  |  Page 30  |  Page 31  |  Page 32  |  Page 33  |  Page 34  |  Page 35  |  Page 36  |  Page 37  |  Page 38  |  Page 39  |  Page 40  |  Page 41  |  Page 42  |  Page 43  |  Page 44  |  Page 45  |  Page 46  |  Page 47  |  Page 48  |  Page 49  |  Page 50  |  Page 51  |  Page 52