Cutting massive power use at big data companies in a flash

cheaper than RAM, so companies can also save money on hardware upfront, Pai said.

How does it work?
Badam, a graduate student in computer science, said that SSDAlloc basically changes the way that programs look for data in a computer.

Traditionally, a computer program will run its operations in RAM, which is fast and efficient, but unable to store information without power. When the program needs to store information longer, or when it needs to use data that is not in the RAM, it looks to storage memory — either flash memory or mechanical hard drives.

That is where a bottleneck occurs. The step at which the program switches to storage memory is glacially slow in computer terms. That is often the nature of the storage medium itself — mechanical hard drives are vastly slower than RAM. But it is also the result of underlying operating systems, such as Linux or Windows, that govern how the computer searches for information.

Flash memory is much faster than a hard drive, and flash is getting faster all the time. Currently, high-end flash memory has retrieval speeds of a million requests per second (a top mechanical hard drive’s retrieval speed is about 300 requests per second).

That discrepancy created a dilemma for flash. The physical flash memory itself was fast enough that it could operate as an extension of RAM, but the underlying retrieval system’s slow speed throttled its potential.

The release notes that based on earlier research, funded in part by the National Science Foundation, Pai and Badam felt they had a technique that could universally allow flash memory to serve as an extension of RAM.

Other researchers had developed more narrow techniques, but they were difficult to program and only worked for certain applications. The Princeton researchers’ idea would work with any program with minimal, and relatively straightforward, adjustments.

It was an ambitious idea. Two other research teams outside of Princeton had tried unsuccessfully to create similar results, and many experts were convinced that the technique could not be done through changes in software alone.

It did seem like a long shot,” Badam said.

What Badam did was write software that allows programmers to bypass this traditional system of searching for information in storage memory. His system allows for requests for information that take advantage of flash memory’s extremely fast retrieval times. Essentially, SSDAlloc moves the flash memory up in the internal hierarchy of computer data — instead of thinking of flash as a version of a storage drive, SSDAlloc tells the computer to consider it a larger, somewhat slower, version of RAM.

I wanted to make flash memory look like it was traditional memory,” he said.

The first version of the software required programmers to write a very small percentage of their software — Pai estimates about 1 percent — to work with SSDAlloc. But while completing a scientific internship at Fusion-io last summer, Badam was able to refine SSDAlloc so that programmers no longer have to alter any of their code to work with the system.

A good thing about SSDAlloc is that it does not alter the program,” Badam said. “If you were using RAM and you want to use RAM, you can do that. If you want to use solid state you can use that.”

Pai predicts that the need for faster memory access will continue to grow as more computing relies on the virtual cloud rather than on individual machines. The cloud, of course, must be supported by servers running those programs.

Our system monitors what the host system is doing and moves it into and out of RAM automatically,” he said. “There is a whole class of applications in which this would be used.”