Re: [PATCH v22 00/18] Introduce Data Access MONitor (DAMON)
From: SeongJae Park
Date: Tue Nov 17 2020 - 03:06:23 EST
Another week, another ping. I'm waiting for _any_ comments.
Thanks,
SeongJae Park
On Wed, 11 Nov 2020 17:41:13 +0100 SeongJae Park <sjpark@xxxxxxxxxx> wrote:
> Hi, I'd like to remind you that I'm still waiting more reviews. Any comments
> are welcome.
>
>
> Thanks,
> SeongJae Park
>
> On Tue, 20 Oct 2020 10:59:22 +0200 SeongJae Park <sjpark@xxxxxxxxxx> wrote:
>
> > From: SeongJae Park <sjpark@xxxxxxxxx>
> >
> > Changes from Previous Version (v21)
> > ===================================
> >
> > This version contains below minor changes.
> >
> > - Fix build warnings and errors (kernel test robot)
> > - Fix a memory leak (kmemleak)
> > - Respect KUNIT_ALL_TESTS
> > - Rebase on v5.9
> > - Update the evaluation results
> >
> > Introduction
> > ============
> >
> > DAMON is a data access monitoring framework 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, several memory management mechanisms such as
> > reclamation and THP can be optimized to aware real data access patterns.
> > Experimental access pattern aware memory management optimization works that
> > incurring high instrumentation overhead will be able to have another try.
> >
> > Though DAMON is for kernel subsystems, it can be easily exposed to the user
> > space by writing a DAMON-wrapper kernel subsystem. Then, user space users who
> > have some special workloads will be able to write personalized tools or
> > applications for deeper understanding and specialized optimizations of their
> > systems.
> >
> > Evaluations
> > ===========
> >
> > We evaluated DAMON's overhead, monitoring quality and usefulness using 24
> > realistic workloads on my QEMU/KVM based virtual machine running a kernel that
> > v22 DAMON patchset is applied.
> >
> > DAMON is lightweight. It increases system memory usage by 0.25% and slows
> > target workloads down by 0.89%.
> >
> > DAMON is accurate and useful for memory management optimizations. An
> > experimental DAMON-based operation scheme for THP, 'ethp', removes 81.73% of
> > THP memory overheads while preserving 95.29% of THP speedup. Another
> > experimental DAMON-based 'proactive reclamation' implementation, 'prcl',
> > reduces 91.30% of residential sets and 23.45% of system memory footprint while
> > incurring only 2.08% runtime overhead in the best case (parsec3/freqmine).
> >
> > NOTE that the experimentail THP optimization and proactive reclamation are not
> > for production but only for proof of concepts.
> >
> > Please refer to the official document[1] or "Documentation/admin-guide/mm: Add
> > a document for DAMON" patch in this patchset for detailed evaluation setup and
> > results.
> >
> > [1] https://damonitor.github.io/doc/html/latest-damon/admin-guide/mm/damon/eval.html
> >