HadrienG2 / phalanstery

Experiments with user-mode tasking in Ada
GNU General Public License v3.0
4 stars 0 forks source link

NUMA & CPU affinity #11

Open HadrienG2 opened 8 years ago

HadrienG2 commented 8 years ago

On any system with CPU caches, moving threads from one CPU core to another is expensive. For NUMA systems, the cost becomes prohibitive. We really want to avoid that, and it should be possible to do so using the new Ada 2012 features. To be investigated!

HadrienG2 commented 8 years ago

Ideally, this could be turned into more general hardware topology support, where using the library a client could...

  1. Tell, using pluggable modules, which hardware is available and which memory hierarchy it follows (a la HWloc)
  2. Extract this information from a library-provided executor, much like one can currently ask for an executor's CPU core count.
HadrienG2 commented 8 years ago

Now that SMP code is isolated and explicitly marked as such, this task isn't so critical as to be needed for M1.