“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 202 — #212
i
i
i
i
i
i
i
i
202
4
• La programmation concurrente dataflow
dur qui utilise un matériel spécialisé avec un système d’exploitation spécialisé. Le
temps réel dur dépasse la portée de cet ouvrage.
4.2.5 La concurrence coopérative et compétitive
Les fils sont faits pour la concurrence coopérative et non pour la concurrence compétitive. La concurrence coopérative concerne des entités qui travaillent ensemble
pour atteindre un but commun. Les fils soutiennent cela. Par exemple tout fil peut
changer les taux entre les trois priorités, comme nous le verrons. Les fils sont faits
pour des applications qui s’exécutent dans un environnement où toutes les parties se
font confiance.
Par contre, la concurrence compétitive concerne des entités dont chacune a un
but local : elles travaillent pour elles-mêmes. Elles ne sont intéressées que par leur
propre performance, pas par la performance globale. La concurrence compétitive est
normalement gérée par le système d’exploitation, par un concept qui s’appelle un
processus.
Cela veut dire que les calculs ont souvent une structure à deux niveaux, comme
illustré dans la figure 4.8. Au plus haut niveau, il y a un ensemble de processus du
système d’exploitation qui interagissent en faisant de la concurrence compétitive. Les
processus appartiennent généralement à des applications différentes, avec des buts
différents et peut-être conflictuels. Dans chaque processus, il y a un ensemble de
fils qui interagissent en faisant de la concurrence coopérative. Les fils d’un même
processus appartiennent généralement à la même application.
Processus
(concurrence coopérative)
Fils
(concurrence compétitive)
Figure 4.8 La concurrence coopérative et compétitive.
La concurrence compétitive est soutenue en Mozart par son modèle de calcul réparti
et par le module Remote. Le module Remote crée un nouveau processus du système
d’exploitation avec ses propres ressources calculatoires. Un calcul compétitif peut
alors être créé (avec l’édition de ses liens) dans ce processus. C’est assez facile à
programmer parce que le modèle réparti est transparent par rapport au réseau : le
i
i
i
i
i
i
i
i
202
4
• La programmation concurrente dataflow
dur qui utilise un matériel spécialisé avec un système d’exploitation spécialisé. Le
temps réel dur dépasse la portée de cet ouvrage.
4.2.5 La concurrence coopérative et compétitive
Les fils sont faits pour la concurrence coopérative et non pour la concurrence compétitive. La concurrence coopérative concerne des entités qui travaillent ensemble
pour atteindre un but commun. Les fils soutiennent cela. Par exemple tout fil peut
changer les taux entre les trois priorités, comme nous le verrons. Les fils sont faits
pour des applications qui s’exécutent dans un environnement où toutes les parties se
font confiance.
Par contre, la concurrence compétitive concerne des entités dont chacune a un
but local : elles travaillent pour elles-mêmes. Elles ne sont intéressées que par leur
propre performance, pas par la performance globale. La concurrence compétitive est
normalement gérée par le système d’exploitation, par un concept qui s’appelle un
processus.
Cela veut dire que les calculs ont souvent une structure à deux niveaux, comme
illustré dans la figure 4.8. Au plus haut niveau, il y a un ensemble de processus du
système d’exploitation qui interagissent en faisant de la concurrence compétitive. Les
processus appartiennent généralement à des applications différentes, avec des buts
différents et peut-être conflictuels. Dans chaque processus, il y a un ensemble de
fils qui interagissent en faisant de la concurrence coopérative. Les fils d’un même
processus appartiennent généralement à la même application.
Processus
(concurrence coopérative)
Fils
(concurrence compétitive)
Figure 4.8 La concurrence coopérative et compétitive.
La concurrence compétitive est soutenue en Mozart par son modèle de calcul réparti
et par le module Remote. Le module Remote crée un nouveau processus du système
d’exploitation avec ses propres ressources calculatoires. Un calcul compétitif peut
alors être créé (avec l’édition de ses liens) dans ce processus. C’est assez facile à
programmer parce que le modèle réparti est transparent par rapport au réseau : le
