| Carl-Friedrich-Gauß-Fakultät | Informatik

Framework for a Dirty Memory structure recovery

BetreuerVasily Sartakov
ProfessorProf. Dr. Rüdiger Kapitza
IBR GruppeDS (Prof. Kapitza)
ArtBachelorarbeit, Masterarbeit, Projektarbeit


Non-volatile memory technologies are characterized by low endurance [1] and a read/write latency asymmetry [2]. The former feature makes high-availability (HA) techniques mandatory to use in the persistent environment, while the latter makes impossible to use existing approaches developed for systems with symmetric read/write latencies. To overcome these issue we proposed multisite synchronous VM replication [3] -- HA technique for persistent systems with asymmetric read/write latencies.

To increase the performance of replication we are using hardware-enabled scatter/gather lists. Within a single transaction, we are able to send only 32 regions, and grouping -- a process of merging all dirty pages into 32 dirty regions -- one of the key parts of our solution. Overhead of grouping has a significant impact on replication performance.

One of the possible ways to increase replication performance -- decrease scattering of dirty pages. Co-locating of dirty pages decreases overhead and increases replication performance. Scattering of dirty pages, in turn, depends on the behavior of an operating system and user-space software. Usual operating systems do not take into account importance of dirty page co-location, event projects like OSv which developed especially for use in virtual environments.

Under the umbrella of this concept, we offer several BA/MA projects aimed at the development of replication-aware VM software.

[1] S. Schechter, G. H. Loh, K. Strauss, and D. Burger. Use ecp, not ecc, for hard failures in resistive memories // in ACM SIGARCH Computer Architecture News, vol. 38, no. 3. ACM, 2010, pp. 141–152.

[2] M. K. Qureshi, M. M. Franceschini, A. Jagmohan, and L. A. Lastras. Preset: improving performance of phase change memories by exploiting asymmetry in write times // ACM SIGARCH Computer Architecture News, vol. 40, no. 3, pp. 380–391, 2012.

[3] V. A. Sartakov, R. Kapitza. Multi-site synchronous VM replication for persistent systems with asymmetric read/write latencies // The 22nd IEEE Pacific Rim International Symposium on Dependable Computing (PRDC 2017)


With our current approach, we want to link allocation mechanisms inside guest VM with statistic information about replication performance. Only Virtual Machine Monitor can provide statistical information about dirty pages since VMM makes a decision which dirty pages will be grouped. In contrast with VMM, guest VM software has many mechanisms of memory allocation: kernel allocator, libc allocator, program allocator, and all of them should be included into the framework.

The proper framework should identify a type of memory allocation (reason) and generate characteristic about this allocation (how many dirty pages was created and how often they were changed inside this region over the time).

aktualisiert am 09.10.2017, 11:27 von Vasily Sartakov