NVIDIA Engineer Revives Work On Linux Proactive Memory Compaction

erek

8-D
2FA
Joined
Dec 19, 2005
Messages
18,706
Decent?

"Benchmarks shown by Gupta in the past have for instance shown a Java test setup with transparent huge-pages and requesting tons of huge-pages that the time dropped from 27 minutes to just over 3 minutes. Other benchmark numbers have also been promising out of the proactive memory compaction.

The proactive compaction behavior remains configurable via a new compaction_proactiveness flag for determining how aggressive the compaction should happen in the background. With the v5 patch, the configuration tunable is now exposed via sysctl and besides that are other minor code changes.

More details via the v5 patch message. Hopefully this proactive memory compaction support will see mainline soon, potentially even for Linux 5.8 if this latest round of code review proves fruitful."


https://www.phoronix.com/scan.php?page=news_item&px=NVIDIA-V5-Proactive-Compaction
 
I don't really understand what this is for but 27 minutes to 3 minutes is a HUGE gain.
 
I don't really understand what this is for but 27 minutes to 3 minutes is a HUGE gain.
"Memory compaction is a feature of the Linux kernel that makes larger, physically contiguous blocks of free memory available. Currently, the kernel uses an on-demand compaction scheme. Whenever a per-node kcompactd thread is woken up, it compacts just enough memory to make available a single page of the needed size. Once a page of that size is made available, the thread goes back to sleep. This pattern of compaction often causes a high latency for higher-order allocations and hurts performance for workloads that need to burst-allocate a large number of huge pages.

Experiments where compaction is manually triggered on a system with a fragmented memory state show that it could be brought to a fairly compacted memory state within one second for a 32GB system. Such data suggests that a proactive compaction scheme in the kernel could allow allocating a significant fraction of memory as huge pages while keeping allocation latencies low."

https://lwn.net/Articles/817905/

This is a pretty big deal, especially for AI as it will drastically increase the size of a dateset you can train from.
 
Back
Top