DAMON: Data Access MONitoring and Access-aware System Operations¶
DAMON is a Linux kernel subsystem that provides a framework for data accessmonitoring and the monitoring results based system operations. The coremonitoringmechanisms of DAMON make it
accurate (the monitoring output is useful enough for DRAM level memorymanagement; It might not appropriate for CPU Cache levels, though),
light-weight (the monitoring overhead is low enough to be applied online),and
scalable (the upper-bound of the overhead is in constant range regardlessof the size of target workloads).
Using this framework, therefore, the kernel can operate system in anaccess-aware fashion. Because the features are also exposed to theuserspace, users who have special information abouttheir workloads can write personalized applications for better understandingand optimizations of their workloads and systems.
For easier development of such systems, DAMON provides a feature calledDAMOS (DAMon-based Operation Schemes) in additionto the monitoring. Using the feature, DAMON users in both kernel anduserspaces can do access-aware system operationswith no code but simple configurations.
To utilize and control DAMON from the user-space, please refer to theadministrationguide.
If you prefer academic papers for reading and citations, please use the papersfromHPDC’22 andMiddleware19 Industry .Note that those cover DAMON implementations in Linux v5.16 and v5.15,respectively.