Optimizing the work per dollar spent is a high priority in datacenters around the world. But there arenât many ways to accomplish that. Iâd argue that integrating flash into the storage system drives the best â sometimes most profound â improvement in the cost of getting work done.
Yea, I know work/$ is a US-centric metric, but replace the $ with your favorite currency. The principle remains the same.
I had the chance to talk with one of the execs whoâs responsible for Googleâs infrastructure last week. He talked about how his fundamental job was improving performance/$. I asked about that, and he explained âperformanceâ as how much work an application could get done. I asked if work/$ at the application was the same, and he agreed â yes â pretty much.
You remember as a kid that you brought along a big brother as authoritative backup? OK â so my big brother Google and I agree â you should be trying to optimize your work/$. Why? Well â it could be to spend less, or to do more with the same spend, or do things you could never do before, or simply to cope with the non-linear expansion in IT demands even as budgets are shrinking. Hey â thatâs the definition of improving work/$… (And as a bonus, if you do it right, youâll have a positive green impact that is bound to be worth brownie points.)
Hereâs the point. Processors are no longer scaling the same â sure, there are more threads, but not all applications can use all those threads. Systems are becoming harder to balance for efficiency. And often storage is the bottleneck. Especially for any application built on a database. So sure â you can get 5% or 10% gain, or even in the extreme 100% gain in application work done by a server if youâre willing to pay enough and upgrade all aspects of the server: processors, memory, networkâŚ But itâs almost impossible to increase the work of a server or application by 200%, 300% or 400% â for any money.
Iâm going to explain how and why you can do that, and what you get back in work/$. So much back that youâll probably be spending less and getting more done. And Iâm going to explain how even for the risk-averse, you can avoid risk and get the improvements.
More work/$ from general-purpose DAS servers and large databases
Let me start with a customer. Itâs a bank, and it likes databases. A lot. And it likes large databases even more. So much so that it needs disks to hold the entire database. Using an early version of an LSI Nytroâ˘ MegaRAIDÂŽ card, it got 6x the work from the same individual node and database license. You can read that as 600% if you want. Itâs big. To be fair â that early version had much more flash than our current products, and was much more expensive. Our current products give much closer to 3x-4x improvement. Again, you can think of that as 300%-400%. Again, slap a Nytro MegaRAID into your server and itâs going to do the work of 3 to 4 servers. I just did a web search and, depending on configuration, Nytro MegaRAIDs are $1,800 to $2,800 online.Â I donât know about you, but I would have a hard time buying 2 to 3 configured servers + software licenses for that little, but thatâs the net effect of this solution. Itâs not about faster (although you get that). Itâs about getting more work/$.
But you also want to feel safe â that youâre absolutely minimizing risk. OK. Nytro MegaRAID is a MegaRAID card. Thatâs overwhelmingly the most common RAID controller in the world, and itâs used by 9 of the top 10 OEMs, and protects 10âs to 100âs of millions of disks every day. The Nytro version adds private flash caching in the card and stores hot reads and writes there. Writes to the cache use a RAID 1 pair. So if a flash module dies, youâre protected. If the flash blocks or chip die wear out, the bad blocks are removed from the cache pool, and the cache shrinks by that much, but everything keeps operating â itâs not like a normal LUN that canât change size. Whatâs more, flash blocks usually finally wear out during the erase cycle â so no data is lost.Â And as a bonus, you can eliminate the traditional battery most RAID cards use â the embedded flash covers that â so no more annual battery service needed.Â This is a solution that will continue to improve work/$ for years and years, all the while getting 3x-4x the work from that server.
More work/$ from SAN-attached servers (without actually touching the SAN)
That example was great â but you donât use DAS systems. Instead, you use a big iron SAN. (OK, not all SANs are big iron, but I like the sound of that expression.) There are a few ways to improve the work from servers attached to SANs. The easiest of course is to upgrade the SAN head, usually with a flash-based cache in the SAN controller. This works, and sometimes is âgood enoughâ to cover needs for a year or two. However, the server still needs to reach across the SAN to access data, and itâs still forced to interact with other serversâ IO streams in deeper queues. That puts a hard limit on the possible gains.Â
Nytro XD caches hot data in the server. It works with virtual machines. It intercepts storage traffic at the block layer â the same place LSIâs drivers have always been. If the data isnât hot, and isnât cached, it simply passes the traffic through to the SAN. I say this so you understand â it doesnât actually touch the SAN. No risk there. More importantly, the hot storage traffic never has to be squeezed through the SAN fabric, and it doesnât get queued in the SAN head. In other words, it makes the storage really, really fast.
Weâve typically found work from a server can increase 5x to 10x, and thatâs been verified by independent reviewers. Whatâs more, the Nytro XD solution only costs around 4x the price of a high-end SAN NIC. Itâs not cheap, but itâs way cheaper than upgrading your SAN arrays, itâs way cheaper than buying more servers, and itâs proven to enable you to get far more work from your existing infrastructure. When you need to get more work â way more work â from your SAN, this is a really cost-effective approach. Seriously â how else would you get 5x-10x more work from your existing servers and software licenses?
More work/$ from databases
A lot of hyperscale datacenters are built around databases of a finite size. That may be 1, 2 or even 4 TBytes. If you use Appleâs online services for iTunes or iCloud, or if you use Facebook, youâre using this kind of infrastructure.
If your datacenter has a database that can fit within a few TBytes (or less), you can use the same approach. Move the entire LUN into a Nytro WarpDriveÂŽ card, and you will get 10x the work from your server and database software. It makes such a difference that some architects argue Facebook and Apple cloud services would never have been possible without this type of solution. I donât know, but theyâre probably right. You can buy a Nytro WarpDrive for as little as a low-end server. I mean low end. But it will give you the work of 10. If you have a fixed-size database, you owe it to yourself to look into this one.
More work/$ from virtualized and VDI (Virtual Desktop) systems
Virtual machines are installed on a lot of servers, for very good reason. They help improve the work/$ in the datacenter by reducing the number of servers needed and thereby reducing management, maintenance and power costs. But what if they could be made even more efficient?
Wall Street banks have benchmarked virtual desktops. They found that Nytro products drive these results: support of 2x the virtual desktops, 33% improvement in boot time during boot storms, and 33% lower cost per virtual desktop. In a more general application mix, Nytro increases work per server 2x-4x.Â And it also gives 2x performance for virtual storage appliances.
While thatâs not as great as 10x the work, itâs still a real work/$ value thatâs hard to ignore. And itâs the same reliable MegaRAID infrastructure thatâs the backbone of enterprise DAS storage.
A real example from our own datacenter
Finally â a great example of getting far more work/$ was an experiment our CIO Bruce Decock did. We use a lot of servers to fuel our chip-design business. We tape out a lot of very big leading-edge process chips every year. Hundreds. Â And that takes an unbelievable amount of processing to get what we call âdesign closureâ â that is, a workable chip that will meet performance requirements and yield. We use a tool called PrimeTime that figures out timing for every signal on the chip across different silicon process points and operating conditions. There are 10âs to 100âs of millions of signals. And we run every active design â 10âs to 100âs of chips â each night so we can see how close weâre getting, and we make multiple runs per chip. Thatâs a lot of computationâŚ The thing is, electronic CAD has been designed to try not to use storage or it will never finish â just /tmp space, but CAD does use huge amounts of memory for the data structures, and that means swap space on the order of TBytes. These CAD tools usually donât need to run faster. They run overnight and results are ready when the engineers come in the next day. These are impressive machines: 384G or 768G of DRAM and 32 threads.Â How do you improve work/$ in that situation? What did Bruce do?
He put LSI Nytro WarpDrives in the servers and pointed /tmp at the WarpDrives. Yep. Pretty complex. I donât think he even had to install new drivers. The drivers are already in the latest OS distributions. Anyway â like I said â complex.
The result? WarpDrive allowed the machines to fully use the CPU and memory with no I/O contention.Â With WarpDrive, the PrimeTime jobs for static timing closure of a typical design could be done on 15 vs. 40 machines.Â Thatâs each Nytro node doing 260% of the work vs. a normal node and license. Remember â those are expensive machines (have you priced 768G of DRAM and do you know how much specialized electronic design CAD licenses are?)Â So the point wasnât to execute faster. Thatâs not necessary. The point is to use fewer servers to do the work. In this case we could do 11 runs per server per night instead of just 4. A single chip design needs more than 150 runs in one night.
To be clear, the Nytro WarpDrives are a lot less expensive than the servers they displace. And the savings go beyond that â less power and cooling. Lower maintenance. Less admin time and overhead. Fewer Licenses.Â Thatâs definitely improved work/$ for years to come. Those Nytro cards are part of our standard flow, and they should probably be part of every chip companyâs design flow.
So you can improve work/$ no matter the application, no matter your storage model, and no matter how risk-averse you are.
Optimizing the work per dollar spent is a high â maybe the highest â priority in datacenters around the world. And just to be clear â Google agrees with me. There arenât many ways to accomplish that improvement, and almost no ways to dramatically improve it. Iâd argue that integrating flash into the storage system is the best â sometimes most profound â improvement in the cost of getting work done. Not so much the performance, but the actual work done for the money spent. And it ripples through the datacenter, from original CapEx, to licenses, maintenance, admin overhead, power and cooling, and floor space for years. Thatâs a pretty good deal. You should look into it.
For those of you who are interested, I already wrote about flash in these posts:
What are the driving forces behind going diskless?
LSI is green â no foolinâ
Tags: Bruce Decock, DAS, datacenter, direct attached storage, enterprise IT, flash, Google, hyperscale datacenter, Nytro MegaRAID, Nytro WarpDrive, Nytro XD, PrimeTime, RAID, SAN, server storage, storage area network, VDI, virtual desktop infrastructure, work per dollar