Raj2796's Blog

February 18, 2010

When to use Vmware PVSCSI and when to use LSI Logic

Filed under: pvscsi,vmware — raj2796 @ 10:32 am

Now that the technology is officially supported by vmware, and we can expect to see a growth in the number of systems supported over the subsequent vmware updates, many of us are starting to use PVSCSI for all new vm’s. I’ve found it works fine with non offically supported OS’s, so long as you have the latest vmware tools installed (i have not tried netware yet though).

PVSCSI gives 12% more throughput and 18% less cpu use, thats enough of a gain to avoid having to upgrade your servers this year, added to thin provisioning and you can skip your storage upgrades, roll the money over and get something nice and shiny the following year.

It seems PVSCSI isn’t allways the best choice though, for heavy workloads its great, for lower workloads LSI is still champ. Vmware has a knowledgebase article on this which can summed upto :

PVSCSI – all else ( 2,000 IOPS + etc )
LSI Logic – less than 2,000 IOPS and issuing greater than 4 outstanding I/Os.

Vmwares knowledge base article:

Do I choose the PVSCSI or LSI Logic virtual adapter on ESX 4.0 for non-IO intensive workloads?
VMware evaluated the performance of PVSCSI and LSI Logic to provide a guideline to customers on choosing the right adapter for different workloads. The experiment results show that PVSCSI greatly improves the CPU efficiency and provides better throughput for heavy I/O workloads. For certain workloads, however, the ESX 4.0 implementation of PVSCSI may have a higher latency than LSI Logic if the workload drives low I/O rates or issues few outstanding I/Os. This is due to the way the PVSCSI driver handles interrupt coalescing.

One technique for storage driver efficiency improvements is interrupt coalescing. Coalescing can be thought of as buffering: multiple events are queued for simultaneous processing. For coalescing to improve efficiency, interrupts must stream in fast enough to create large batch requests. Otherwise, the timeout window will pass with no additional interrupts arriving. This means the single interrupt is handled as normal but after an unnecessary delay.

The behavior of two key storage counters affects the way the PVSCSI and LSI Logic adapters handle interrupt coalescing:

* Outstanding I/Os (OIOs): Represents the virtual machine’s demand for I/O.
* I/Os per second (IOPS): Represents the storage system’s supply of I/O.

The LSI Logic driver increases coalescing as OIOs and IOPS increase. No coalescing is used with few OIOs or low throughput. This produces efficient I/O at large throughput and low-latency I/O when throughput is small.

In ESX 4.0, the PVSCSI driver coalesces based on OIOs only, and not throughput. This means that when the virtual machine is requesting a lot of I/O but the storage is not delivering, the PVSCSI driver is coalescing interrupts. But without the storage supplying a steady stream of I/Os, there are no interrupts to coalesce. The result is a slightly increased latency with little or no efficiency gain for PVSCSI in low throughput environments.

The CPU utilization difference between LSI and PVSCSI at hundreds of IOPS is insignificant. But at larger numbers of IOPS, PVSCSI can save a lot of CPU cycles.

The test results show that PVSCSI is better than LSI Logic, except under one condition–the virtual machine is performing less than 2,000 IOPS and issuing greater than 4 outstanding I/Os.


Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Blog at WordPress.com.

%d bloggers like this: