J'utilise un système de fichiers distribué en espace utilisateur (GlusterFS) et je voudrais être sûr que les processus GlusterFS auront toujours la puissance de calcul dont ils ont besoin.
Chaque nœud d'exécution de ma grille a 2 CPU, avec 4 cœurs par CPU et 2 threads par cœur (16 "processeurs" sont vus par Linux).
Mon objectif est de garantir que les processus GlusterFS disposent d'une puissance de traitement suffisante pour être fiables, réactifs et rapides. (Il n'y a pas de marketing ici, juste les rêves d'un administrateur système ;-)
Je considère deux points principaux :
- Processus GlusterFS
- E/S pour l'accès aux données (sur les disques locaux, ou les disques distants)
J'ai pensé à lier les instances GlusterFS à un "processeur" spécifique.
Je voudrais être sûr que :
- Aucun travail de grille n'aura d'impact sur le noyau et les instances GlusterFS.
- Les travaux des chercheurs ne seront pas affectés par les processus système (j'aimerais réserver un pool de cœurs à l'exécution des travaux et être sûr qu'aucun processus système n'utilisera ces CPU).
Mais qu'en est-il des E/S ? Comme nous manipulons une énorme quantité de données (plusieurs téraoctets), nous aurons beaucoup d'interruptions.
Comment puis-je répartir ces opérations sur mes processeurs ? Quelles sont les "meilleures pratiques" ?
Merci pour vos commentaires !