Cosa significa "vera concorrenza"?


28

Sento spesso frasi come "vera semantica di concorrenza" e "equivalenze di vera concorrenza" senza riferimenti. Cosa significano quei termini e perché sono importanti?

Quali sono alcuni esempi di vere equivalenze di concorrenza e quali sono le loro necessità? Ad esempio, in quali casi sono più applicabili di più equivalenze standard (bisimulazione, equivalenza in tracce, ecc.)?

Risposte:


23

Il termine "vera concorrenza" emerge nello studio teorico del calcolo simultaneo e parallelo. È in contrasto con la concorrenza interleaving. La vera concorrenza è la concorrenza che non può essere ridotta all'interleaving. La concorrenza è intercalata se ad ogni passo del calcolo, può avvenire solo un'azione di calcolo atomico (ad esempio uno scambio di messaggi tra mittente e destinatario). La concorrenza è vera se più di una di queste azioni atomiche si svolgono in un passaggio.

Il modo più semplice di distinguere entrambi è guardare la regola per la composizione parallela. In un'impostazione basata su interfogli, sarebbe simile a questa:

PPP|QP|Q

Questa regola impone che solo un processo in una composizione parallela possa eseguire un'azione atomica. Per una vera concorrenza, una regola come la seguente sarebbe più appropriata.

PPQQP|QP|Q

Questa regola consente a entrambi i partecipanti in una composizione parallela di eseguire azioni atomiche.

π-calculi). Tuttavia, questa semplicità scompare per il calcolo simultaneo con forme di osservazione più ricche (ad es. Calcolo a tempo): la differenza tra la concorrenza reale e la concorrenza interlacciata diventa osservabile.

Le equivalenze standard come le bisimulazioni e le tracce hanno le stesse definizioni per la concorrenza vera e interleaving. Ma possono o meno equiparare processi diversi, a seconda del calcolo sottostante.

π

P=x¯ | y¯ | x.y.a¯ | y.b¯
Py.a¯ | b¯
Px¯ | x.y.a¯ | b¯y.a¯ | b¯

P

Py¯ | y.a¯ | y.b¯a¯ | y.b¯

Grazie, ottima risposta! Potete per favore darmi qualche riferimento per ulteriori letture?
Daniil

π

0

A dire la verità, cercavo io stesso una risposta. Qual è la semantica qui? Assegniamo un significato "sistema di transizione" alla descrizione "algebra di processo"; cioè il significato è il sistema di transizione che viene generato dalla descrizione iniziale del sistema usando regole SOS definite. Quindi, usando la semantica interleaving, perdiamo tutta la struttura concorrente nel sistema di transizione ottenuto.

Un'altra risposta potrebbe essere che non si tratta di "differenza osservabile" ma della differenza di "osservabilità". Usando una semantica interleaving, possiamo osservare solo corse lineari; mentre, usando la vera concorrenza, possiamo osservare "corse simultanee" (vedi il libro delle reti di Petri di W.Reisig'13).

Tuttavia, ho alcuni dubbi su ciò che ho detto sopra, e sarebbe interessante ascoltare approfondimenti. Cioè, usando gli orologi vettoriali di Lamport, quanta parte della teoria della relatività può essere trasferita alla teoria della concorrenza.


1
Che il passaggio da un programma concorrente a un sistema di transizione possa essere fatto in modo perdente è stato osservato all'inizio. John Reynolds ha formulato quello che ora è noto come il criterio di Reynolds, da caratterizzare quando la semantica interleaving è accurata per i programmi concorrenti a variabili condivise. Vaughan Pratt ha studiato la vera concorrenza come modello P 1986 e, insieme a Gordon Plotkin, ha mostrato quando la parzialità dell'ordine sulle azioni è osservabile P&P, 1987 .
Kai

@Kai, i riferimenti sono molto apprezzati! Le scriverò nel caso in cui i collegamenti vengano interrotti: Vaughan Pratt, modellazione della concorrenza con ordini parziali; G. Plotkin V. Pratt, le squadre possono vedere i Pomset. > può essere fatto in modo smarrito Certamente, volevo solo separare chiaramente i concetti in "descrizione sintetica / semantica / significato".
Leonid Dworzanski,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.