HP Pro UPS 500 240V ISS Technology Update, Volume 9, Number 4 - Page 5

Setting HP Smart Array controller cache ratio

Page 5 highlights

Setting HP Smart Array controller cache ratio HP Smart Array RAID controllers for ProLiant servers have always used cache memory modules to help improve overall disk I/O performance for both reading data from and writing data to logical drive volumes. You can use controller cache as write cache and read cache, and you can use the various Smart Array configuration tools to select the percentage of the cache devoted to each. The relatively rapid increase in the memory sizes of Smart Array cache modules has changed the playing field for Smart Array performance, and as a result we need to re-evaluate the proper settings for the Smart Array controller cache ratio as well as their performance benefits. The roles of read cache and write cache in Smart Array performance Smart Array read cache is used to predicatively fetch data from disk drives that may be requested by upcoming read commands from applications. The controller's operating program identifies the pattern of the read commands and reads ahead on the drives, placing this data into the cache where it can be more quickly accessed if the upcoming read commands call for it. Read cache is really only effective in increasing the performance on sequential read workloads, since random read workloads by their very nature do not follow a predictable pattern. The benefits of controller read cache are also reduced by the fact that many operating systems implement their own disk read caches, including predictive read-ahead capability. In Windows Server, this function is called, simply enough, the Cache Manager. Smart Array write cache is designed to improve write performance by acting as an output buffer, allowing host applications to post writes to the controller and then continue without having to wait for the write operation to complete to disk. This allows the application to achieve better performance. As the cache fills with pending writes, the Smart Array controller analyzes these commands and finds more efficient ways to execute them by combining them, changing the order in which they are executed, or both. This helps the controller achieve better overall write throughput. With write cache, more cache is almost always better, since it allows the controller to store and analyze more pending commands. Optimizing the controller cache ratio With Smart Array cache modules currently at 512 mebibytes (MiB) to 1 gibibytes (GiB)2 and continuing to increase in size, we no longer advise setting the controller cache ratio for anything greater than 25% read cache. HP testing has shown that read cache amounts greater than 64 MiB - 100 MiB do not significantly improve performance for sequential read operations. The Array Configuration Utility (ACU) and other Smart Array configuration tools will allow you to set the read cache percentage at 50%, 75% or even 100%. However, with the sizes of today's Smart Array cache modules, there are no known instances where this would improve read performance significantly. More important, setting the read cache at these levels will lower the total amount of write cache and impact write performance. Current plans are for future releases of ACU to allow setting the ratio to 10% read cache and 90% write cache, reflecting what is generally considered the better ratio given the increases in Smart Array cache sizes. Using the ACU, you could set the controller cache ratio to 0% read cache and 100% write cache. This configuration provides some additional benefits in application environments that are heavily skewed towards random access, particularly random writes. Additional resources For additional information on the topics discussed in this article, visit: Resource HP Smart Array controllers and basic RAID performance factors URL http://h20000.www2.hp.com/bc/docs/support/SupportManual/c02249094 /c02249094.pdf How many bytes are in a GB? http://h20000.www2.hp.com/bc/docs/support/SupportManual/c02022732 /c02022732.pdf 2 1 MiB = 220 B = 1,048,576 B and 1 GiB = 230 B = 1,073,741,824 B 5

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

5
Setting HP Smart Array controller cache ratio
HP Smart Array RAID controllers for ProLiant servers have always used cache memory modules to help improve overall disk
I/O performance for both reading data from and writing data to logical drive volumes. You can use controller cache as
write cache and read cache, and you can use the various Smart Array configuration tools to select the percentage of the
cache devoted to each. The relatively rapid increase in the memory sizes of Smart Array cache modules has changed the
playing field for Smart Array performance, and as a result we need to re-evaluate the proper settings for the Smart Array
controller cache ratio as well as their performance benefits.
The roles of read cache and write cache in Smart Array performance
Smart Array read cache is used to predicatively fetch data from disk drives that may be requested by upcoming read
commands from applications. The controller‘s operating program identifies the pattern of the read commands and reads
ahead on the drives, placing this data into the cache where it can be more quickly accessed if the upcoming read
commands call for it. Read cache is really only effective in increasing the performance on sequential read workloads, since
random read workloads by their very nature do not follow a predictable pattern. The benefits of controller read cache are
also reduced by the fact that many operating systems implement their own disk read caches, including predictive read-ahead
capability. In Windows Server, this function is called, simply enough, the Cache Manager.
Smart Array write cache is designed to improve write performance by acting as an output buffer, allowing host applications
to post writes to the controller and then continue without having to wait for the write operation to complete to disk. This
allows the application to achieve better performance. As the cache fills with pending writes, the Smart Array controller
analyzes these commands and finds more efficient ways to execute them by combining them, changing the order in which
they are executed, or both. This helps the controller achieve better overall write throughput. With write cache, more cache is
almost always better, since it allows the controller to store and analyze more pending commands.
Optimizing the controller cache ratio
With Smart Array cache modules currently at 512 mebibytes (MiB) to 1 gibibytes (GiB)
2
and continuing to increase in size,
we no longer advise setting the controller cache ratio for anything greater than 25% read cache. HP testing has shown that
read cache amounts greater than 64 MiB
100 MiB do not significantly improve performance for sequential read
operations. The Array Configuration Utility (ACU) and other Smart Array configuration tools will allow you to set the read
cache percentage at 50%, 75% or even 100%. However, with the sizes of
today‘s Smart Array cache modules, there are no
known instances where this would improve read performance significantly. More important, setting the read cache at these
levels will lower the total amount of write cache and impact write performance. Current plans are for future releases of ACU
to allow setting the ratio to 10% read cache and 90% write cache, reflecting what is generally considered the better ratio
given the increases in Smart Array cache sizes.
Using the ACU, you could set the controller cache ratio to 0% read cache and 100% write cache. This configuration
provides some additional benefits in application environments that are heavily skewed towards random access, particularly
random writes.
Additional resources
For additional information on the topics discussed in this article, visit:
Resource
URL
HP Smart Array controllers and basic RAID
performance factors
/c02249094.pdf
How many bytes are in a GB?
/c02022732.pdf
2
1 MiB = 2
20
B = 1,048,576 B and 1 GiB = 2
30
B = 1,073,741,824 B