Skip navigation.
Home
latest scoop on virtual machine technology

Easy and Efficient Disk I/O Workload Characterization in VMware ESX Server

I published an academic paper at the IEEE International Symposium on Workload Characterization (IISWC 2007) in September that I want to spend some time talking about. The paper was entitled "Easy and Efficient Disk I/O Workload Characterization in VMware ESX Server". Here's the abstract:

Collection of detailed characteristics of disk I/O for workloads is the first step in tuning disk subsystem performance. This paper presents an efficient implementation of disk I/O workload characterization using online histograms in a virtual machine hypervisor-VMware ESX Server. This technique allows transparent and online collection of essential workload characteristics for arbitrary, unmodified operating system instances running in virtual machines. For analysis that cannot be done efficiently online, we provide a virtual SCSI command tracing framework. Our online histograms encompass essential disk I/O performance metrics including I/O block size, latency, spatial locality, I/O interarrival period and active queue depth. We demonstrate our technique on workloads of Filebench, DBT-2 and large file copy running in virtual machines and provide an analysis of the differences between ZFS and UFS filesystems on Solaris. We show that our implementation introduces negligible overheads in CPU, memory and latency and yet is able to capture essential workload characteristics.

Numerous customers, researchers and engineers have expressed interest in this tool. Thankfully, it is shipping with VMware ESX 3.5 and is available for anyone to use. Take a look a the paper for the details or stay tuned as I explain in plain English and with examples on how the technique is useful to system administrators and software developers.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

vscsistats

Hi Irfan,

Just have been experimenting with vscsiStats and have to say its a cool tool. Unfortunately I didn't manage to collect the SCSI traces, though. Would it be possible to get a short example on how to:

1. Start collecting traces
2. Store the trace in a file for later processing
3. Save the trace file in a CSV

Any help is greatly appreciated.

Best Regards,

Stephan

Thanks Irfan!I followed

Thanks Irfan!

I followed your session in Cannes and was looking forward to get more info. In the meantime, I already tryed out the tool some time ago to get an idea of how it works. You can check out some of my results here.

It would be great to have some more real-life and plain English explanation...

Toni: Thanks for blogging

Toni:

Thanks for blogging about my tool. Please add my blog to your blogroll as well.

I'll posting a lot of examples and details shortly.

Irfan