August 14, 2013, Flash Memory Summit, Santa Clara, CA—Ed Dollar from Micron described the possible future of storage in the '20 datacenter. The issues of big data and ongoing changes in hardware and software will cause the datacenter to look significantly different from what it looks like today.
Data volumes and types have grown at an exponential rate in the last few years. In fact, over 90 percent of all data has been created in the last two years. Sites in the social media area like Facebook and YouTube are allowing users to generate vast quantities of new data every second. The addition of new data generators like the coming Internet of things will only make the data volume increase even faster, as billions of sensors and machines start adding their data to the human-generated volume.
The costs associated with all this data for the datacenters and their operating costs are astounding. Over 250 B kilowatt –hours were consumed by data centers in '10, before the really big data sources started running. This amount of power is the equivalent of 20 nuclear reactors, or one fifth of the world's nuclear power capacity. The costs for datacenter operations will continue to increase in parallel with the increasing data volumes.
A major part of the problem is due to the nature of nature of computers and their operations. Computers are designed to be serial machines that retrieve data in small units. A sort and compare operation has to first access all the relevant data in a range, then start the compare operation. The CPU requests data from some part of the store and puts it into a holding space. Then the CPU repeats the operation for the next data word and keeps repeating until it gets to a limit of some sort.
The serial data retrieval and high volume of data transfers is the portion of the computer operation that costs the most in power and latency. The cost of transfers of data from memory and storage to the CPU takes most of the operating power. Scaling out the datacenter helps with some issues like data locality but is still very inefficient.
IOPS have increased from hundreds per second in HDD arrays to millions in PCIe cards, with SATA SSDs somewhere in between. One issue is that the SSDs are configured to mimic HDDs, and suffer from the interfaces that were designed for under a thousand IOPS. The robust data integrity and error checking in the HDD interfaces are too slow by orders of magnitude to keep up with the capabilities of even a slow SSD.
Therefore, we have to change the design of the datacenters and SSDs. Instead of moving all those data from storage to the CPU, we should add intelligence to the controllers and add compute to the storage arrays. This scale-in view of the data center can address the I/O bottleneck and can result in space, power, and cost savings. The good thing about this type of change is that it only takes a change in software in the drive.
This addition of search and compare functions to the drives eliminates the vast majority of data transfers within the systems and frees up network bandwidth. Moving the search and compare operation to the drive also reduces the volume of data available for any single search, since most of the drives will generate null responses that the CPU can easily handle. When the CPU only has to process the results of the queries and not the whole query and all other search operations, its performance improves, further decreasing the need for more servers.
Rather than continuing to increase the IOPS and resulting power requirements, moving the simple, brute-force functions to the drive controllers permits the drives to retain their robust, serial interfaces like SAS or SATA without degrading performance. If these types of changes are implemented in drives and data systems architectures, the improvements in all metrics will generate savings that completely offset the costs of the changes.