Published September 1, 2015 | Version v1
Report Open

Towards EOS Namespace Persistence in NVRAM: Hashtable Benchmarks

  • 1. CERN openlab Summer Student
  • 2. Summer Student Supervisor

Description

Project Specification

The objective of this project is to investigate the possibility of using persistent memory to store the EOS namespace. To this end, a hashtable amenable to transactional use is necessary. The hashtable needs to be benchmarked and integrated with the EOS source code. Furthermore, the hashtable should be validated on persistent memory.

Abstract

EOS[1] provides fast and reliable disk-only storage for data produced by the LHC experiments. In order to ensure fast access, EOS keeps a representation of the namespace in RAM along with a change-log file on disk. As a consequence, restoring the namespace from disk after a restart or a crash can take a relatively long time. Migration of the namespace to persistent memory (non-volatile RAM or NVRAM) will ensure persistence of data even in the event of a sudden power cut, as well as a considerable improvement on boot-up time. However, this migration requires that changes to the memory are done in a transactional fashion; in the event of a crash, we would like to recover with a consistent view of the namespace.

We present a hashtable that can be used to store contents persistently and transactionally, for use with the Mnemosyne[2] toolchain. To benchmark and validate this hashtable, an extensible benchmarking tool was written. We show that, outside Mnemosyne, our hashtable has a performance similar to the implementation currently in use. We furthermore integrate our own hashtable into the EOS code base.

Files

Files (501.9 kB)

Name Size Download all
md5:a0864924d84ae423dea84c83e8bef03e
501.9 kB Download