Je me permets de détailler un peu pour notre ami Philou (même si on a déjà parlé de tout ça à divers endroits du forum par le passé).
Une "vrai app" c'est un programme développé pour un système d'exploitation en particulier, elle tourne "en natif" uniquement sur cet OS (windows ou linux ou Mac OS ou Android ou...). Si le projet veut que son app soit dispo pour d'autres OS, les développeurs doivent la "porter" c'est à dire écrire une version particulière du programme qui tourne aussi sur ces OS, ce qui n'est pas forcément trivial, chaque OS ayant ses particularités, limitations, problèmes... une fois l'appli dispo pour le public, il faut un support dédié pour chaque appli, tous les développeurs ne sont pas forcément capable de débugger et maintenir une app dans "n'importe quel OS". Ca demande des moyens, c'est pour ça que peu de projets proposent des applis avec des versions pour tous les OS, en tant qu'utilisateur de Mac j'en sais quelque chose, pareil pour linux, windows est comme d'habitude l'OS ou tu auras le plus de choix d'applications compatibles.
Une machine virtuelle, c'est faire tourner un système d'exploitation donné (par exemple linux) à l'intérieur d'un autre (par exemple Mac OS X) dans une "boite" (la VM) plus ou moins étanche (volontairement) avec le système d'exploitation hôte. A l'intérieur de la boite, qui est donc un OS en fonctionnement, on exécute l'application du projet boinc elle même, donc développée uniquement pour cet OS hébergé.
Ca doit être intéressant puisque Berkeley propose depuis un moment déjà aux projets Boinc le support de VirtualBox qui est l'un des "moteurs de VM" disponible sur la marché (il y en a plein) mais qui est gratuit et open source (racheté et maintenu par Oracle). Il faut l'installer sur ta machine pour pouvoir faire tourner un projet à base de VM, depuis quelques temps Berkely propose carrément une version d'installation boinc + VirtualBox combinés pour faciliter son acceptation par monsieur tout le monde je pense (mais installer VB directement est très simple et ça marche pareil).
Il existe des versions de VB pour tous les OS principaux, donc cela veut dire que le cruncher ait windows, mac, linux, etc, le projet n'a qu'à développer et maintenir qu'une seule version de son application scientifique (dans mon exemple sous linux, exemple pas pris au hasard, c'est le choix qu'ils font tous) pour pouvoir la proposer à TOUS les utilisateurs quel que soit l'OS de leur machine, au lieu de maintenir une "vrai app" sous chaque OS (et donc la plupart du temps, ne pas la proposer).
C'est un avantage suffisamment important pour que les équipes du CERN qui se sont lancé dans boinc décident finalement d'y porter toutes leurs applis : LHC, Atlas, CMS.
Les détracteurs de la VM comme toTOW
reprochent aux "applis sous VM" d'être une solution de paresseux ("un vrai développeur, ça fait de vrais apps") mais je pense que les développeurs de ces applis ne sont pas de cet avis
Inconvénient de la VM : consomme plus de ressource qu'une vrai app, car le logiciel qui fait fonctionner la VM (par exemple VB) consomme lui même des ressources (mémoire, CPU, I/O...) mais assez peu en proportion de mon point de vue. La VM elle même est plus grosse d'une vrai app, c'est n'est pas rare de voir des UT sous VM bouffer 1 Go de RAM ou plus, mais si le projet prend le temps d'optimiser tout ça, ça peut être beaucoup moins. Si la machine est trop juste en RAM c'est un problème, tu peux aussi limiter à une seule UT de ce type à la fois à l'aide de fichiers de config. Avec une bonne machine qui prévoit 2 Go de RAM par core comme la mienne, ce n'est pas un soucis
Exemple intéressant : RNA a des UT très très longues et n'a jamais pu implémenter des points de reprise sur son ancienne "vrai app" pour des raisons techniques que l'admin avait expliqué il y a longtemps sur son forum (et je me souviens qu'il avait qu'il n'aurait jamais de solution à ce problème lié au type de calcul effectué), c'était un vrai problème quand une UT qui tourne depuis plusieurs semaines plante... ce qui arrivait souvent (il fallait demander des crédits directement sur le forum UT par UT et il te les donnait mais bonjour le confort...) Après refléxion il avait décidé de passer à une app sous VM car cela résolvait ce problème, en effet boinc gère directement des "snapshot" ("copie d'état") de toute la machine virtuelle à intervalle régulier qui permet de restaurer un état antérieur de toute la VM en cas de problème, avec l'application RNA dedans dans l'état où elle se trouvait aussi. On sauvegarde toute la boite et ce qui est dedans suit...
(remarque : ça faisait longtemps que je postais plus sérieusement sur le forum du fait d'un surcroit excessif de travail incluant week-end, il fallait que je me rattrape
)