A Graph-Based Virtual-Memory Benchmark Description Language

Within the ParPerOS project, we develop new Virtual Memory (VM) primitives and interaction patterns. A big difficulty lies in evaluating our developments with respect to their applicability for different VM usage models.

How do we assess the provision and placement of memory?

We're looking to answer this question not with a simple benchmark suite, but with a program that can generate suitable benchmark programs for diverse parameters.

As a central entity, VMStress will feature "processes" with memory buffers, and payloads to be executed on these buffers.

In this thesis, you will take the first steps towards making VMStress real:

  1. Outline an interpreted (or, ideally, compiled) language for describing VM benchmarks.
  2. Implement basic operations so they can be executed by a benchmark, i.e.:
    • Create/Destroy Process
    • Alloc/Free Buffer
    • Access Memory

The scope of the work can be adapted to make it suitable for a Bachelor's or Master's thesis.