Flash-memory system to make data centres more energy-efficient

Most modern websites store data in databases, and since database queries are relatively slow, most sites also maintain so-called cache servers, which list the results of common queries for faster access. A data centre for a major web service such as Google or Facebook might have as many as 1,000 servers dedicated just to caching.

Cache servers generally use random-access memory (RAM), which is fast but expensive and power-hungry. Researchers from the Computer Science and Artificial Intelligence Laboratory (CSAIL) at the Massachusetts Institute of Technology (MIT) have developed a new system for data centre caching that instead uses flash memory, the kind of memory used in most smartphones.

Per gigabyte of memory, flash consumes about 5% as much energy as RAM and costs about one-tenth as much. It also has about 100 times the storage density, meaning that more data can be crammed into a smaller space. In addition to costing less and consuming less power, a flash caching system could dramatically reduce the number of cache servers required by a data centre.

The drawback to flash is that it is much slower than RAM. "That's where the disbelief comes in," says Arvind, the Charles and Jennifer Johnson Professor in Computer Science Engineering at MIT. "People say, 'Really? You can do this with flash memory?' Access time in flash is 10,000 times longer than in DRAM [dynamic RAM]."

But slow as it is relative to DRAM, flash access is still much faster than human reactions to new sensory stimuli. Users will not notice the difference between a request that takes .0002 seconds to process - a typical round-trip travel time over the internet - and one that takes .0004 seconds to reach it.

The more important concern is keeping up with the requests flooding the data centre. The CSAIL researchers� system, dubbed BlueCache, does that by using the common computer science technique of 'pipelining'. Before a flash-based cache server returns the result of the first query to reach it, it can begin executing the next 10,000 queries. The first query might take 200 microseconds to process, but the responses to the succeeding ones will emerge at .02-microsecond intervals.

Even using pipelining, however, the CSAIL researchers had to deploy some clever engineering tricks to make flash caching competitive with DRAM caching. In tests, they compared BlueCache to what might be called the default implementation of a flash-based cache server, which is simply a data-centre database server configured for caching. (Although slow compared to DRAM, flash is much faster than magnetic hard drives, which it has all but replaced in data centres.) BlueCache was 4.2 times as fast as the default implementation.

A little DRAM
The researchers' first trick is to add a little DRAM to every BlueCache flash cache - a few megabytes per million megabytes of flash. The DRAM stores a table which pairs a database query with the flash-memory address of the corresponding query result. That does not make cache lookups any faster, but it makes the detection of cache misses - the identification of data not yet imported into the cache - much more efficient.

That little bit of DRAM does not compromise the system's energy savings. Indeed, because of all of its added efficiencies, BlueCache consumes only 4% as much power as the default implementation.

Ordinarily, a cache system has only three operations: reading a value from the cache, writing a new value to the cache, and deleting a value from the cache. Rather than rely on software to execute these operations, as the default implementation does, the researchers developed a special-purpose hardware circuit for each of them, increasing speed and lowering power consumption.

Inside a BlueCache server, the flash memory is connected to the central processor by a wire known as a 'bus', which, like any data connection, has a maximum capacity. BlueCache amasses enough queries to exhaust that capacity before sending them to memory, ensuring that the system is always using communication bandwidth as efficiently as possible.

With all these optimisations, BlueCache is able to perform write operations as efficiently as a DRAM-based system. Provided that each of the query results it is retrieving is at least 8 kb, it is as efficient at read operations, as well. (Because flash memory returns at least 8 kb of data for any request, its efficiency falls off for really small query results.)

BlueCache, like most data-centre caching systems, is a so-called key-value store, or KV store. In this case, the key is the database query and the value is the response.

"The flash-based KV store architecture developed by the MIT team resolves many of the issues that limit the ability of today's enterprise systems to harness the full potential of flash," says Vijay Balakrishnan, director of the Data Centre Performance and Ecosystem programme at Samsung Semiconductor's Memory Solutions Lab. "The viability of this type of system extends beyond caching, since many data-intensive applications use a KV-based software stack, which the MIT team has proven can now be eliminated. By integrating programmable chips with flash and rewriting the software stack, they have demonstrated that a fully scalable, performance-enhancing storage technology ... can greatly improve upon prevailing architectures."

Electricity production: when enzymes rival platinum

A fuel cell converts chemical energy into electrical energy via hydrogen combustion. Though it is considered to be a clean technology - because it does not emit greenhouse gases - fuel cells do use costly rare metal catalysts such as platinum to oxidise hydrogen and reduce oxygen. In recent years, the identification of biocatalysts, enzymes with remarkable properties, has revitalised research in this area: their oxygen, and especially hydrogen, transformation activity is comparable to that of platinum.

Hydrogenase activity was, until recently, inhibited by oxygen and therefore incompatible with use in cells. For several years, researchers at the Laboratoire of Bioénergétique et Ingénierie des Protéines (CNRS/Aix-Marseille Université) in France have been developing a new generation of biocells. They have replaced the chemical catalyst (platinum) with bacterial enzymes: at the anode, hydrogenase (key for converting hydrogen into many microorganisms), and at the cathode, bilirubin oxidase. They have now identified a hydrogenase that is active in the presence of oxygen and resistant to some platinum inhibitors like carbon monoxide. In collaboration with the Centre de Recherche Paul Pascal (CNRS/Université de Bordeaux), also in France, they also explored biodiversity to identify heat-stable enzymes that can withstand temperatures between 25 deg C and 80 deg C.

To shift these bioprocesses from the laboratory to industrial development two major hurdles have to be overcome. In 2014, their first prototype was limited by both the low power it generated and the lack of enzyme stability. So they needed a change of scale, yet had to retain the enzymes' activity and protect them from any inhibitors. A third major problem was how to reduce costs, so among other things, they had to minimise the amount of enzyme used. All of these issues required fundamental and multidisciplinary study intended to shine light on the factors that limit bioelectrocatalysis.

By progressively incorporating the two heat-stable enzymes in a carbon-based architecture, the researchers solved these three problems. A carbon felt with suitably adapted porosity is the host structure for the enzymes, and also serves as protection against chemical species generated when oxygen is reduced, which change enzyme activity. So the cell can function without loss of performance for several days.

Using this controlled architecture and the enzymes' intrinsic properties, the researchers have managed for the first time to quantify the proportion of enzymes participating effectively in the current, demonstrating that the currents delivered by the biocatalyst are very similar to target results for platinum. They have also developed a numerical model to determine the cell's optimal geometry. These biocells appear to be an alternative to classic fuel cells: biomass can be used to provide both the fuel (hydrogen) and the catalyst (the enzymes), which are by nature renewable.

Biocell using H2/O2 fuel based on a heat-stable hydrogenase that resists oxygen and a carbon monoxide at the anode and a heat-stable bilirubin oxidase at the cathode that provide currents of the order of amps per milligram of enzymes. Image: Ievgen Mazurenko, BIP

Home | Back About Hong Kong Engineer | Latest Issue | Past Issues | Pink Pages
Notices to Members | Job Centre | Subscriptions | Contact Us
Terms & Conditions
Privacy Policy