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 |