Title: Gestion de Concurrence
1Gestion de Concurrence
- Quand les actions sont duratives elles peuvent
interagir dans les façons compliquées. - Il faut que la semantique du langage stipulent
les règles selon lesquelles les actions peuvent
interagir dans un plan valid. - Il doit être fait clair quand il y a un conflit
entre deux actions.
2Les Conflits entre les Actions
- Un bon analogue la protection de la mémoire dans
un contexte de fils multiples. - Deux processus, A et B, peuvent lire la même
partie de la mémoire en même temps. - A ne peut pas écrire à une partie de la mémoire à
la même fois que B la lit. - A et B ne peuvent pas écrire à la même partie de
la mémoire en même temps. - Ces règles empêchent la corruption de la mémoire
pendant lexécution dun program.
3Mutex
- Donc, les bouts simultanés des deux actions A et
B peuvent partager les mêmes préconditions, mais
ils ne peuvent pas - Changer et consulter les mêmes propositions.
- Changer et consulter les mêmes quantités
numériques. - Changer les mêmes quantités numériques sauf quand
les changements sont commutatifs. - Si les bouts de A et B ne satisfont pas toutes
ces conditions ils sont mutex. - Le bout dune action A peut être mutex avec les
invariants dune autre action, B, quand A et B se
chevauchent.
4Les Regles de Concourance
A et B peuvent être joints dans une séquence,
pourvu que le bout à la fin de A nest pas mutex
avec le bout au début de B.
B peut se chevaucher avec A si le bout au début
de B ne change pas un invariant de A, et le bout
à la fin de A ne change pas un invariant de B.
- A peut être contenu dans B sil ny a pas un
conflit entre - les effets des bouts de A et les invariants de B
- les invariants de A et les invariants de B
B peut se chevaucher avec A si le bout à la fin
de B ne change pas un invariant de A, et le bout
au début de A ne change pas un invariant de B.
5Séparation
- Quand les bouts de deux actions sont mutex il
faut quelles soient séparées par un instant de
temps. - Par exemple
- Donc, un instant epsilon est utilisé à séparer
les actions (par exemple epsilon 0.001).
La proposition p est leffet de A et la condition
de B.
)
A
A veut écrire et B veut lire la même partie de la
mémoire en meme temps.
p
p
epsilon
6Résolution des Mutexes
p
A et B sont mutex, donc elles doivent être
séparées par au moins epsilon.
p
p
Mais A atteint la précondition de C, donc elles
doivent aussi être séparées par au moins epsilon.
epsilon
p
B et C sont mutex, donc une solution (sil ny a
pas autres contraintes) est
2 epsilon
7Les Effets Conditionnel
Buts s,r
quand p, q r
mutex?
mutex
s q
p
q r
traduction
s q
quand p, q r
p
p
non mutex
p
q r
r
r
s q
8Les Changements Commutatifs
- Deux actions peuvent changer la même quantité
numérique en même temps si les changements sont
commutatifs. - Par exemple une quantité peut être augmenté et
diminué en même temps.
9La Qualité dun Plan
- On peut mesurer la qualité dun plan par les
critères différents - Temps totale (concurrence est récompensé)
- Le nombre dactions
- La quantité des ressources utilisée
- La quantité des données rassemblée
- etc.
- Le fichier du problème doit stipuler les critères
dêtre utilisés pour cette mesure.
10(No Transcript)
11(No Transcript)