Site WWW de Laurent Bloch
Slogan du site

ISSN 2271-3905
Cliquez ici si vous voulez visiter mon autre site, orienté vers des sujets moins techniques.

Pour recevoir (au plus une fois par semaine) les nouveautés de ce site, indiquez ici votre adresse électronique :

Forum de l’article

La Renaissance du parallélisme

modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Rappel de la discussion
La Renaissance du parallélisme
Francis Dupont - le 12 juillet 2010

Deux remarques :

- il faut ajouter « massivement » devant parallèle dans ton article
sinon tu rentres en conflit avec le parallèlisme restreint avec
un petit nombre de processeurs (4-8) que nous connaissons bien ;
- le problème du déterminisme (ou plus exactement de la sémantique séquentielle) est plus compliquée que tu le décris, en effet le résultat d’un calcul est une valeur sémantique, càd il faut ajouter dans l’espace des valeurs l’indéfini (noté bottom, le T à l’envers).

Pour prendre un exemple canonique, il y a 4 opérateurs or :
or gauche, or droit, or strict et or parallèle, avec comme tables
de vérité (bottom, faux, vrai)

(les cas « intéressants » sont bottom et vrai pour les arguments).

Pour résumer or gauche évalue l’argument de gauche (le premier) puis
celui de droite, l’or droit commence par celui de droite, l’or strict
évalue d’abord les deux arguments (note que dans la plupart des langages
de programmation les fonctions sont toujours strictes mais que certains
opérateurs ou constructions ne le sont pas, le ’if’ est l’exemple
canonique. Au passage f() stricte si f(bottom) = bottom, cf Jean
Vuillemin). Enfin l’or parallèle évalue ’en parallèlé les deux arguments
et retourne vrai si au moins l’un des deux est vrai.

Pour revenir à la sémantique séquentielle elle interdit bien sûr l’or
parallèle. Bien sûr un langage de programmation parallèle pour avoir
une sémantique séquentielle, cf. ma thèse de doctorat (sur parallel CAML).

Mon opinion maintenant que j’ai changé plusieurs fois d’activité reste
que le non-déterminisme rend la programmation très difficile à mettre au
point et quasiment impossible avec le parallélisme massif. D’où
l’intérêt d’une sémantique séquentielle qui est une propriété plus forte.

Je peux en rajouter mais le plus simple est que tu lises ma thèse (j’ai
le DVI (elle est en latex, y compris les dessins) sur mes machines).

À plus

Francis.Dupont@fdupont.fr

Derniers commentaires

Une illustration de la concurrence monopolistique
Attention : les GPU sont très forts en produits scalaires, (en multiplication de matrices par (...)

Python
"on dit plutôt maintenant développeurs" ... Il y a (au moins) deux expressions qui (...)

À la Commission de développement de l’informatique du Ministère des Finances
Article tout aussi instructif que plaisant à lire. On pensera aussi à "Comédies Françaises", (...)

À la Commission de développement de l’informatique du Ministère des Finances
Dans le style qui t’est caractéristique, j’avoue que j’ai bien aimé ! J’ai même eu l’occasion (...)

Informatique confidentielle
La clé pour comprendre est peut-être qu’il s’agit ici de "machine virtuelle" et non de (...)