FAQ Technique > Tutoriels

[TUTO] FIGHTS : Comment réaliser un lâcher

(1/7) > >>

nabz:
Préambule : Rassurons tout de suite les âmes sensibles. :calin:

L'objet de ce tutoriel n'est pas d'inciter nos membres à pratiquer certaines techniques sonores et produisant des gaz lourds :cavapobienmwa:, susceptibles de nuire gravement aux enfants en bas âge, aux animaux domestiques, et aux plantes vertes.  :D


A quoi servent les "fights" ?
Les "fights" ou compétitions entre équipes mondiales sont des occasions de découvrir de nouveaux projets, d'apprendre à mieux connaitre les membres de son équipe, de participer avec eux à une action collective dans une ambiance festive. :cetaboir:

Les compétitions sont aussi l'occasion de mieux faire connaitre son équipe (il existe près de 100 000 équipes Boinc) et, en démontrant son dynamisme et sa cohésion, de susciter l'envie de la rejoindre. :love:

Qu'est-ce qu'un lâcher ?
Lors des compétitions l'objectif est faire valider, durant une période définie, le plus grand nombre possible d'UT (Unités de Travail, ou WU en anglais).

Les compétitions de courte durée (5 jours, par exemple), telles que les "challenges BoincStats" (*) se jouent en grande partie sur la capacité des équipes à réaliser des "lâchers".

Réaliser un lâcher consiste à stocker à l'avance des UT, à les calculer partiellement ou totalement (sans faire valider les résultats), puis à débloquer au moment souhaité la validation des résultats.

Plus les membres d'une équipe se concertent pour mettre en œuvre des lâchers, plus ils peuvent être puissants.

Les lâchers peuvent intervenir dès le début, en cours, ou à la fin de la compétition. :gniak:

(*) Challenges BoincStats : compétitions créées par des équipes ou par des projets, et dont BoincStats assure les statistiques.

Quel est l'intérêt des lâchers ?
En ne débutant les calculs que le jour J de début de compétition, une équipe ne commencera à marquer des points qu'au bout d'une durée égale à durée des calculs (plusieurs heures), majorée du pending (délai d'attente de validation des résultats par le projet). Le pending peut varier, selon les projets, de quelques minutes à plusieurs jours (parfois plusieurs semaines).

A l'inverse, une équipe qui réalisera un lâcher initial important pourra commencer à faire valider, dès le jour J de début de compétition, l'équivalent de plusieurs jours de calculs. De plus, en renvoyant des UT plus "anciennes", dont la DL (Date Limite) est plus proche, elle augmentera les chances que ces UT soient validées avant la fin de la compétition.

Cet écart de crédits creusé dès le 1er jour de compétition sera le plus souvent impossible à combler, en raison de la faible durée de la compétition, même si les équipes adverses disposent d'une puissance de calcul plus élevée.

En outre, les lâchers rendent la production des équipes plus imprévisibles, ce qui rend plus difficiles les tactiques des équipes :spown: et pimente les compétitions.

Les lâchers, est-ce de la triche ?
Les lâchers ne portent pas préjudice aux projets, puisqu'ils ne dégradent pas la qualité des résultats renvoyés.

Les lâchers ne portent pas préjudice aux autres équipes, puisque la technique est utilisable par toutes les équipes, et qu'elle ne modifie pas le volume de crédit reçus par rapport au volume de calculs réalisés, que ce soit pour l'équipe qui les pratique ou pour autres les équipes.

Le lâchers sont donc des techniques de compétition, et non des tricheries. :ange:


1 - COMMENT SE CONSTITUER UNE RESERVE D'UT

Vidage du cache (période type : de J-15 à J-5)
Pour pouvoir commencer à constituer une réserve d'UT et débuter des calculs anticipés, il est nécessaire d'avoir "vidé son cache" (calculé toutes ses UT en réserve) sur les autres projets.

Une dixaine de jour avant de début de la période de constitution de réserve (durée à ajuster selon la réserve utilisée), régler dans BoincManager les valeurs de réserves mini et maxi à 0, et régler tous les projets sur "Pas de nouveau travail".

Choix d'un projet de secours
Choisir parmi des projets préférés un projet fiable (UT toujours disponibles), qui sera utilisé comme projet de secours (le régler sur "partage de ressources" = 0 et sur "Autoriser le nouveau travail"). Le rôle de ce projet sera, jusqu'à la fin de la compétition, d'éviter que la machine se retrouve à sec :ptintumafepeur:. en cas de pénurie temporaire d'UT. Le risque de pénurie est en effet d'autant plus élevé que la compétition rencontre du succès.

Constitution de la réserve (période type : de J-5 à J-1)
Cette phase peut débuter dès que nom du projet est connu (5 jours par exemple avant le jour J de début officiel de la compétition).

Choisir dans les préférences du projet l'application dont les caractéristiques sont les plus favorables.

Suspendre les UT restantes des autres projets (hors compétition) dont la DL excède la date de fin de compétition. Ces UT pourront être reprises et terminées plus tard.

Repasser le projet de secours sur "Pas de nouveau travail".

Augmenter les réserves mini et maxi à une valeur permettant d'atteindre la fin de compétition (*), régler le projet en compétition sur "partage de ressources" à 100 et sur "Autoriser le nouveau travail". Vérifier que des UT se chargent, que les calculs démarrent. :hyperbon:

Vérifier également que la DL des UT reçues est correcte, en effet :
- il est inutile de stocker des UT dont la DL se situe avant la date de début de compétition
- l'idéal est de stocker des UT dont la DL se situe entre les dates de début et de fin de compétition
- il est plus incertain de stocker des UT dont la DL se situe après la date de fin de compétition

Activer la solution de rétention d'UT choisie (les différentes solutions sont expliquées au § 2) sur le projet en compétition.

(*) La réserve pourra être limitée par le nombre maximum d'UT distribuées par le projet par machine.

Période de validation des UT (période type : de J à J+4)
Cette phase débute le jour J de début officiel de la compétition.

Désactiver la solution de rétention d'UT choisie, ce qui provoquera le lâcher.

Penser à ajuster une fois par jour sur le BoincManager les réserves mini et maxi, en accord avec la durée restante de compétition.

En cas de baisse trop importante de la réserve par pénurie d'UT, passer le projet de secours sur "Autoriser le nouveau travail".


2 - COMMENT STOCKER DES UT CALCULEES

Il existe 3 méthodes permettant de retenir des UT totalement ou partiellement calculées.

2.1 - Solution 1 : Suspendre l'activité réseau

Méthode :
- blocage : dans le menu "Activité" du BoincManager, choisir "Activité réseau suspendue"
- déblocage : dans le menu "Activité" du BoincManager, choisir "Activité réseau selon les préférences"

Avantages :
- solution simple, utilisant le BoincManager
- solution adaptée aux applications qui ne gèrent pas correctement l'indication d'avancement du calcul/temps restant des UT

Inconvénients :
- solution bloquant tous les projets
- solution bloquant également le chargement de nouvelles UT. Il est nécessaire d'avoir pu constituer une réserve d'UT suffisante avant de procéder au blocage
- solution entrainant la perte des UT à DL (Date Limite) courte, qui ne pourront pas être renvoyées à temps
- risque de retards au déblocage, en cas de saturation de la liaison internet ou du serveur


2.2 - Solution 2 : Bloquer les échanges avec le projet

Pour les utilisateurs de Windows (Vista ou plus récent) une méthode s'appuyant sur la création d'une règle de blocage dans le pare-feu est présentée en détails ici.

Les autres utilisateurs peuvent utiliser la méthode suivante.

Méthode :
- blocage : ajout de l'adresse IP du serveur du projet dans le ficher "hosts" des adresses bloquées (méthode présentée ici).
- déblocage : suppression de l'adresse IP du serveur du projet dans le ficher "hosts" des adresses bloquées

Avantages :
- solution ne bloquant que le projet souhaité
- solution adaptée aux applications qui ne gèrent pas correctement l'indication d'avancement du calcul/temps restant des UT

Inconvénients :
- solution nécessitant une modification sur un fichier système
- solution bloquant également le chargement de nouvelles UT. Il est nécessaire d'avoir pu constituer une réserve d'UT suffisante avant de procéder au blocage
- solution entrainant la perte des UT à DL courte, qui ne pourront pas être renvoyées à temps
- risque de retards au déblocage, en cas de saturation de la liaison internet ou du serveur


2.3 - Solution 3 : Suspendre les UT presque terminées

Méthode :
- blocage : commande "suspendre" les UT lorsqu'elles approchent la fin de calcul. Cette suspension peut être manuelle ou automatisée si on utilise BoincTasks (voir le paragraphe création de règles du tutoriel sur BoincTasks)
- déblocage : commande "reprendre" les UT (après suppression éventuelle de la règle BoincTasks),

Avantages :
- solution ne bloquant que le projet souhaité
- solution préservant le chargement de nouvelles UT (à vérifier : peut ne pas fonctionner avec certaines versions Boinc ou certains projets)
- solution évitant la perte des UT à DL (Date Limite) courte, qui pourront être renvoyées à temps (déblocage manuel ou automatisé)

Inconvénients :
- solution lourde (si manuelle), particulièrement avec plusieurs machines (*), ou nécessitant d'utiliser BoincTasks
- solution inadaptée aux applications qui ne gèrent pas correctement l'indication d'avancement du calcul/temps restant des UT
- risque de retards au déblocage, en cas de saturation de la liaison internet ou du serveur

(*) Même si Chuck Norris m'expliquait récemment que "c'est rien que de la rigolade". :D


2.4 - Quelle serait la solution idéale ?

On peut constater que toutes ces solutions ont des inconvénients. Une solution idéale cumulerait les avantages de ces solutions, en évitant leurs inconvénients. :love:

Méthode :
- blocage : cliquer sur un bouton "blocage"
- déblocage : cliquer sur un bouton "déblocage"

Avantages :
- solution simple, qui utiliserait le BoincManager
- solution ne bloquant que le projet souhaité
- solution adaptée aux applications qui ne gèrent pas correctement l'indication d'avancement du calcul/temps restant des UT
- solution préservant le chargement de nouvelles UT
- solution évitant la perte des UT à DL (Date Limite) courte, qui seraient renvoyées à temps (déblocage automatique)
- solution évitant le risque de retards au déblocage, en cas de saturation de la liaison internet ou du serveur

Inconvénients :
- aucun :p


EDIT : Ajouté la méthode proposée par kipoos, utilisant le pare-feu Windows.

nabz:
[Suite du TUTORIEL]

3 - CAS PARTICULIER : LE PENTATHLON

Le pentathlon a été créé par SG (Seti.Germany), qui en assure l'animation et les statistiques. Il se déroule chaque année début mai.

C'est un cas particulier de compétition, puisqu'il comporte 5 épreuves (chacune des épreuves étant équivalente à un challenge), dont une épreuve pour GPU (exploitant les processeurs des cartes graphiques compatibles).

Contrairement à son homologue sportif où les épreuves se déroulent l'une après l'autre, le pentathlon SG prévoit que les 5 épreuves se déroulent en partie en parallèle, selon un calendrier fixé et publié longtemps à l'avance.

Les projets retenus ne sont connus par contre que 5 jours à l'avance (à l'issue d'une phase de vote par les représentants des équipes participantes).

Chaque épreuve donnent lieu à un classement par points. Le classement général est obtenu en faisant les totaux des points par projets. En fin d'apreuve est organisée une cérémonie de remise de médailles. :sun:

Ces différences de caractéristiques entrainent quelques spécificités par rapport aux challenges "simples".


3.1 - Les spécificités du Pentathlon

Stratégie
Dans un challenge, la stratégie est simple : arriver en tête. :cavachier:

Dans le pentathlon, les équipes peuvent viser des résultats au classement général, mais aussi viser des résultats par épreuves. Les "petites" équipes organisées et motivées ont ainsi toutes leurs chances de briller sur un podium (et l'expérience montre qu'elles ne s'en privent pas ! :jap:).

Communication
Dans un challenge, il est possible de communiquer à l'avance aux membres, en une seule fois, toutes les informations importantes : projet, date de début, date de fin.

Dans le pentathlon, les informations ne sont disponibles que tardivement et au compte goutte. De plus elles doivent être prises en compte immédiatement, ce qui complique encore plus la communication interne des équipes.

Par exemple, lorsque le nom du projet retenu pour une épreuve est connu, il faut rapidement identifier ses caractéristiques (UT/core maxi, durée des UT, DL, pending, etc...) et voir comment intégrer le projet dans le partage de ressources.

Gestion des réserves d'UT
Dans un challenge, la gestion de la réserve est relativement simple. Elle peut plus être gérée par les réserves mini/maxi du BoincManager.

Dans le pentathlon, comme la compétition porte sur plusieurs projets, les réserves ne peuvent plus être uniquement gérées par les réserves mini/maxi du BoincManager :
- les réserves mini/maxi doivent être gérées selon la durée globale restante de compétition
- les réserves par projets doivent être gérées individuellement, à la main (*)

(*) A l'aide de commandes "Autoriser le nouveau travail" et "Pas de nouveau travail", qui peuvent aussi être gérées automatiquement à l'aide de règles (pour les utilisateurs de BoincTasks).

Tactique : partage de ressources
Dans un challenge la tactique est simple : démarrer à fond, accélérer à mi-course, et sprinter sur la fin. :D

Dans le pentathlon, la tactique est plus complexe :
- les ressources doivent prendre en compte les orientations tactiques de l'équipe
- les ressources doivent être réparties entre projets, au gré des épreuves se déroulant en parallèle
- les ressources allouées doivent prendre en compte le pending des projets


3.2 - Préparation de la participation

Les participants auront intérêt à réfléchir à l'avance à la façon dont ils envisagent leur contribution.

Il est en effet possible de participer à une seule épreuve (CPU ou GPU), ou à plusieurs épreuves, ou à toutes les épreuves.

Afin de se préparer aux différents gestes à effectuer, il sera utile de la mettre sur papier, par exemple sous la forme d'un diagramme.

Exemple de diagramme de participation : Pentathlon 2013



Un diagramme facilite la prise en compte des informations en provenance des organisateurs, des conseils des stratèges de son équipe, et facilite la prévision des actions qui en découlent (cases en orange) :
- prise en compte du planning général des épreuves (périodes en vert)
- prise en compte des noms des projets retenus, et de leurs caractéristiques (colonnes de gauche)
- constitution des réserves d'UT et calculs anticipés (périodes en jaune)
- réalisation des lâchers
- ajustement des ressources entre projets

Bon pentathlon à toutes et à tous !

[AF>Libristes] Pascal:
Ok, merci. :jap:
Je viens de l'installer avec wine sur ubuntu et ça a l'air de fonctionner correctement.
Ça consomme un peu plus de ressource que BM mais je vais le tester quelques temps.

Hildor:

Je n'ai jamais utilisé BoincTasks, cela à l'air très intéressant  :jap:

Il faudra que j'essaye !
mais pas maintenant, je suppose que l'on peut pas faire tourner BoincTasks et BoincManager en même temps ?

LOCTET SetiOne:

--- Citation de: Hildor le 12 May 2013 à 10:17 ---mais pas maintenant, je suppose que l'on peut pas faire tourner BoincTasks et BoincManager en même temps ?

--- Fin de citation ---
Comme le dit nabz

--- Citation de: nabz le 12 May 2013 à 00:23 ---
--- Citation de: [AF>Libristes] Pascal le 12 May 2013 à 00:09 ---Tu es sûr qu'il faut démarrer Boinc Manager en plus ? Ça fait pas un peu double emploi ?

--- Fin de citation ---
BoincTasks est un Manager alternatif, donc il échange directement avec les clients Boinc.

--- Fin de citation ---
C'est effectivement inutile, pour ma part j'ai laissé les BM et lance de temps en temps BT pour régler à distance les travaux, et je referme (sinon comme le dit Pascal, BT plus gourmand que BM, alors les 2 ensemble d'une manière permanente c'est "riche")

Navigation

[0] Index des messages

[#] Page suivante

Utiliser la version classique