Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 17b8cceb authored by Thierry's avatar Thierry
Browse files

Improve affinity integration.

 - Setup node affinity per task_team
 - Polish push task to push on the i-th numa node of the team for clause 'affinity(node: i)'
 - Remove_my_task: basic hierarchical remove of task from local queues (core/NUMA)
 - Steal_task: basic hierarchical steal by first visiting local queues (core/NUMA) then random numa queue

It remains to implement:
- strict affinity clause-> using private queue per ressources
- having queue selection based on real ressource where thread is currently running (sched_getcpu)
parent ceaf3d1b
No related branches found
No related tags found
Loading
Loading
  • thierry @thgautie ·
    Owner

    Philippe, J'ai poussé une version basic de la hiérarchie (remove_my_task + steal_task). Il faudrait être capable de garantir que les structures dans task_team ne sont initialisées qu'une seule fois (les queues). Les queues NUMA devraient être allouées par team non pas partagées - idem queue / core A bien définir: sémantique de affinity(core: i) (ou thread ?) et affinity(node: i) == qu'elle est le sens du i. Ressource physique i ou la i-ème dans la team. Actuellement ce que j'ai poussé -> i-ème dans la team (pour les nœuds).

    Reste à utiliser sched_getcpu dans remove_my_task et steal_task...

  • Maintainer

    Argh j'ai fait toute les modifs dont tu parles, mon push sur hws ça préparait justement ça... J'ai poussé mon implem ici, je suis un peu fatigué pour faire le merge/rebase maintenant.

    Faut aussi que je regarde en détails les perfs, parce que ça marche mais c'est vraiment pas terrible pour l'instant.

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment