eessd
For our empirical studies, we implemented eessd (energy-efficient storage system for databases) as a prototype, which can already leverage flash memory to improve the performance and energy efficiency of the system. Flash memory is a kind of non-volatile storage media, popularly used in memory cards and USB flash drives. In the desktop PC and server storage markets, solid-state disks based on flash memory (flash SSDs) are also gaining attention, due to their increasing storage capacity and decreasing price. In contrast to traditional hard disk drives (magnetic HDDs), flash SSDs have no mechanical parts and, therefore, allow much faster random accesses. Because flash memory is non-volatile, its active power is much lower (compared on a Watt/GB basis) than that of DRAM, for which a large portion of the active power is consumed to maintain the state of the chip. Compared with magnetic HDDs, flash SSDs are far more energy efficient, because energy-consuming mechanical movements are not involved for accessing data.
Database storage systems typically follow the classical two-layer architecture (a). To integrate flash memory into database storage systems, there are basically four architectural variants:
- Flash used as an alternative mass-storage media, typically in form of flash SSDs, replacing magnetic HDDs completely (b);
- Flash SSDs coexist with magnetic HDDs to accommodate some portion (or partitions) of data (c);
- Flash used as OS-managed extended memory (d);
- Flash as a caching layer between the buffer layer and the disk layer (e);
Architectural variants a, b, and e are already supported by eessd. Currently, various optimization techniques for (e) are being studied and evaluated in our research group. For further information, please feel free to contact us.