Published September 1, 2015 | Version v1
Report Open

Integration of Key-Value Database in the Parameter Management System of the ALFA Framework

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

Description

Project Specification

The Parameter classes of the ALICE/FAIR (ALFA) software framework contain and manage all the numerical information needed to process the data. In order to analyse the raw or simulated data, several numerical parameters are needed, such as, calibration/digitization parameters or geometry positions of detectors. One common characteristic to most of these parameters is that they will go through several different versions corresponding, for example, to changes in the detectors’ definition or any other condition. This makes it necessary to have a parameter repository with a well-defined versioning system. The runtime database (Parameter manager in ALFA) is such a repository.  It knows about  all parameter containers needed for the actual analysis. The containers can be initialized automatically from one or more inputs, and written out to one output. Possible inputs/output mechanisms are ROOT files or ASCII files.

In this project a key-value database will be investigated as an optional IO for the runtime database.

Abstract

In this project, several key-value databases are compared for their performance to implement them into the ALFA framework. As the research shows that a RAMCloud key-value database is not suited for this project, a deep research is done into Riak instead. The case-study compares read vs write latency, optimal simulation sample size, different storage backends, object size influence, cluster size influence, different consistency settings and there performance impact, the impact of adding security, the overhead of using a Java tool and the availability and fault tolerance of Riak. All these measurements are discussed taking into account certain difficulties of simulating a key value database. This gives us a document showing the impact of certain design decisions in implementing a key-value store and will allow developers for future projects to easily ascertain how changes in the database will impact performance and how to easily use a tool developed during this project to make exact measurements.

Files

SummerStudentReport-TomVanSteenkiste.pdf

Files (1.5 MB)

Name Size Download all
md5:d2729f81c2934e947aede8fb91951db9
1.5 MB Preview Download