Quels bénéfices pour LibDispatch sur FreeBSD?

Arnaud de la Grandière |
Avec l'adoption de Grand Central Dispatch par FreeBSD, c'est un allié de taille que vient de se faire Apple, donnant un peu plus de chances à sa technologie de devenir un véritable standard.

Grand Central Dispatch est une des nouveautés phares de Snow Leopard, qui permet de centraliser la gestion des opérations pour les distribuer aux différents cores et processeurs. Apple a mis à disposition sa bibliothèque en open source le mois dernier, il n'aura pas fallu attendre longtemps pour qu'elle soit mise à profit.

C'est une très bonne nouvelle pour tout le monde. Pour FreeBSD, ses utilisateurs, et ses développeurs, puisque Grand Central Dispatch facilite la vie de ces dernier avec la gestion des plateformes multiprocesseurs, et permet de mieux exploiter les ressources de la machine, ce qui aboutit à une meilleure réactivité globale.

D'autant que FreeBSD est assez populaire dans les milieux de la recherche et chez les universitaires, et leurs besoins en matière d'informatique pourraient être comblés par un tel apport, notamment sur les fermes de calcul composées de plusieurs unités centrales mises en commun. On pourrait d'ailleurs en dire autant d'OpenCL, l'autre standard libre introduit dans Snow Leopard, mais pour l'heure les seules entités à avoir adopté ce dernier sont les constructeurs, comme AMD ou NVIDIA, et quelques développeurs comme Electronic Arts ou encore Activision Blizzard. LibDispatch (le nom du pendant open source de Grand Central Dispatch) pourra également être mis à profit sur les serveurs, grands consommateurs de tâches parallèles, sachant qu'un certain nombre d'entre eux tournent sous FreeBSD.

Pour Apple, la nouvelle offre un peu plus de poids à Grand Central Dispatch, et incitera peut-être des développeurs d'autres horizons à s'y intéresser, par effet boule de neige. Les applications FreeBSD qui exploiteront LibDispatch seront plus faciles à porter sur Mac OS X. De même, le portage sur FreeBSD simplifie quelque peu le portage de LibDispatch sur d'autres Unix tels qu'OpenBSD, NetBSD, Linux, ou encore Solaris. De même, le fait qu'Apple ait intégré Grand Central Dispatch dans le duo Clang et LLVM, un nouveau compilateur open source, devrait également le rendre plus accessible dans le monde du logiciel libre (voir notre article Apple tire le jus des processeurs).

On peut également y voir une confirmation qu'Apple a fait le bon choix avec cette technologie, dans un contexte ou les architectures sont vouées à multiplier le nombres de cores et de processeurs, à défaut de pouvoir beaucoup augmenter leur fréquence d'horloge.

Cependant il reste encore à voir si la mayonnaise va prendre du côté des développeurs. Jusqu'ici, peu d'applications sur Mac ont intégré le support de Grand Central Dispatch. Côté FreeBSD, il ne faudrait pas que cette compatibilité accrue avec le Mac ne rende le portage des mêmes applications plus ardu vers Windows. Bien qu'elle ait offert les sources de LibDispatch, Apple ne court cependant pas trop de risques de le voir adopté par Microsoft (voir notre article : Grand Central Dispatch : réflexions sur un don)

L'intégration de cette technologie dans FreeBSD, si elle simplifie la gestion des opérations, n'est pas pour autant "magique", dans la mesure où il incombe au développeur de déterminer quelles tâches doivent être traitées en parallèle, ce qui n'est pas toujours chose aisée (voir notre article Snow Leopard : pas de miracle en vue ?). Sans doute faudra-t-il quelque temps pour que les développeurs apprivoisent cette nouvelle façon d'aborder leurs projets avant de voir plus de résultats probants : Grand Central Dispatch est résolument un investissement pour l'avenir.

Quoi qu'il en soit, ce portage offre de nouvelles opportunités, tant aux utilisateurs de FreeBSD qu'à la communauté Mac. Mais il est vrai qu'il s'agit là d'un juste retour des choses et d'un échange de bons procédés : FreeBSD fait partie des environnements Unix sur lesquels Mac OS X fut fondé. Apple investit de plus en plus, sur ses projets stratégiques, dans le monde de l'open source (Darwin, Webkit, Bonjour, CUPS, Clang/LLVM, OpenCL…), ce qui semble plutôt lui réussir jusqu'ici.
avatar mathiasr | 

Je pense qu'avec LibDispatch/GrandCentral il faut voir plus loin que dans quelques mois, Intel et AMD vont bientôt lancer leurs processeurs haut de gamme à six cœurs, il y a fort à parier que d'ici un an la majorité de micro-ordinateurs vendus disposeront de 4 cœurs ou plus.
D'un autre côté si une tâche ne peut être découpée pour être rendue parallèle tout ceci ne sert à rien, on sera toujours limité comme le montre [url=http://fr.wikipedia.org/wiki/Loi_d%27Amdahl]la loi d'Amdahl[/url], ce n'est pas juste une question d'adoption ou non par les développeurs, encore faut-il que les traitements s'y prêtent.

avatar médecin de campagnes (non vérifié) | 

Merci pour cet article
La distribution de tâches dans les plateformes à (multi)processeurs multicores sera hautement stratégique : voir l’encart de l’INRIA pages 72 73 74 dans le N° 434 de la Recherche, octobre 2009.
D’où il ressort :
- que l’informatique est à un tournant pour continuer d’augmenter sa puissance, et que l’architecture des processeurs sera déterminante (notamment les multicores)
- que 95 ou 98% des processeurs fabriqués sont embarqués, (si l’on compte aussi ceux des téléphones et smartphones)
- que dans ce domaine l’Europe est leader, mais que ce domaine peut déborder sur la microinformatique (les smartphones sont maintenant des microordinateurs)
La pièce manquante du puzzle pour notre regard fixé sur le mac est donc l’acquisition de PA SEMI.
Il doit s’en passer des choses là-bas.
Connaît-on les technologies directement rivales de GrandCentral, sous quelque système que ce soit ?

CONNEXION UTILISATEUR