mm

DAMON News List

Below is a list of news around DAMON project. This list is not exhaustive but just a DAMON maintainer’s collection of news. If you find a news that should be added to this list, please let us know at sj@kernel.org and/or damon@lists.linux.dev. 2023 2023-11-24: A paper exploring DAMON and finding grateful areas to improve has uploaded to arXiv. 2023-11-17: Livestreamed video for DAMON talk at kernel summit 2023 is now available at YouTube.

DAMON-based System Optimization Guide

This document helps you estimating the amount of benefit that you could get from DAMON-based system optimizations, and describes how you could achieve it. Check The Signs No optimization can provide same extent of benefit to every case. Therefore you should first guess how much improvements you could get using DAMON. If some of below conditions match your situation, you could consider using DAMON. Low IPC and High Cache Miss Ratios.

DAMON Evaluation

DAMON is lightweight. It increases system memory usage by 0.39% and slows target workloads down by 1.16%. DAMON is accurate and useful for memory management optimizations. An experimental DAMON-based operation scheme for THP, namely ‘ethp’, removes 76.15% of THP memory overheads while preserving 51.25% of THP speedup. Another experimental DAMON-based ‘proactive reclamation’ implementation, namely ‘prcl’, reduces 93.38% of residential sets and 23.63% of system memory footprint while incurring only 1.22% runtime overhead in the best case (parsec3/freqmine).

DAMON 테스트 패키지가 GPL v2 로 릴리즈 되었습니다

DAMON 은 kselftest 와 kunit 에 기반한 여러 테스트를 자신의 패치셋에 포함시켜 두고 있습니다. 커널 트리에 위치하는 테스트는 짧은 수행시간만 가지는게 바람직하므로, 시간을 오래 소요하는 테스트들을 패키지화 해서 저희 회사 내에서만 사용해 오고 있었습니다. 테스트는 좋은 문서로 사용될 수 있고 컨트리뷰터들에게도 필요하죠. 그런 이유로, 이 패키지를 오픈소스로 만들겠다고 지난 커널 서밋 발표에서 이야기 했었습니다 (https://linuxplumbersconf.org/event/7/contributions/659/). 어제, 이 패키지 를 마침내 GPL v2 라이센스의 오픈소스로 릴리즈 했습니다. 이제 DAMON 인터페이스를 이해하고 여러분의 기계 위에서 스스로 DAMON 을 테스트 하는데 이 패키지를 사용하실 수 있습니다.

DAMON 쇼케이스 웹사이트를 열었습니다

DAMON 소개를 위한 웹사이트[1] 를 열었습니다. DAMON 공식 문서[2], 실제에 가까운 여러 워크로드의 힙[3], mmap() 된 영역[4], 그리고 스택[5] 에 대한 히트맵 포맷의 동적 액세스 패턴들, 동적 워킹셋 사이즈의 분포[6] 와 시간대에 따른 워킹셋 사이즈의 변화양상[7], 그리고 성능 테스트 결과[8] 를 확인해 보실 수 있습니다. [1] https://damonitor.github.io [2] https://damonitor.github.io/doc/html/latest [3] https://damonitor.github.io/test/result/visual/latest/heatmap.0.html [4] https://damonitor.github.io/test/result/visual/latest/heatmap.1.html [5] https://damonitor.github.io/test/result/visual/latest/heatmap.2.html [6] https://damonitor.github.io/test/result/visual/latest/wss_sz.html [7] https://damonitor.github.io/test/result/visual/latest/wss_time.html [8] https://damonitor.github.io/test/result/perf/latest/html/index.html

DAMON: Data Access Monitor

With increasingly data-intensive workloads and limited DRAM capacity, optimal memory management based on dynamic access patterns is becoming increasingly important. Such mechanisms are only possible if accurate and efficient dynamic access pattern monitoring is available. DAMON is a Data Access MONitoring framework subsystem for the Linux kernel developed for such memory management. It is designed with some key mechanism (refer to Design for the detail) that make it accurate (the monitoring output is useful enough for DRAM level memory management; It might not be 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 regardless of the size of target workloads).