Babel : notes sur la comptabilité des travaux

Avant de commencer à soumettre, il est important de bien comprendre la politique de l'IDRIS concernant la comptabilité des travaux sur la machine Babel. Celle-ci est en effet basée sur une comptabilisation des ressources réservées par le système, même si à l'exécution seule une fraction de ces ressources est réellement utilisée. Or, dans certains cas, il se peut que vous bloquiez plus de ressources/coeurs que ce que vous pensez utiliser. Cela est notamment dû à des spécificités de l'architecture matérielle et du système de Babel, qui sont explicitées ci-dessous.

La machine Blue Gene/P de l'IDRIS se compose physiquement de 160 partitions constituées d'un I/O node (nécessaire pour booter la partition) associé à 64 noeuds de calcul ou compute nodes (CN). Lorsqu'un code est sur le point de s'exécuter, le système lui alloue les ressources nécessaires et les lui dédie durant toute la durée d'exécution. Pour ce faire, en fonction du nombre de CN demandé par l'utilisateur, le système va réserver un nombre entier (1,2,3,etc…) de partitions qu'il va agréger entre elles pour former la partition d'exécution. Ainsi le nombre de CN réservés (i.e. constituant la partition d'exécution) est nécessairement un multiple de 64. De plus, le système ne peut créer que certaines tailles de partitions : 64, 128, 256, 512, 1024, 2048, 4096, 6144, 8192 ou 10240 CN (en cas de choix différent, le système tentera d'adapter cette valeur mais sans garanties). A l'exécution du code, tout ou partie des ressources réservées pourront être utilisées au libre choix de l'utilisateur, mais la comptabilité se fera sur la base des ressources réservées, quelles aient été ou non utilisées. Ainsi pour toute exécution, le nombre d'heures décomptées sera calculé de la façon suivante : nbre heures décomptées = nbre de coeurs réservés * tps elapsed d'exécution. Par exemple, un travail calculant sur 32 processus MPI pendant 1h sera facturé 256h (64 CN * 4 coeurs par CN * 1h). Cette situation est donc à éviter.

Le mode d'exécution (VN, DUAL, SMP) utilisé lors de l'exécution peut aussi avoir des conséquences importantes sur la facturation d'un job. Si vous avez besoin de beaucoup de mémoire par processus MPI (le mode VN qui permet de lancer 1 processus MPI par coeur ne donne accès qu'à maximum 512Mo) et que votre application n'est pas multi-threads ou OpenMP, vous pouvez utiliser par exemple le mode SMP qui place un seul processus MPI par CN, lui donnant accès à la totalité de la mémoire du CN (2Go). Mais, dans ce cas, pour un travail avec 256 processus MPI en mode SMP, la partition qui vous sera allouée sera de 256 CN. Pour un calcul durant 1h, il vous sera donc facturé 1024h (256 CN * 4 coeurs par CN * 1h).