[LSF/MM/BPF TOPIC] DAMON Requirements for Access-aware MM of Future

SeongJae Park
2025-01-01T22:20:53Z

Hi all,

I find a few interesting and promising projects that aim to do efficient access
pattern-aware memory management of near future, including below (alphabetically
sorted).

- CXL hotness monitoring unit
(https://lore.kernel.org/20241121101845.1815660-1-Jonathan.Cameron@huawei.com)
- Memory tiering fainess by per-cgroup control of promotion and demotion
(https://lore.kernel.org/20241108190152.3587484-1-kaiyang2@cs.cmu.edu)
- Promotion of unmapped page cache folios
(https://lore.kernel.org/20241210213744.2968-1-gourry@gourry.net)
- Slow-tier page promotion based on PTE A bit
(https://lore.kernel.org/20241201153818.2633616-1-raghavendra.kt@amd.com)
- Workingset reporting
(https://lore.kernel.org/20241127025728.3689245-1-yuanchu@google.com)

The goal of DAMON is to help accelerating such developments by being a
framework that can reduce fundamental efforts for monitoring memory access
patterns and managing memory using the information. AWS Aurora Serverless v2
and SK hynix are successfully using DAMON in the way for proactive memory
reclamation[1] and CXL memory tiering[2].

To further deliver such benefits for the ongoing and future projects, we need
to better understand what the projects really need, how DAMON can provide those
now or in future, and if there are alternatives better than DAMON. Regardless
of the conclusion about DAMON, the works apparently have common parts, so the
discussion will benefit all.

I propose to have the discussion at LSF/MM/BPF. In the session, I will briefly
introduce the works and possible DAMON usages, and continue the open discussion
for better understanding each other. The discussion will not be limited to
DAMON and abovely mentioned projects but possible alternatives and general
access-aware memory management projects. After the discussion, we will
hopefully find ways to efficiently collaborate, or at least do not disturb each
other.

[1] https://assets.amazon.science/ee/a4/41ff11374f2f865e5e24de11bd17/resource-management-in-aurora-serverless.pdf
[2] https://github.com/skhynix/hmsdk/wiki/Capacity-Expansion

Thanks,
SJ