Update (December 2019): Two years after initial announcement, it seems that the Seagate dual actuator drives are finally coming to market. This post by Chris Mellor provides some background on Microsoft testing.
When your technology is based on mechanical motion, it’s inevitable that at some point the laws of physics will get in the way. This has been a problem for hard disk drives for some time. Spin speeds never exceeded 15K RPM except in some test drives. As a result, throughput has been limited by rotational performance and linear bit density. We’ve seen modest performance improvements in sequential throughput over the years, but random I/O is a problem. With a single actuator arm, re-positioning the read heads of a hard drive with each I/O results in extremely poor performance.
This week Seagate has announced Multi-Actuator technology, which as you can see from the animation, results in two sets of read heads across disk platters. Each operates independently, theoretically doubling performance. I say “theoretically” because the idea of independent actuator read/write raises more questions than Seagate answers on their blog.
Let’s look for a moment at how HDD technology works. As a read or write is processed, the read/write heads (one set for each side of each platter) have to be positioned on the correct track. Think of a track as an invisible groove on a record (or CD). Hard drives are great for sequential performance. A single actuator can read across a set of tracks (one for each platter side) at the same time. In the old days, this was called a cylinder. Sequential performance improves by having more read/write heads and increasing the bit density on the platter. With increased density, the amount of data per inch improves. This means for a fixed rotational speed, increased density moves more bits per second past the read/write heads, ergo better sequential I/O performance.
Repositioning the read/write heads introduces two delays -the first is rotational delay, which is waiting for the right part of the track to come around. On average this time is half the time taken for a single rotation. So for a 7200 RPM drive, or 120 revolutions per second, that’s around 4.2 ms of latency. Then there’s seek time, the time taken to move the head to the right track/cylinder. This time depends on the speed of the mechanics, but could be another 3-4 ms (or more). So imagine a total (worst case) latency of 8ms per I/O, the throughput drops to a paltry 125 IOPS. Actual performance will be variable, depending on the degree of randomness of the I/O requests. Caching can improve some write throughput, whereas total random reads will defeat the caching algorithms.
Seagate is planning to introduce dual (or more) actuators per hard drive. Now, I/O can be serviced across the platters with two concurrent processes. As long as there is data to be read/written in each of the two platter groups, then performance will improve. The question here is by how much. Ideally, every I/O would be totally random and therefore evenly distributed across the drive. Random I/O would be serviced by what looks like two separate disk drives and the I/O throughput should double. With four actuators, the I/O count should quadruple, and so on.
This is the ideal scenario. But how will data be written to the drive? If we want to double throughput, both sets of platters would need to be written at the same time. This would negate any performance improvement on read, because all heads would be dedicated to reading that data and couldn’t do other work.
Then there’s queuing. SATA and SAS both have a single queue. SATA has a queue depth of 32 requests, SAS typically around 254. Will I/O be treated as a single queue and simply improve the “elevator” NCQ/TCQ performance? Or, would there be an opportunity to serve multiple queues, for example, to enable a drive to be read for RAID rebuilds at the same time as accessing host I/O requests? As drives get larger in capacity, the ability to multi-stream for rebuilds may become really important.
Multi-actuator is one of a number of requirements that the public cloud hyper-scalers have been talking about. Check out my post (here) from last year on this subject. I reference a Google paper, where form factor changes cover the idea of multiple actuator access. The issue for the hyper-scalers will be how to manage cost. Extra actuators will add to the BOM for each drive, which might not be acceptable.
The Architect’s View
I’m sure Seagate has some simulation software that shows the benefit of multiple actuators. I’d like to see how this works with different workload profiles and I suspect that customers who may be expected to pay a premium for these type of drives will ask the same question. I think the mechanical side of multi-actuators will be relatively easy, but the more complex task will be handling the caching and read/write algorithms. This could be the opportunity for HDD manufacturers to expose more functionality to the host, as requested in the Google white paper. It will be interesting to see.
- Multi-Actuator Technology: A New Performance Breakthrough (Seagate blog, retrieved 19 December 2017)
- Disks for Data Centers (PDF, Google white paper, retrieved 22 December 2017)
- Unreliable Disks for Better Scale-out Storage
Comments are always welcome; please read our Comments Policy first. If you have any related links of interest, please feel free to add them as a comment for consideration.
Copyright (c) 2009-2019 – Post #3337 – Brookend Ltd, first published on https://www.architecting.it/blog, do not reproduce without permission.