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 >