Fusion-io and Princeton University boffins have used a PCIe flash drive to virtually extend a server's main memory into the terabytes.
Engineers at the storage company collaborated with the computer scientists to design the Extended Memory subsystem using Fusion's ioMemory hardware.
Applications built with Fusion's software development kit can transparently access the host computer's DRAM and PCIe-connected flash storage as one large chunk of memory. This could transform a 24GB server into a 2.64TB monster with a single ioDrive2 Duo card, meaning entire application datasets could be stored in faster-than-disk memory.
It's much cheaper to do this than to buy the equivalent amount of DRAM and cluster hardware. Multiple ioDrive2 Duo cards can expand memory capacity past the 10TB mark.
The bulk of the data is kept in the non-volatile flash tier of memory, and chunks of it are moved into the smaller but much faster banks of DRAM as required - just as systems page data to and from disk and RAM in swap-based virtual memory schemes, only at a higher speed.
Less frequently accessed pages of data in DRAM are moved back to flash. Selected pages can be locked into the host's RAM providing, for example, guaranteed fast access to metadata. Applications designed in this fashion execute much faster than if their datasets were held on disk because there is no hard drive latency slowing their transfers.
Vivek Pai, Associate Professor of Computer Science at Princeton, said: “DRAM is not only a costly resource in modern computing, but the capacity DRAM offers is also extremely limited. Extended Memory offers a cost-effective alternative.”
App performance is also faster than if the datasets were stored in separate solid-state drives because the host computer's operating system is needed to transfer data to and from this hardware; the ioMemory gear instead slots the physical flash chips into the operating system's memory map for direct access by the processor, bypassing layers of software.
Seasoned programmers may baulk at the suggestion of sidestepping the host operating system, thus preventing its virtual memory manager from using the ioMemory card as another backing store for cold data. However, Brent Compton, Fusion's senior director of product management, was cock-a-hoop.
“The ability to optimise key operating system subsystems for flash with tools such as Extended Memory simplifies performance for developers in ways that were out of reach just a couple of years ago," he said.
At some time in the near future the idea of storing 20TB databases on disk, as we do now, will seem archaic. ®