Document not found! Please try again

Some results on siphon computation for deadlock ... - Semantic Scholar

2 downloads 0 Views 552KB Size Report
Some results on siphon computation for deadlock prevention in resource allocation systems modeled with Petri nets. Fernando Tricas Joaquin Ezpeleta.
Some results on siphon computation for deadlock prevention in resource allocation systems modeled with Petri nets Fernando Tricas Joaquin Ezpeleta Depanamento de InformBtica e Ingenieria de Sistemas Centro Polit&cnico Superior - U. Zaragoza

Maria de Luna 3, 50015 Zaragoza (SPAIN) [email protected]

Abslract-Siphons are related to liveness properties of Petri net models. This relation is strong in the case of resource allocation systems (US).Siphons can he used in these systems in order to both, characterize and preventlavoid deadlock situations. However, the Computation of these structural components can be very time consuming or, even, impassible. Moreover, if, in general, the complete enumeration of the set of minimal siphons must he avoided (there can exist an exponential number of such components), some deadlock prevention methods rely on its (complete or partial) computation and enumeration. In the paper we show how the special syntactical constraints of some classes of resource allocation systems (we will concentrate on S 4 P R ) can help in developing specific implementations to compute siphons in a very efficient way. ACKNOWLEDGEMENT

This work has been supported by the Spanish research project CICYT TIC2001-I819. 1. INTRODUCTION

One important problem of concurrent systems is related to the fact that the concurrent execution of correct processes can have deadlock problems. A deadlock corresponds to a system state in which a set of active processes cannot finish their executions. It is quite intuitive that such situations must be avoided: besides having processes that cannot evolve, the active deadlocked processes are using system resources and then, the system performance is reduced. The deadlock control problem can be stated as follows: “Let S be a system. Are deadlocks possible? If so, control the system in order to ensure that no deadlock can be reached. Siphons (a siphon is a subset of places such that every input transition is also an output transition of the subset) and traps (a trap is a subset of places such that every output transition is also an input transition) [ I ] have interesting properties related to the token distribution in a Petri net. In particular, siphons are closely related to liveness properties. It is easy to prove a classical property: if there exists a total deadlock in an ordinary Petri net, there exists an empty siphon [2]. In non-ordinary Petri nets this idea can be generalized: if there exits a total deadlock, then there exists a siphon with a “deficient marking” [31. Moreover, for some special classes of

0-7803-7937-3/03/$17.00 02003 IEEE

nets, siphons can be used to characterize liveness (free choice nets [4], extended free choice nets (51, asymmetric choice nets [ 6 ] , Petri nets with resources (PNR) 171, system of simple sequential processes with general resource requirements (S3PGRZ)[8], and S4PR [9]). Siphons have been used to implement deadlock control policies in [IO], [ I 11, [91, [7l, [12]. Since the techniques introduced in these works rely on minimal siphons, some (efficient) methods to compute them are needed. We wanted to know how time consuming would be computing siphons for S4.PR nets, and how parallelization could improve this computation. Two facts have been considered for this computation in S 4 P R nets: The special structure of this class of nets. From the point of view of deadlock prevention policies only siphons containing resource places are interesting. Among the wide set of methods for the computation of minimal siphons we have chosen the one proposed in [I31 for the following reasons: As it will be shown, the method can be easily implemented in a parallel way. This is specially interesting, since the computation of families of siphons can be very time consuming. It is oriented to the computation of the set of siphons containing a given place (set of places). This makes it interesting for those control policies that rely on the computation of families of siphons ([IO], [9], LIZ].) The paper is organized as follows. Section I1 is devoted to the introduction of the selected method, together with some ideas about other algorithms proposed in the iiterattlre. In Section 111 we discuss the proposed approach. In Section IV we describe the experiments done in order to measure the improvements and in Section V the results are shown and discussed. Finally in Section VI some conclusions are presented.

.. .

11. SOME METHODS FOR THE COMPUTATION O F SIPHONS

Researchers have considered and studied different methods for finding siphons and traps. There is a lot of work for the problem of siphon computation, following different

322

approaches. Let us include here a list of references. for the the filtering is only done with place-minimal siphons that interested reader’[\4], 1151, [l6),14). [\J), [IS], 1\31. 1\91, contain resources. In the considered class of nets this filtering is enough to discover the relevant minimal siphons. (201. [SI, [211, [221, C231, [ 2 4 , 1251. The specific syntactical constraints of S4PR nets pointed A. The selected method towards the use of the method presented in [I31 to compute Among these methods, we have selected the one presented siphons in this class of nets. The following facts supported in 1131. The method uses the sign incidence matrix, which is that decision: a representation of the underlying graph of the Petri net in I ) In resource allocation system all the ‘interesting’ siphons terms of input and output arcs forgetting the valuation. In this must contain resource places [9],[26]. We can expect a matrix, each row represents the set of inputJoutput transitions reduction on the computation costs. of a place (or set of places): a positive entry represents an 2) Finally, let us recall that the method starts selecting input transition for the considered set of places, a negative one a row of .the sign matrix in order to compute placerepresents an output transition, and a *-signed one represents minimal siphons related to it; in consequence, it is a transition that is both input and output of the set. Adequate straightforward to parallelize the method: the compuarithmetic operations that allow to cancel any positive entry tation of the set of siphons related to a subset of places with a negative or a ‘i‘valued one are defined in order can be easily distributed among different processors. to represent the siphon property. Then, the objective will he In order to confirm these ideas, a first experiment was done to cancel positive signs with the addition of places that can comparing this method with Lautenbach’s method [I61 when produce ‘*’ and negative ones. The set of siphons can be applied to a set of S4PR nets. Table I1 shows the results obtained using the result presented in the following theorem. of the experiment (the meaning of each row is explained in It is based on the selection of a set of rows (places) of the Section IV). From the results, it seems that the Boer-Murata’s sign incidence matrix. method is well adapted to the problem. In the table we can Theorem I (1131): Let N = (P,T, C ) he a Petri net see that when the size of the problem increases, the adopted with )TI = n and ]PI = m. A subset of places, S = method tends to be better than the Lautenbach’s one. {pl,pz, ...,p k } 2 P, is a siphon if and only if the addition An alternative method to compute siphons containing a set of the k row vectors of the sing incidence matrix of N , of places was presented in [ZI).It was discarded because AI fEAz fE ...fE Aa, contains no entries, where -4j denotes of its poor performance in our preliminary tests. Finally, the the row vector corresponding to place p i , j = 1,2, ...,IC. improvements to the Boer-Murata’s method introduced in [I91 Given the previously defined arithmetic, if the sum of these were also considered. However, these improvements are not of rows does not contain ‘+’ entries, this means that for each interest in S4PR nets, since when applied to nets of this class ‘+’ in a row (the place is the output of the corresponding no better results were obtained. (there transition), there is another row with a ’-’, or a ‘i’ 111. THEIMPLEMENTATION exists a place of the net that is the input of this transition). Since the original algorithm was able to obtain the placeThe method proposed in [I31 is based on the iterative application of the previous ‘cancellation’ of ‘+’ signs by minimal siphons for any place in the net it is obvious that means of the addition of matrix rows. Any grouping of places the computation of the siphons that involve resources can (addition of a set of rows) with no ‘ f ’ signs corresponds to he easily parallelized, computing place-minimdl siphons for a siphon. different remurces in different processors. In this way, as Since the approach is based on selecting a matrix row, the many sets of place-minimal siphons as available processors corresponding place will be always present in the obtained can be computed in parallel. The approach used to organize siphon (if any). In consequence, some of the obtained siphons the parallel computation can be seen in the literature with the can be non-minimal. To clarify this, let us show the definition name of divide and conquer since it follows the well known of place-minimal siphons which are the structural component strategy for sequential programs (see for example 1271’.) Let us sketch the basic steps of the parallel implementation. that this method is able to compute. Definition 2: A place-minimal siphon with respect to place Algorithm 0. I shows the skeleton of the program implemented P is a siphon containing place p and a minimal set of places. in each one of the processors: it is based on the application Now it is clear that the algorithm can he adapted to our of three steps. problem: the method can select just the rows corresponding to Step 1 the places that are of interest for the control policy (resources). First of all. the set of resources is distributed among the In consequence we can select which place-siphons compute, available processors, in such a way that each processor avoiding the non-interesting ones; moreover, this computation has to compute siphons for a similar number of resources. can be done in an independent way for each place, introducing For this, an ordered list of active processors is created an an easy way to add parallelism to the computation. maintained. Since the method computes place-minimal siphons (let us ’There is a pattem-based approach [28]. where the authors identify. among remark that they can be non-minimal), some filtering will others. the Divi&AtulCo,?quer pattem in the comeit of parallel application be needed in order to obtain the minimal ones. Notice that programs design.

‘+’

.

323

Algorithm 0.1 Function computeSiphons(1nN:a S 4 P R )Return : ( S : set) -Pre: TRUE -Post: S is the set of minimal siphons of H

- that contain resource places

Begin pvocessJd := getidentifier num.Processes := get-nambera f .pracesses If (processld = 0) Then - Pracess 0 is the last one to terminate Start.Clock Send Signal to the other processes to start Else - The other processors wait for the Process 0 Wait Signal from process 0 End If Read the Petri Net Sp?.aceaa.rd := compute place-minimal siphons for the resources assigned to processJd While numProcessea > 1 If process3d mod 2 = 0 Then - Processes in charge of merging Wait for the process with identifier processJd + 1 Obtain the Siphons from p r o e s s J d + 1 sproce,a.Id = S p r o c a J d U Sp?ocessJd+l Else

-Processes that send their siphons and terminate Contact with process pvocesdd - 1 Send the Siphons to proceas3d - 1 Terminate End If End While - Only process 0 reaches this point S = minimal siphons from SO Stop-Clock Return ( S ) End

.

Let us consider, for instance, the nine philosophers problem. There will be nine resources (in this case the resources are the forks, and there is one fork for each philosopher). Moreover, let us suppose that we have four available processors. The first step would be to distribute the places modeling the forks among the processors. Then, each processor will be in charge of computing the set of place-minimal siphons related to the resources assigned to it. For example, processor PI could be in charge of computing the place-minimal siphons related to forks R1, R5 and R9; processor PZ the ones corresponding to R2 and R6; processor P3 the ones corresponding to R 3 and R7; finally, processor P4 would compute the ones related to R4 and R8. Step 2 When each processor terminates its computation, it tries to contact with one of the remaining active processors. To organize this a simple strategy has been used, but more complex ones could also be introduced: the processors that are in an odd-numbered position in the list are in charge of merging, while the others just have to

communicate with the corresponding ones in charge of merging, send the data, and terminate (they are then eliminated from the list of active processors); each evennumbered processor will contact with its predecessor in the list2. The merging operation is very simple: the union of both sets of siphons. The goal is to obtain the set of all minimal siphons, so this merging will continue until just one processor remains active. For example, processor P1 could merge the set of siphons it has computed with the ones computed by processor P2 (obtaining the place-minimal siphons corresponding to resources {Rl,R5,RS,RZ, R6)j; when this merging operation terminates, processor P.2 is eliminated from the list of active processors. Processor P3 could merge the set of siphons it computed with the ones obtained by processor P4 (in this way, the set of place-minimal siphons corresponding to resources {R3, R4,R?, R8) is constructed); processor P4 is also eliminated from the list when this operation terminates. When one of the processors in charge of merging terminates, and while there exist more active ones, ir tries to contact with other processor (again depending on its position in the list of active processes, it will have to execute either a merging operation or just sending its computed data and terminate). This step will be repeated until just one processor remains active, which is the one that will have all the place-minimal siphons. In the considered example, a second round is needed, where processor P1 merges its place-minimal siphons with the ones obtained by processor P3. Step 3 When the previous stages terminate there is a unique remaining active process, which contains all the placeminimal siphons (related to resource places.) Since some of them could be non-minimal, the last stage consists of a filtering operation to eliminate the non-minimal siphons. The merging and filtering steps require the efficient storage and manipulation of sets of siphons (sets of sets of places). To do that, Ordered Binary Decision Diagrams (OBDDsj [291 have been used, transforming these merging and filtering operations into the manipulation of symbolic boolean functions. An immediate way of decreasing the number of sets (siphons) that have to be manipulated consists in doing the filtering operations before executing a new merging. However, our preliminary experiments with this approach showed that it was quite expensive, so we decided to do the filtering only at the last step. 1V. T H EEXPERIMENTS In order to study the behavior of the proposed parallel version some experiments have been done. Since no benchmarks have been proposed in the literature to measure the run-time >We will see later that il is a naive approach but our experiment.

324

useful for the purposes of

variations in these families of systems: the first one is changing the length of the process; that is, the number of processing steps ( N in the Figure). The second one is changing the number of processes to be composed (in the figure two processes are shown). For the experiment, the sequential processes are composed with other processes according to the following rules: The first process shares its resources with the second one in reverse order: the resource used at the first step in the first process is used at the last step of the second process; the resource used at the second step of the first process is used by the one that is previous to the last step in the second process, and so on. That is, if resources are numbered (according to process one) 1,2, ,..,N (where N is the length), they will be used by the first process in this order and by the second one in reverse order (N, N - 1,...,1). The second process is composed with the third one in a similar way, and the same is also true for the composition of the third with the fourth and so on, until we reach the total number of composed processes. Finally. the last process is composed with the first one, following the same pattern. Using the previous skeletons, two different families of S 4 P R nets have been generated, labelled as FMSLD and FMSAD in Tables I1 and 111. - FMSLD nets arc obtained by means of the composition of two sequential processes as the ones depicted in Figure 2. where the parameter is the length of each process (N in the figure). In the experiments, N is varying from 1 to 8. - FMSAD nets are obtained by means of the composition of a variable number of sequential processes as the ones depicted in Figure 2, whose length is 3 and the parameter is the number of processes. In the experiments, the number of composed processes is varying from 1 to 11. These last two families have been chosen with the objeclive of exploring the two obvious (and different) growing directions: the first one shows a system whose resources are involved in siphons that can be of a big size, while in the second one siphons are rather

-

-

Fig. I. Pel” net model of lhe i-th philosopher TI.,

T1.0

-

Fig. 2.

Petri net model of two sequential processes using resources

Cost for ihis problem, three parametrized families of nets have been chosen: The first one corresponds to an implementation of the well known dining philosophers problem. The parameter comesponds to the number of philosophers. Figure 1 shows the model of the ith philosopher. Places f0rkR.i and forkL-i model, respectively, the state (free/engaged) of its right and left forks. The f0rkforkR-i will be shared with the philosopher on his right, and the f0rkL-i will be shared with the philosopher on his left. The results obtained for this family of nets are entitled Phil in Tables I1 and 111. ’ The second and third classes of systems are obtained by means of the composition of a set of sequential processes: each process, at each processing step, has attached a single (and different) resource. An skeleton of the petri nets representing two of such sequential processes can be Seen in Figure 2. There are two ways to study size

v.

NUMERICAL RESULTS

W Okinds of experiments have been carried out. The first class of experiments tried to see if the approach introduced in [I31 was adequate for S 4 P R nets. To do that, we did a comparison o f t h e time required to compute the set of minimal siphons with that method and the one proposed in [16]. The second of experiments measured the speed-up when the implementation presented above is used, A . Comparison offhe PWOsals in II61, 1131

The first set of results has been obtained in a SGI Challenge L (6x R4400 200 MHz) with 512 Mb of RAM. The operating

325

B. Measuring the pmposed parallel implementation

TABLE I 1 COMPARING LAUTENBACH’S METHOD WITHBOER A N D MURATA’SONE USING A UNIQUE PROCESSOR

system is IRIX 6.2. The measures are in seconds. The results can he seen in Table II. This table has foul columns. The first column shows the problem identifier, with the following meanings for the tags: Phil: the philosopher’s problem. FMSLD: the composition of two processes of variable length. FMSAD. the composition of several processes of length three. The second column shows the parameters defining the problem size as explained before. This value is followed by a tuple that corresponds to the torn1 number ofplaces, rhe number of resources, the number of arcs, and the number of transitions. The third column shows the run-time costs when the method in [I31 is used. The fourth column shows the run-time costs when the method in 1161 is used.

. .

the following comments we are going to say that a method is more or less appropriate for S 4 P R nets. However. it must be clearly stated that we only can provide some conclusions based on the results of our experiments and that they are not general enough to obtain conclusions about all the S 4 P R nets. The experiment results show that the Lautenbach’s method is better for small S 4 P R nets. However, when the size of the net grows, the approach in 1131 obtains a better performance. These results are coherent with the election done in [30], where the method proposed in [I31 was selected to improve their graph-based approach for general nets. It must be noticed that the approach presented in [I31 has been adapted to compute the set of place-minimal siphons related to resource places, while the method proposed in [I61 computes all the minimal siphons. In this sense, no conclusion about which method is better in general can be offered, since we were just trying to measure which one was more adequate for our purposes.

The parallel version has been implemented using 12 Pentium I11 (1GHz) computers with 256Mb of RAM each. They are in a switched network connected via Ethernet. The operating system is Linux (kernel version 2.4.9).To implement the parallel version we used mpich 1 . 2 . 4 ([31]), a freely available implementation of the Message Passing Interface (MPI, 1321). MPI provides a standard set of definitions which allow parallel programs to be implemented under the distributed memory paradigm, together with a mechanism to transfer data between processors; this mechanism is based on the use of message passing; each processor is given the ability to send and receive copies of data to and from other processors. The run-time cost has been approximated by the run-time cost of the first processor which is the first to start the computations and the last one to terminate. To do that, a clock is reset when it starts working (sentence Start-Clock in Algorithm 0.1) and stopped when it is terminated (sentence Stop-Clock in Algorithm 0. I). No more processors than resources are used in any case, since we have not investigated other ways to further parallelize the needed computations. We were interested in measuring the relative speed-up as a way to know the effect of adding parallelism to the application. The relative speed-up is a standard measure for parallel solutions defined as the quotient of the time spent in solving the problem with several processors divided by the time spent in solving the same problem using the same method in just one processor (see [33], for example).. The numerical results obtained in the experiments are shown in Table 111. The structure of such table is as follows: 1) The first column shows the problem identifier (as in the previous experiment). 2) The second column shows the parameters defining the size of the problem as explained before. This value is followed by a tuple that corresponds to the number of places of the net, the number of resources. the number of arcs, and the number of transitions. 3) The third and following columns show the time of our parallel implementation of Boer and Murata’s method solved with 1, 2,4, ..., 12 processors. In parentheses the relative speed-up is shown. Empty cells represent cases where the number of processors is bigger than the number of resources. Following the results obtained in this experiment we can conclude that parallelization clearly improves the computations: important reductions are obtained when the number of processors grows. Anyway, it is important to notice that no clear conclusion about the optimal number of processors can be established, since the growing is different for the proposed families. The maximum size for each problem has been decided when not enough processors were available to show growing in the speed-up or when the base case (with only one processor) was very expensive. Notice that the results are significative when the net is big

326

RI

R2

Rl

R8 RI4

RI3

R3 R9

RI5

R4

R1U RI6

R5 RI1 RI7

R6 R12 RI8

RI

R2

R9 RI7

RIO

R3 R11

R4

RS

RI2

RI3

R6 RI4

R7

R15

~

R8 RI6

RI8

is a very hard task because the number of such components can he very big (even exponential in some cases). However, the special syntactic characteristics of the Petri net models corresponding to RAS and, specifically, to S'PR systems, made us to wonder whether specific adaptations of methods for siphon computation could he possible. This work is devoted to the study of such question. Some empirical experiments and research about the available methods for siphon computation have shown that the method proposed in [131 is adequate for our needs. Taking advantage of both the structure of S4PR nets and the way the siphons are computed in the selected method, it has been improved by means of a parallel solution. In order to measure the improvements some experiments have been carried out, comparing the time required for the computations of siphons in families of Petri nets. As a result of such experiments we can conclude that the proposed parallel algorithm is of great interest since the speedup charts show that the use of a set of processors (even in the case of them being connected using a network of computers instead of a multi-processor) gives very good results.

enough. For small-sized nets no significative results can be obtained. They are graphically depicted in Figures 3, 4, and 5.

Figure 3 shows the program behavior when applied to the philosophers problem. The high homogeneity of the models help to reach a good speed-up. Figure 4 shows the growing of the relative speed-up for the FMSLD family. Finally, Figure 5 shows the behavior of the method for the FMSAD family. Let us concentrate on some irregularities appearing i n the behavior of the program, and let us explain our interpretation. For example, in the case of the Philosophers family of size 18 there is only small improvement when 8 processors are used in comparison with the case of 6 processors (see Figure 3). Table IV shows how resources would be distributed among 6 processors, and Table V shows the distribution of resources among 8 processors. It is clear that when 8 processors are used processors P1 and I? have to d o some more work than the rest (approximately as many as in the case of 6 processors). Therefore, little improvement can be obtained. Due to the regular form of the philosophers model, in this case the reason is clear, and the behavior is due to a problem of local-balance. VI. CONCLUSIONS

REFERENCES

Some deadlock prevention control policies need the set of minimal siphons to be computed. It is well known that this

[ I ] T. Muram. "Pciri necr: Propenies. analysis and applications," Pmceedin*$ of [he IEEE, vol. 77. pp. 541-580, Apr. 1989. 121 E Commoner, "Deadlmkr in Petri nee,"Applied Dolo Research, 1972.

327

-

8

...~~~. ~)I_

..il

........................

..

7

. . ..~*.

6

...*... .....

~*..

t

5

3

n

J4

,

../_ .

3

2 1

0

2

4

I

io

8

6

12

Number Of Processars Fig. 3. 8

size 1

Speed-up for the Philosophers family

-

/"

.....................

............ ~ . . ~ . . ~ . ~ ~ . ~ /.

...

.... ~

L

i&

... '"E. ...*................. " "

'

. ~ . ~ ......*----.~.~ .......... ..... ...

....

.~ ... ...

......... .~~. .~......

.......

1

n... .......

I ~~

2

4

8

5

10

12

Number Of Processors Fig. 4.

Speed-up for the

131 G. W. B r a " R2seaiu de Pelri. Theorie el Prarique 12 romm). Pans: Masson, 1983. [41 1. Esparra and M. Silva. "A polynomial-time algorithm 10 decide liveness of bounded.free choice nets," Throrefical Cvmpurer Sciencer, vol. 102. pp. 185-205, 1992. 151 K. Bahaoui and M. Minour, "A polynomial-lime graph algorithm to decide livrnesr of some b s i c classes ofbounded Petri nets," in Advances in Prrri Nelm I992 IK. Jenren, ed.), vol. 616 of Lecture Norer i n Cotnpurer Science. pp. 62-75. Berlin: Springer Verldg. 1992. (61 K. Barkaoui and I. Pradar-Peym ',On livcoess and conrrollcd siphons in Petri nets? in Proc. of rht 1996 Inr Con$ 011 Aplicalions nnd T h t q of Petri Nerr. Springer Verlag, June 1996.

FMSLD family

171 M. Jeng. X. Xie. and Y Huang, "'Manufacturing modeling using process net! with resources:' in Pmc. of the 2000 IEEE l n r e m o l i o ~ lConference on Rdbolicx and Relomalion, (San Francisco. USA). pp. 2185-2190. Apr. ZWO. 181 I . Park and S . Reveliolir, "Deadlock avoidance in sequential resource allocation systems with multiple resourcc acquisitions and flexible rouiingn:' IEEE Tranrocrionr on Airromarir Conrml. vol. 46, pp. 15721583. Ocl. 2001. [9]E Tricas. 1. Colom, and I . Ezpeleta, " A sol~tion to the problem of deadlmks in concurrenl systems using Petri nets and integer linear programming." in Pmc. of the 11th Eumpean Sinzulolion Symporium (G.Horron. D. Malier, and U. Rude. edr.). (Erfangen. Germany).

328

I

0' 2

4

6 8 Number 01 Processor$

10

12

Fig. 5. Speed-up for the FMSAD family

pp. 542-546, The society for Computer Simulation hi.,Oct. 1999. I101 I. Ezpeleta. I. Colom, and 1. Martinez, "A Petri net bared deadlock prevention policy for flexible manufacturing systems," IEEE Tmnr on Roborics ordAuromarion, vol. 11, pp. 173-184, April 1995. 1111 F. Tricas, E Garcia-Vall.5. I. Colom. and J . Ezpeleta. "An iterative method for deadlock prevention in FMS," in Disscrere Event Systerns; A,rolysir and Control. Proc. of lhe WorkJhop On Discrere EWI Sysrrrns 2oW (R.Boel and C. Stremersch. eda.). (Chent. Belgium). pp. 139-148. Kluwer Academic Publishers. Aug. 2wO. 1121 M. V. lordachc. J. 0. Moody. and P. Anlraklir. "Synlhesis of deadlock prevention supervisors using Petri riels." IEEE Twrraciiotts on Roboricr oadArrto,,?ation. vol. 18. pp. 59-68, Feb. 2002. 1131 E. R. Boer and T. Murala, "Generating basis siphuns and craps of Pet" nets using the sign incidence matrix.:' /€€E Tronr. on Circuirs ond Systm" I - Fundommid Themy ond Applicnrions, vol. 41, no. 4,

pp. 266271, 1994. 1141 J. Toudic, Algorithmer d'analyse rrrucrureiis de r&eotrr de Petri. PhD thesis. Universit6 Pierre e l Marie Curie (Pnris VI). 1981. I151 H. Alaiwan and J. Tooudic, "Recherche des remi-flou. des YCITOUX et des trappes dans les rseaux de Petri," Tedrniqire et Science Informaiiquer, p p 103-1l2. 1985. In French. K. Lautenbach. "Linear algebraic cal~ulationof deadlocks and traps," in Concurrency and Nels (Voss,Cenrich, and Roremberg. eds.). pp. 315336. Springer Verlag, 1987. I. Eiplera and 1. Couvreur, "A new technique for finding a generating family of siphons. traps and st-omponents. application to colored Petri ners:' in Proceedings of the 12rh. lnlemalional Conference on Application orid T h e q of Pewi Nels. (Anrhus (Denmark)), pp. 145164. June 1991. 1181 J . Ezpeleta, J. Cauvreur, and M. Silva. "A new technique for finding a generating family of siphons. traps and st-componenll. application to colored Petri mu:' in Advancer in Petri Nets 1993 (F.Rorenkrg. ed.). vol. 674 of Lpcrtrre N o l a on Computer Science. pp. 126147, Aarhur (Deemark): Springec-Verlag. 1993. I191 M. Yamauchi and T. Watanabe. 'Xlgorithms for extracting minimal siphons canlaining specified places in a general Petri net: IEICE Trans. Fundarsentalr. vol. E82-A. pp. 2566-2575. Nov. 1999. 1201 K. Barkanui and B. Lemaire. "An effective characrerimion of minimal deadlocks and traps in Petri ne[$ based on graph lheory." in Proceedi,tgs of d e 10th. hrernoiionnl Confermce oil T h m v and Applicarionr of Perri ncis, (Bonn). pp. 1-22, 1989. I211 T. Watanak. M. Yammuchi. and S. Tmimolo. "Extracting siphons

containing specified set of places in pevi net.:' in Pmr IEEElnf. CO$ on System$ Man, and Cybemeties fSMC'98). 11-14 Ocrober 1998, San Diego. USA, pp. 142-147, Oct. 1998. M. Jeng, M. Peng. and Y. Hung, "An algorithm for calculating minimal siphons and naps of petri nets:' I M Joumal of Intelligenr Control and Symmr, vol. 3, no. 3, pp. 263-275, 1999. [23l M. Silva. Lns Rerles de Petri en In Aatomdrico y la Informdrico. Madrid: Editorial AC. 1985. 1241 M. Minoux and K. Barkaaui. "Deadlocks and traps in peui nets Bs hom-satistiability solutions and some related plynomially solvable problems," Dixreie Morhmraricr, vol. 29, pp. 195-210, 1990. Newsletterlnfo: 39. 1251 F. C. Vallks, Contriburions IO the S!ruclurol and Symbolic Analysis of Ploceflrmrition Net$ wirh Applicadonr to Fkribie Manufocruring Systems and Asynchmnous Circuit$. PhD thesis. Zaragoza. Erpaiia, Dewxlamento de lnecnieria El6crrica e Informsilica, Universidad de Za;agozu, 1999.

I261 F. T i f a r . Deadlock Analyis, Prevenrion and Avoidance in Seqrmsiol Resource Atlocotion Syrlems. Ph.D. Thesis. May 2003. I271 S. AH, Parallel Computorion: Models and Melhods. Prentice-Hall. 1997. 1281 B. L. Marsingill. T. G. Martson, and B. A. Sanders, "More patterns for parallel application programs," in Pmceedings of the Eishrh Paltern Langaages 0fPmgramS Workrhop, 2001. 1291 R. Bryant, "Symbolic bwlean manipulation with ordered binary decision diagrams," ACM CompPliItg Surveys, vol. 24, pp. 2933318. September 1992. I301 M. Yamauchi and T. Watanak. 'Time complexity analysis of the minimal siphon extraction problem of Petri nee," IElCE Trans. Fund m " r o l r , vol. €82-A. pp. 2558-2565, Nov. 1999. (311 W. D. Cmpp and E. Lusk, User's Guide for mpich n Portable Implementation of MPI. Mathematics and Computer Science Division, Argonne National Laboratory, 1996. ANL-9616. 1321 M.P. I.Forum. "MPI: A message-passing interface standard," Inlermtiom1 Journal of Supermmpurer Applicolionr, vol. 8, no. 314, 1994. 1311 D.J. Kuck, The struclure of computer$ and computations. vol. 1. John W h y and Sons, 1978

329

Suggest Documents