Que signifie «véritable concurrence»?

28

J'entends souvent des phrases comme «sémantique de concurrence réelle» et «équivalences de concurrence réelle» sans aucune référence. Que signifient ces termes et pourquoi sont-ils importants?

Quels sont quelques exemples de véritables équivalences de concurrence et quel est leur besoin? Par exemple, dans quels cas sont-ils plus applicables que des équivalences plus standard (bisimulation, équivalence de trace, etc.)?

Daniil
la source

Réponses:

23

Le terme «vraie concurrence» apparaît dans l'étude théorique du calcul simultané et parallèle. Il contraste avec l'entrelacement de la concurrence. La véritable concurrence est une concurrence qui ne peut pas être réduite à l'entrelacement. La concurrence est entrelacée si à chaque étape du calcul, une seule action de calcul atomique (par exemple un échange de messages entre l'expéditeur et le récepteur) peut avoir lieu. La simultanéité est vraie si plusieurs actions atomiques de ce type ont lieu au cours d'une même étape.

La manière la plus simple de distinguer les deux est d'examiner la règle de composition parallèle. Dans un cadre basé sur l'entrelacement, cela ressemblerait à ceci:

PPP|QP|Q

Cette règle impose qu'un seul processus dans une composition parallèle puisse exécuter une action atomique. Pour une véritable simultanéité, une règle comme la suivante serait plus appropriée.

PPQQP|QP|Q

Cette règle permet aux deux participants d'une composition parallèle d'exécuter des actions atomiques.

Pourquoi serait-on intéressé par la concurrence entrelacée, alors que la théorie de la concurrence est vraiment l'étude de systèmes qui exécutent des étapes de calcul en parallèle? La réponse est, et c'est une excellente idée, que pour les formes simples de message passant la simultanéité, la vraie simultanéité et la simultanéité basée sur l'entrelacement ne sont pas contextuellement distinguables. En d'autres termes, la concurrence entrelacée se comporte comme une véritable concurrence pour les observateurs. L'entrelacement est une bonne décomposition de la véritable concurrence. Comme l'entrelacement est plus facile à gérer dans les épreuves, les gens étudient souvent uniquement la concurrence basée sur l'entrelacement plus simple (par exemple CCS etπ-calculi). Cependant, cette simplicité disparaît pour le calcul simultané avec des formes d'observation plus riches (par exemple le calcul temporisé): la différence entre la concurrence réelle et la concurrence entrelacée devient observable.

Les équivalences standard comme les bisimulations et les traces ont les mêmes définitions pour une concurrence réelle et entrelacée. Mais ils peuvent ou non assimiler différents processus, selon le calcul sous-jacent.

Permettez-moi de donner une explication informelle de la raison pour laquelle l'entrelacement et l'interaction vraiment simultanée sont indiscernables dans les calculs de processus simples. Le paramètre est un calcul de type CCS ou . Disons que nous avons un programmeπ

P=x¯ | y¯ | x.y.a¯ | y.b¯
Ensuite, nous avons la réduction vraiment simultanée suivante: Cette étape de réduction peut être mise en correspondance par les étapes entrelacées suivantes: La seule différence entre les deux est que le premier fait un pas, tandis que les deux derniers. Mais les calculs simples ne peuvent pas détecter le nombre d'étapes utilisées pour atteindre un processus.
Py.a¯ | b¯
Px¯ | x.y.a¯ | b¯y.a¯ | b¯

Dans le même temps, a la deuxième séquence de réduction entrelacée suivante: Mais il s'agit également d'une séquence de réduction dans un paramètre véritablement simultané, tant que la véritable concurrence n'est pas forcée (c'est-à-dire les exécutions entrelacées sont autorisées même s'il existe un potentiel pour plus d'une interaction à la fois).P

Py¯ | y.a¯ | y.b¯a¯ | y.b¯
Martin Berger
la source
Merci, bonne réponse! Pouvez-vous me donner quelques références pour une lecture plus approfondie?
Daniil
@Daniil J'ai bien peur de ne pas avoir de bonnes références à portée de main. En partie, c'est du folklore, en partie, il a été étudié dans les premiers jours de la théorie de la concurrence, avant de commencer. Si vous aimez faire un peu de mathématiques, vous pouvez établir vous-même des résultats de base. Prenez un calcul de processus simple, par exemple le calcul asynchrone équipez-le de réductions vraiment simultanées et montrez que deux processus dans le nouveau calcul sont assimilés par votre notion préférée (faible) d'équivalence exactement quand ils sont assimilés dans le calcul entrelacé. π
Martin Berger
0

Pour dire la vérité, je cherchais moi-même une réponse. Quelle est la sémantique ici? Nous attribuons un sens «système de transition» à la description «algèbre de processus»; c'est-à-dire que la signification est le système de transition qui est généré à partir de la description initiale du système en utilisant des règles SOS définies. Ainsi, en utilisant la sémantique d'entrelacement, nous perdons toute la structure concurrente dans le système de transition obtenu.

Une autre réponse pourrait être qu'il ne s'agit pas de «différence observable» mais de la différence d '«observabilité». En utilisant une sémantique entrelacée, nous ne pouvons observer que des parcours linéaires; tandis qu'en utilisant la vraie simultanéité, nous pouvons observer des "exécutions simultanées" (cf. W.Reisig'13 Petri nets book).

Pourtant, j'ai des doutes sur ce que j'ai dit ci-dessus, et il serait intéressant d'entendre des informations plus approfondies. C'est-à-dire, en utilisant des horloges vectorielles Lamport, combien de théorie de la relativité peut être transférée à la théorie de la concurrence.

Leonid Dworzanski
la source
1
On a observé très tôt que le passage d'un programme simultané à un système de transition pouvait se faire avec perte. John Reynolds a formulé ce qui est maintenant connu sous le nom de critère de Reynolds, pour caractériser quand la sémantique d'entrelacement est exacte pour les programmes concurrents à variable partagée. Vaughan Pratt a étudié la véritable concurrence en tant que modèle P 1986 et, avec Gordon Plotkin, a montré quand la partialité de l'ordre sur les actions est observable P&P, 1987 .
Kai
@Kai, les références sont très appréciées! Je vais les noter au cas où les liens seraient rompus: Vaughan Pratt, Modélisation de la concurrence avec les commandes partielles; G. Plotkin V. Pratt, Les équipes peuvent voir les Pomsets. > peut être fait de manière perdue Certes, je voulais juste séparer clairement les concepts dans "description syntaxique / sémantique / sens".
Leonid Dworzanski