Re: [PATCH v20 00/15] Introduce Data Access MONitor (DAMON)
From: SeongJae Park
Date: Thu Aug 20 2020 - 03:28:28 EST
On Mon, 17 Aug 2020 12:51:22 +0200 SeongJae Park <sjpark@xxxxxxxxxx> wrote:
> From: SeongJae Park <sjpark@xxxxxxxxx>
>
> Changes from Previous Version
> =============================
>
> - Place 'CREATE_TRACE_POINTS' after '#include' statements (Steven Rostedt)
> - Support large record file (Alkaid)
> - Place 'put_pid()' of virtual monitoring targets in 'cleanup' callback
> - Avoid conflict between concurrent DAMON users
> - Update evaluation result document
>
> Introduction
> ============
>
> DAMON is a data access monitoring framework subsystem for the Linux kernel.
> The core mechanisms of DAMON called 'region based sampling' and 'adaptive
> regions adjustment' (refer to 'mechanisms.rst' in the 11th patch of this
> patchset for the detail) make it
>
> - accurate (The monitored information is useful for DRAM level memory
> management. It might not appropriate for Cache-level accuracy, though.),
> - light-weight (The monitoring overhead is low enough to be applied online
> while making no impact on the performance of the target workloads.), and
> - scalable (the upper-bound of the instrumentation overhead is controllable
> regardless of the size of target workloads.).
>
> Using this framework, therefore, the kernel's core memory management mechanisms
> such as reclamation and THP can be optimized for better memory management. The
> experimental memory management optimization works that incurring high
> instrumentation overhead will be able to have another try. In user space,
> meanwhile, users who have some special workloads will be able to write
> personalized tools or applications for deeper understanding and specialized
> optimizations of their systems.
DAMON will be presented in the next week LPC[1]. To be prepared for a screen
sharing error (if I get no such error, I will do a live-demo), I recorded a
simple demo video. I would like to share it here to help your easier
understanding of DAMON.
https://youtu.be/l63eqbVBZRY
[1] https://linuxplumbersconf.org/event/7/contributions/659/
Thanks,
SeongJae Park