144 lines
6.1 KiB
Org Mode
144 lines
6.1 KiB
Org Mode
* Rete E
|
||
|
||
[[./reteE.jpg]]
|
||
|
||
I master sono modellati dai posti Richiesta, Attesa e Elabora. Lo slave
|
||
di tipo 1 e` modellato dai posti S0, S1_a, S2_a, S1_a, S1_b e S3. Lo
|
||
slave di tipo 2 e` modellato dai posti R0, R1, R2 e R3.
|
||
La richiesta agli slave e` modellata attraverso due posti: Buffer_Input, Buffer_output.
|
||
|
||
La classe di colori utilizzata e` Master, che permette di distinguere
|
||
i tre master /m1, m2, m3/, mentre il color domain e` /m/ e viene
|
||
utilizzato in tutte le transizioni dove c'e` necessita` di distinguere
|
||
l'origine del marking.
|
||
|
||
|
||
** Reachability Graph
|
||
|
||
Le seguenti tabelle elencano la dimensione dello spazio degli stati al variare
|
||
del numero di master (N) e di slave (Sn e Rn).
|
||
| N | Sn, Rn | Marking RG | Marking SRG |
|
||
|---+--------+------------+-------------|
|
||
| 1 | 1 | 1024 | 232 |
|
||
| 1 | 2 | 4080 | 888 |
|
||
| 1 | 3 | 9280 | 2032 |
|
||
| 1 | 4 | 16480 | 3616 |
|
||
|---+--------+------------+-------------|
|
||
| 2 | 1 | 28480 | 5240 |
|
||
| 2 | 2 | 201708 | 35874 |
|
||
| 2 | 3 | 678240 | 119488 |
|
||
|---+--------+------------+-------------|
|
||
| 3 | 1 | 310400 | 54080 |
|
||
| 3 | 2 | 3151680 | 538380 |
|
||
|
||
L'utilizzo del Symbolic Reachability Graph permette di ridurre il
|
||
numero di marking di un fattore >4 .
|
||
|
||
** Reachability Graph al variare delle classi di colore
|
||
|
||
| k | Marking RG | Marking SRG |
|
||
|----+------------+-------------|
|
||
| 3 | 1024 | 232 |
|
||
| 4 | 5632 | 460 |
|
||
| 5 | 29696 | 804 |
|
||
| 6 | 151552 | 1288 |
|
||
| 7 | 753664 | 1936 |
|
||
| 8 | 3670016 | 2772 |
|
||
| 9 | 17563648 | 3820 |
|
||
| 10 | 82837504 | 5104 |
|
||
La tabella mostra l'aumentare dei marking del Reachability Graph
|
||
all'aumentare delle classi di colore.
|
||
Benche` la crescita dello spazio degli stati sia lineare in entrambi i
|
||
casi, notiamo come lo spazio del SRG sia notevolmente piu` contenuto
|
||
dello spazio del RG.
|
||
Inoltre, il rapporto marking RG/SRG (dello stato degli spazi) aumenta
|
||
proporzionalmente al valore di k.
|
||
|
||
A conferma di quanto espresso, notiamo che anche con valori di
|
||
marcatura iniziale maggiore per il master e gli slave, notiamo lo
|
||
stesso effetto sul rapporto di marking RG/SRG (limitatamente alle
|
||
possibilita` di calcolo).
|
||
| N, Sn, Rn | k | Marking RG | Marking SRG |
|
||
|-----------+---+------------+-------------|
|
||
| 2, 2, 2 | 3 | 201708 | 35874 |
|
||
| 2, 2, 2 | 4 | 4190624 | 203136 |
|
||
| 2, 2, 2 | 5 | 78523200 | 875478 |
|
||
|
||
** Considerazioni su Fork/Join
|
||
Non puo` avvenire un join fra due processi con diverso padre quando:
|
||
- N = 1: sullo stesso spazio non puo` essere presente piu` di un token con lo
|
||
stesso colore
|
||
- Sn = 1: in questo secondo caso, come nei precedenti esercizi,
|
||
avviene un solo fork alla volta.
|
||
|
||
Di seguito viene mostrata un'esecuzione in cui e` possibile che
|
||
avvenga il join di due processi con lo diverso padre:
|
||
- con N > 1 consideriamo che nella rete vi siano al momento iniziale due
|
||
token dello stesso colore "m0"
|
||
- entrambi i token vengono inseriti nel Buffer_input e in seguito
|
||
inviati allo slave di tipo 1.
|
||
- quando Sn > 1 uno dei due token puo` eseguire lo scatto attraverso
|
||
la transizione T3 prima che l'altro token arrivi alla transizione T6
|
||
(in cui avviene il join).
|
||
|
||
* Rete F
|
||
|
||
[[./reteF.jpg]]
|
||
|
||
I master sono modellati dai posti Richiesta, Attesa e Elabora. Gli slave
|
||
di tipo 1 sono modellato dai posti S0, S1_a, S2_a, S1_a, S1_b e S3.
|
||
La richiesta agli slave e` modellata attraverso due posti: Buffer_Input, Buffer_output.
|
||
|
||
Nella rete sono presenti due classi di colore:
|
||
- Master, che permette di distinguere i diversi master /m1, m2, m3/
|
||
- Slave, che permette di distinguere i due slaves /ID1/ e /ID2/
|
||
La classe Slave e` divisa in due sottoclassi, Slave1 e Slave2,
|
||
per facilitare in seguito la parametrizzazione degli slaves.
|
||
Anche la classe Master e` divisa in due sottoclassi utilizzate
|
||
nell'espressione booleane della transizione Fork.
|
||
Il /dominio D/ = /Master×Slave/ e` utilizzato per la multiplicity
|
||
degli archi fra fork e join, in modo da tener traccia delle richieste effettuate.
|
||
|
||
|
||
** TODO Reachability Graph
|
||
Le seguenti tabelle elencano la dimensione dello spazio degli stati al variare
|
||
del numero di master (N) e di slave (Sn e Rn).
|
||
| N | R1, R2 | Marking RG | Marking SRG |
|
||
|---+--------+------------+-------------|
|
||
| 1 | 1 | 768 | 432 |
|
||
| 1 | 2 | 2560 | 1440 |
|
||
| 1 | 3 | 5376 | 3024 |
|
||
| 1 | 4 | 5184 | 9216 |
|
||
|---+--------+------------+-------------|
|
||
| 2 | 1 | 18720 | 9720 |
|
||
| 2 | 2 | 97696 | 50481 |
|
||
| 2 | 3 | 267120 | 137376 |
|
||
|---+--------+------------+-------------|
|
||
| 3 | 1 | 192000 | 97600 |
|
||
| 3 | 2 | 1309440 | 663520 |
|
||
Rispetto alla precedente rete, il rapporto stato degli spazi di RG/SRG
|
||
e` minore.
|
||
|
||
** TODO Reachability Graph al variare delle classi di colore
|
||
| \vert{}M1\vert{} | \vert{}M2\vert{} | Marking RG | Marking SRG |
|
||
|------------------+------------------+------------+-------------|
|
||
| 2 | 1 | 768 | 432 |
|
||
| 3 | 1 | 3840 | 960 |
|
||
| 2 | 2 | 4096 | 1296 |
|
||
| 3 | 2 | 20480 | 2880 |
|
||
| 3 | 3 | 102400 | 6400 |
|
||
| 4 | 3 | 491520 | 12000 |
|
||
| 4 | 4 | 2359296 | 22500 |
|
||
| 5 | 4 | 11010048 | 37800 |
|
||
| 5 | 5 | 51380224 | 63504 |
|
||
|
||
[ ] Cambia diversamente all'aumento di slaves vs masters?
|
||
| \vert{}Slave1\vert{} | \vert{}Slave2\vert{} | Marking RG | Marking SRG |
|
||
|----------------------+----------------------+------------+-------------|
|
||
|
||
|
||
** Considerazioni su Fork/Join
|
||
Posso fare le stesse considerazioni che nella rete precedente (rete
|
||
E), tenendo in considerazione che avendo due diverse tipologie di
|
||
slave, un join fra due processi con padre diverso avverra` solo quando
|
||
| (R₁ > 1 ∨ R₂ > 1) ∧ N > 1
|