Je trouve depuis très longtemps qu'il y a très souvent dans le discours des crunchers et dans le monde de boinc une confusion entre le concept de "tâche" (task) et d' "unité de travail" / UT (work unit / WU).

J'ai cherché une source d'information fiable et non équivoque sur le net (dont des wiki boinc) et je n'ai en ai pas trouvé, j'ai même constaté que la confusion est parfois entretenue sur ces wikis.

Je livre ici ce que m'a appris mon expérience mais je m'empresserai de le corriger si cela s'avérait inexact.


Une tâche : il s'agit du plus petit objet qui définit ce que va calculer une application donnée pour un projet donné sur un ordinateur (hôte de calcul) donné. Elle a (un nom et) un ID unique qui l'identifie pour le projet / appli / ordi.

Cela correspond au jeu de paramètres sur lesquel l'application va être exécutée par l'ordinateur, puisque chaque tâche envoyée à un ordinateur par le serveur du projet Boinc n'est pas une nouvelle application en elle-même (sauf si changement de version) mais plutôt une déclinaison de l’exécution d'une application donnée. Ce qui fait qu'à chaque nouvelle tâche de cette application exécutée sur l'ordinateur seul un petit volume de donnée (fichier de paramètres) est (généralement) téléchargé par l'ordinateur hôte.

Je ne parle pas ici des projets / application à base de machine virtuelle sous VirtualBox, ça peut être (beaucoup) plus compliqué et ça dépend des projets.

Elle contient des informations précises sur l'application, sa version, l'ordinateur, l'horodatage (envoi, exécution, durée), l'exécution (status, FLOPS, mémoire) et le résultat des calculs (statuts, crédits accordés et log d'exécution / output). Attention ce n'est pas le résultat du calcul lui-même, qui est un autre fichier de données renvoyé par l'ordinateur vers le serveur du projet.

 

Nom    universe_bh2_180328_236_3648446352_20000_1-999999_450300_1
Unité de travail (WU)    15830048
Créé    16 Apr 2018, 6:18:27 UTC
Envoyé    9 May 2018, 8:39:25 UTC
Date limite de rapport    23 May 2018, 8:39:25 UTC
Reçu    9 May 2018, 16:32:39 UTC
État du serveur    Sur
Résultats       Succès
État du client    Fait
État à la sortie    0 (0x0)
ID de l'ordinateur    492077
Temps de fonctionnement       4 heures 9 min 19 sec
Temps de CPU    3 heures 51 min 19 sec
Valider l'état    Valide
Crédit    666.67
Device peak FLOPS    2.48 GFLOPS
Version de l'application    Universe BHspin v2 v0.05
Peak working set size    5.12 MB
Peak swap size       2.33 MB
Peak disk usage    1.59 MB
Stderr output    <core_client_version>7.4.42</core_client_version>
   <![CDATA[
   <stderr_txt>
   14:49:01 (2060): called boinc_finish(0)
   </stderr_txt>
   ]]>
 

Une unité de travail (UT) : il s'agit d'un objet de niveau supérieur qui définit à quel(s) ordinateur(s) une même tâche a été envoyée (un ou plusieurs) en fonction du quorum de l'application. Quand je dis "une même tâche" j'entends "un même jeu de paramètres pour exécuter l'application" puisque chaque tâche de la WU aura un ID distinct - sur un ordinateur différent à chaque fois, une même tâche n'étant jamais renvoyée à un même ordinateur, ça n'aurait pas d'intérêt pour le projet.

Ainsi une UT regroupe le détail de l'exécution d'une tâche pour chaque ordinateur concerné, quand il y en a plusieurs - les projets à quorum de 1 ne l'envoient qu'à un seul ordinateur.

Le nom de la WU est donc logiquement la racine du nom de la tâche, chaque tâche en étant une déclinaison : par exemple ici "_1" est rajouté à droite du nom de la tâche et il y a une autre tâche "_0".

Elle contient des informations sur l'application, le quorum, les maximum de tâches autorisés (erreur max, total max et succès max) ainsi que la liste des tâches associées pour chaque ordinateur hôte. On voit bien que deux tâches d'une même unité de travail peuvent avoir des durées d'exécution très variables (en fonction du CPU, etc) mais que le crédit attribué est unifié (*).

 

nom    universe_bh2_180328_236_3648446352_20000_1-999999_450300
applications    Universe BHspin v2
créé    15 Apr 2018, 18:33:48 UTC
résultats canoniques    35706143
crédit accordé    666.67
quorum minimum    2
réplication initiale    2
nombre maximum de tâches en erreur/totales/succès    4, 10, 2

Tâche    Ordinateur    Envoyé    Délai reporté
   ou date limite
   État    Temps de
   fonctionnement

   (sec)
   Temps de
   CPU

   (sec)
   Crédit    Application
35706143    490352    9 May 2018, 8:39:15 UTC    9 May 2018, 10:04:01 UTC    Terminé et validé    4,418.52    4,402.32    666.67    Universe BHspin v2 v0.05
35706144    492077    9 May 2018, 8:39:25 UTC    9 May 2018, 16:32:39 UTC    Terminé et validé    14,959.71    13,879.38    666.67    Universe BHspin v2 v0.05
 


(*) je ne connais pas les règles d'attribution des crédits mais il y a clairement un perdant dans l'affaire, à moins que ce soit l'autre qui est gagnant ! (qui a dit que ça revenait au même ? ;) )

 

Pour en discuter plus avant, direction le forum de l'AF sur ce sujet.