Changes between Version 6 and Version 7 of TME2-2013


Ignore:
Timestamp:
Oct 16, 2013, 2:16:56 PM (12 years ago)
Author:
almaless
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TME2-2013

    v6 v7  
    2020Pour cette expérimentation, nous utilisons une version d'Almix dont la notion de threads et la gestion de l’espace virtuel de processus sont tout à fait similaires à celles de Linux. Cette version d'Almix implémente les trois stratégies First-Touch, Interleave et Auto-Next-Touch. La stratégie Auto-Next-Touch y est appliquée par défaut, mais ce choix peut être désactivé et l’une des deux autres stratégies peut être activée dynamiquement (par une granularité de thread) à deux moments précis : lors de la création d’un thread et lors de la bifurcation d’un processus (appel système ''fork''). Sans indication explicite lors de ces deux appels systèmes, la stratégie du thread créateur est héritée par le nouveau thread et elle est conservée lors de la transformation d’un processus (appel système ''exec'').
    2121
    22 Pour permettre au programmeur de choisir l'une des trois stratégies d'affinité mémoire proposées par Almix pour un nouveau processus, la bibliothèque de threads POSIX (libpthread) d'ALMOS a été étendue en ajoutant la fonction ''pthread_attr_setforkinfo_np''. Cette fonction doit être appelée avant la bifurcation d'un nouveau processus. Elle prend en argument un mask représentant une association de plusieurs drapeaux permettant d'exprimer quelle stratégie d'affinité mémoire Almix doit appliquer pour le nouveau processus. En particulier, deux drapeaux sont à utiliser pour cette expérimentation :
     22Pour permettre au programmeur de choisir l'une des trois stratégies d'affinité mémoire proposées par Almix pour un nouveau processus, la bibliothèque de threads POSIX (libpthread) d'ALMOS a été étendue en ajoutant la fonction ''pthread_attr_setforkinfo_np''. Cette fonction doit être appelée avant la bifurcation d'un nouveau processus. Elle prend en argument un mask représentant une association de plusieurs drapeaux permettant d'exprimer quelle stratégie d'affinité mémoire Almix doit appliquer pour le nouveau processus. En particulier, les drapeaux suivants sont à utiliser pour cette expérimentation :
    2323
    2424* ''PT_FORK_SET_AFFINITY'' : ce drapeau permet d'activer le contrôle de l'affinité mémoire. Il doit être positionné quelques soit le choix de la stratégie d'affinité mémoire souhaitée.