Graphics Programs Reference
In-Depth Information
p start
t f ork
p exec 1
p exec 2
p exec 3
t restart
t exec 1
t exec 2
t exec 3
p end 1
p end 2
p end 3
t join
p join
Figure 1.7:
PN description of a fork and join behaviour
fork operation, the three transitions t exec 1 , t exec 2 , and t exec 3 represent
the three parallel branches of either the manufacturing process or the dis-
tributed program, and transition t join represents the synchronization at the
end of the parallel part. Finally, the whole process is restarted by transition
t restart .
In this case, due to the presence of more than one token in p start , places
represent situations, rather than boolean conditions. Note that this also
means that the join operation is not necessarily performed with the three
tokens generated by those produced by the fork: tokens in the triplets may
be shu ed, because no specific queuing discipline is enforced among tokens
within places.
Observe that the fork and join behaviour, unlike the resource access, is
impossible to capture with a classical queuing description. On the other
hand, queuing disciplines, such as the FIFO strategy that is often assumed
as a default in queuing systems, may be complex to represent with PNs. 4
Using the fork and join submodel, it is possible to construct models of the
behaviours of interesting parallel systems. For example, Fig. 1.8 depicts
a PN model of a simple parallel computation . 5 The system operations are
modelled as follows. A set of new data is read (firing of transition t newdata ),
and two processes are started in parallel with the same set of data (the
4 The representation of the FIFO discipline is possible for finite waiting lines, but quite
cumbersome.
5 With parallelism 2, but the extension to higher levels of parallelism is trivial.
 
 
 
Search WWH ::




Custom Search