Pages

Wednesday, May 9, 2018

The Pipersbytes Library: Practical Storage Area Networking

When I got a date for an interview with EMC back in late 2006 I started reading this book I got from Amazon called “Practical Storage Area Networking” by Daniel Pollack, published in 2002. Pollack was a systems administrator with America Online at that time and I only bought the book as I had glanced at the acknowledgements page online and spotted that “EMC Corp.” was mentioned. I thought I should really read this as I’ve got an interview in a few weeks’ time with EMC!



Pollack’s book turned out to be one of the best sources of information I had on storage and workload prior to joining EMC and it still sits on my desk to this day if I need a gentle reminder of the principles he described. They are as useful now as they were then. At the time, I hadn’t read a lot of performance books or articles and storage was only something I’d tinkered with in the form of a few DAS boxes and an occasional login to a CX300. Therefore, what Pollack described in his book was new knowledge and I loved every word of it.

If I was to summarize the salient pieces of chapters two and three from his book it would go something like this: Storage workloads aren’t simply just a number of IOPS, it’s also the fact that these IOPS have a size that Pollack called bandwidth, (years later I now prefer the term throughput as opposed to bandwidth when describing the size of moving data). Combined, the number and throughput of IOPS in conjunction with their read/write ratio, random to sequential ratio and cache hit ratios is what determines the type and configuration of solution required to move the customer’s workload within a certain response time objective.

By the time I joined EMC in 2007, many companies including Compellent and EMC where well on the way to developing technologies that would take advantage of two other, very key workload characteristics not covered by Pollack: IO density and skew.  I've added these to a summary table below.

Term
Definition
IOPS
  • Workload requests sent to the array, measured as input/output operations per second (IOPS).
  • The number, size and different characteristics of IOPS puts pressure on different components of a storage system and through innovation, we have learned to use some of these characteristics to our advantage.

Throughput (MB/s or GB/s)
(Pollack called it bandwidth)
  • Throughput is the collective size of all IOPS at a point in time, typically measured as megabytes per second (MB/s), or on today's larger platforms gigabytes per second (GB/s).
  • The size of an individual IOP is known as a block, typically measured as kilobytes (kB).
  • I like to call it “the size of moving data”.
  • When modelling a solution the challenge is to find a series of pipes with a large enough diameter to let the moving data through.

Bandwidth

  • The maximum throughput of a device or component; think of this as the maximum diameter of a tube or pipe.
  • Be careful as this can be measured in MB/s or megabits per second (Mb/s). The latter typically used to describe the maximum capability of a port, lane or bus.


Read-write ratio
  • The number of reads and the number of writes.

Random sequential ratio
  • The number of random IOs and the number of sequential IOs.

Cache hit ratio
  • The number of IOs that are served from cache.

Response time
  • The amount of time it takes a storage system to respond to a request.

Skew
  • A measurement of active and non-active data.
  • Enables placement of data on different drive technologies for cost and performance optimization based on the changing temperature of active and non-active data typically grouped as extent groups or chunk sizes that vary depending on the technology used on the primary storage system.

IO density
  • Workload to capacity ratio, typically measured as the number of IOPS to either front-end or back-end capacity.


No comments:

Post a Comment