Worldwide

High Speed Caching

high-speed caching

Speed up performance

  • Accelerates disk I/O response from existing storage
  • Uses x86-64 CPUs and memory from DataCore nodes as powerful, inexpensive “mega caches”
  • Anticipates next blocks to be read & groups writes to avoid waiting on disks

High-speed caching has long been a potent differentiator for DataCore’s products. If you have been conditioned by other suppliers to believe that any form of virtualization brings a performance penalty, think again. In the process of virtualizing disks, DataCore software accelerates reads and writes by leveraging the powerful processors and large memories of the x86-64 servers on which it runs.

Up to 1 Terabyte of cache may be configured on a DataCore node enabling it to perform at solid state disk (SSD) speed without the expense. Of course, SSDs may be included in the pool for specific use cases. Caching essentially recognizes I/O patterns to anticipate which blocks to read next into RAM from the back-end disks. That way the next request can be fulfilled quickly from memory at electronic speeds.

When computers write to a virtual disk, the information goes quickly into memory and later de-staged to disk, often grouped with other writes to minimize delays when storing the information to disk.

The simplest way to look at caching on a DataCore node is to view it as a level 1 cache that can respond in less than 20 microseconds, whereas the caches on the disk array would be slower and pricier, taking somewhere in the hundreds of microseconds. Both of these caches aim to hide the much longer delay of the physical disk I/O which is in the order of 4000 to 6000 microseconds (or 4 to 6 milliseconds).

In the diagram you see how the software uses the CPUs on the DataCore nodes to rapidly poll for inputs and immediately service input or output requests out of SAN-wide caches. Polling replaces slower (higher latency) interrupt servicing techniques that take much longer to recognize I/O events. The quicker the CPU, the faster the software can turn around an I/O. The same polling method is used whether fielding requests from the host computers or responding to the back-end disks. Write coalescing reduces the delay in writing to disk by grouping inputs, whereas pre-fetching into cache anticipates blocks to be read given earlier reads from that section of the disk.