[talks] A Badam preFPO

Melissa Lawson mml at CS.Princeton.EDU
Mon Dec 6 14:08:23 EST 2010

Anirudh Badam will present his preFPO on Monday December 13th at 2.30PM in 
Room 401 (note room!). The members of his committee are:  Vivek Pai, advisor; 
Mike  Freedman and Jennifer Rexford, readers; David Walker and Andrea LaPaugh,  
non-readers.   Everyone is invited to attend his talk.  His abstract follows below.
"On Scaling the Memory-Storage Boundary"

In this work, we examine approaches for addressing the growing gap
between the main memory of today's systems and their storage
layers. The ever increasing amount of data and the need to access more
of it quickly has magnified the gap between the main memory and the
traditional secondary storage devices. The limited memory capacity of
servers coupled with the limits of RAM density imposes a large premium
on obtaining high in-memory hit-rates that are vital for today's
servers. In this thesis, we focus on two new methods to bridge this
gap: we create new approaches to increase the indexing efficiency of
secondary storage using current main memory limits, and we also
develop techniques to better integrate new high-speed storage
technologies like flash memory based solid state drives (SSD) and
phase change memory (PCM) into the memory hierarchy. In both cases, we
can increase effective memory/storage capacity and cost effectiveness
by at least an order of magnitude. First, we present the design and
implementation of HashCache, an efficient hash table representation
that can be used as an index for web-proxy caches, WAN accelerators,
data deduplicators, and memory object caches. HashCache presents a
flat, pointer-less, space-efficient and tlb-optimized hash table
implementation. Using HashCache, systems can increase the amount of
secondary storage that can be indexed for the same amount of main
memory by up to 20 times.

We also present the design and implementation of SSDAlloc, which
augments RAM with new high-density, high-performance and non-volatile
memory technologies. We specifically focus on hybrid RAM/SSD settings
and we believe that our techniques will be equally useful in hybrid
RAM/PCM settings. Using these new memory technologies via the
swap-layer, which works at a page granularity, can decrease the
performance and reliability of these memories, owing to their
well-known limited lifetime issues. Similarly, using these memories
via a filesystem/object-store interface would need intrusive
application modifications. Our technique eliminates these intrusive
modifications while providing high performance and reliability by
managing the SSD and the RAM at an object granularity entirely via
virtual memory. SSDAlloc uses the SSD as a log-structured object store
and the RAM as a compact object cache while the application operates
via the page-granular virtual memory. Finally, we demonstrate the
benefits of SSDAlloc by developing a HashCache based memory object
cache in a hybrid RAM/SSD setting using SSDAlloc. The same system
built using SSDAlloc performs up to 17.1 times better when compared to
the one built with the SSD as a swap-layer, and up to 3.5 times better
when compared to the one built with the SSD as a log-structured
swap-layer. Additionally, the system built using SSDAlloc writes up to
32 times less data when compared to both the SSD-swap based systems
while requiring only a few code modifications.

More information about the talks mailing list