Amazon Engineers Introduce "DAMON" For Linux Kernel To Monitor Data Accesses
Here is how Amazon's team explains DAMON:
DAMON is a kernel module that allows users to monitor the actual memory access pattern of specific user-space processes. It aims to be 1) accurate enough to be useful for performance-centric domains, and 2) sufficiently light-weight so that it can be applied online.
For the goals, DAMON utilizes its two core mechanisms, called region-based sampling and adaptive regions adjustment. The region-based sampling allows users to make their own trade-off between the quality and the overhead of the monitoring and set the upperbound of the monitoring overhead. Further, the adaptive regions adjustment mechanism makes DAMON to maximize the quality and minimize the overhead with its best efforts while preserving the users configured trade-off.
Among the expected uses of DAMON are for program behavior analysis, debugging, analyzing systems with over-committed memory use, optimizing software based upon actual data access patterns, and other software optimizations.
More details on this proposed DAMON implementation for the Linux kernel can be found via this request for comments.