Je crée ce sujet car 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 ?

)
A vot' bon coeur m'sieurs dames.