Multiprocess Affinity Mask for Multithreaded Workers
luav
released this
10 Jul 13:39
·
175 commits
to master
since this release
Features & Optimizations
- Multiprocess Affinity Mask for multithreaded workers with possibility to mask multiple cores / hardware threads or reserve them masking only the first logical CPU (physical hardware thread) to maximize CPU cache L1/2/3
- ExecPool initialization interface updated (afnstep replaced with AffinityMask)
- Available RSS/RAM in the OS is considered in memory constrains besides the nominal RAM
- Scheduling refined to reduce the number of rescheduling and execute huge jobs with minimal swapping
Fixes
- Fixed and optimized affinity masking to maximize the dedicate cache (logical cores enumeration fixed)
- Termination refined to not leave spawning non-registered workers on termination