snmalloc icon indicating copy to clipboard operation
snmalloc copied to clipboard

WIP: DecayRange

Open mjp41 opened this issue 3 years ago • 2 comments

Implemenation of a range that gradually releases memory back to the OS. It quickly pulls memory, but the dealloc_range locally caches the memory and uses Pal timers to release it back to the next level range when sufficient time has passed.

  • [x] codify that parent range needs to be concurrency safe.
  • [x] Remove unused code

mjp41 avatar Mar 21 '22 16:03 mjp41

So the perf of this is okay, but it increases memory footprint for some examples too much. I have factored out the primary changes to enable this into #491, so that can be landed, and the perf of this can be fixed and landed at a later point.

mjp41 avatar Mar 23 '22 16:03 mjp41

This paper has a really interesting approach to work stealing of chunks between threads: https://dl.acm.org/doi/10.1145/3533724

I think we could use some of the ideas in this paper, to make the decay range perform better.

mjp41 avatar May 13 '22 13:05 mjp41