Memory Diplomat
The project Memory Diplomat is part of the DFG Priority Program 2377 “Disruptive Memory Technologies” and is a joint project with the DAES Group of Jian-Jia Chen at TU Dortmund University.
Modern computing systems abstract memory access to a very narrow interface, which essentially consists of only read and write primitives. Originally meant to ease the programmer’s efforts, the existing interfaces cannot keep up with the memory technologies that we see today and may become the performance obstacle of tomorrow. To illustrate, even widely deployed features, such as deep cache hierarchies or NUMA architectures, require deep a priori knowledge; explicit programming effort; and tailor-made libraries (such as libnuma) to actually leverage the hardware potential (e.g, through cache- or NUMA-aware algorithms). The best existing alternative —which has been attempted many times— is to have the operating system guess application characteristics (with often unsatisfactory results).
With Memory Diplomat, we aim for a memory interface that makes characteristics transparent to hard- and software. With a broadened interface, applications can express their true characteristics or intentions to the Memory Diplomat. The Memory Diplomat, in turn, can leverage this information to get the best out of the actual memory types underneath. The use of this broadened interface remains optional for every application, in which case the underlying operating system can fall back to “guessing” as before.