Deadlock avoid
-
Upload
jacob-rubinovitz -
Category
Education
-
view
318 -
download
0
description
Transcript of Deadlock avoid
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Deadlock Avoidance Methods
in Flexible Manufacturing Systems
Jacob RubinovitzTechnion - Israel Institute of Technology
Faculty of Industrial Engineering & Mgmt.
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Introduction: Flexible Manufacturing SystemsAn automatic, programmable manufacturing system
Volume
Variety
Transfer Lines
Dedicated Systems
Flexible Systems
Automated Cells
Job Shops
CIM
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Introduction: Flexible Manufacturing Systems
Components of the System•Programmable machines (CNC,
Robots)•Flexible tools and fixtures• Flexible MH systems (AGV’s,
Robots)•Automated Storage and Retrieval
System•Computer control
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Introduction: Flexible Manufacturing Systems
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Introduction: Flexible Manufacturing Systems
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Deadlock-free operation is
crucial to the operation of an
FMS Research of Deadlock Avoidance
Methods:
• Evaluation of different policies.
• Integration of avoidance policies into
the control software of Flexible
Manufacturing Cells.
• A joint work with Jean-David Salama.
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Deadlock - backgroundParts in FMS compete for a finite number of resources (like robots, tools, pallets, fixtures, etc), and share buffers or queues having limited capacities.
A good FMS control method must resolve or avoid all the potential deadlocks during operation, without seriously degrading the system performance
A deadlock state occurs when each process in a set of processes is blocked indefinitely from access to resources held by other processes within the set.
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Necessary conditions for deadlocksMutual exclusion: resources can be allocated to only one process at a time.
No preemption: resources held by one process cannot be allocated to another process until they are released by the process holding them.Hold and wait: processes hold their resources when waiting for the next required resources.Circular wait: closed chain of processes, where each process waits for a resource held by the next process in the chain.
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Part Flow Deadlock
M2
M1
P1: M1M2
P2: M2M3
P3: M3M1
M3
M1 M2
M3P1: M1M2
P2: M2M3
P3: M3M1
M2M1
P1: M1M2
P2: M2M1
)MHD רובוט(
Machine M2
( No Buffer)Part P2
Machine M1
( No Buffer)Part
P1
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Methods for handling DeadlocksDetection/Recovery (Wysk et al., 1994)
Prevention – System design, such that deadlocks are impossible
(Epzeleta et al., 1995;Minoura and Ding, 1991; Viswanadham et al., 1990)
Avoidance – a control policy that examines each request for resource allocation prior to its execution
(Banaszak and Krogh,1990; Ferrarini and Maroni,1998; Hsieh and Chang,1994; Lee and Lin, 1995; Revelotis and Ferreira,1996; Xing et al.,1996;Yim et al.,1990)
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Capacity-Designated Graph )CDG(
IBi
A machine and its CDG node.
Ni
3
Mi
Yim, D.S., Kim, J.I. and Woo, H.S. )1997( Avoidance of deadlocks in flexible manufacturing systems using a capacity-designated directed graph. International Journal of Production Research, 35 )9(, 2459-2475.
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Capacity-Designated Graph )CDG(
Yim, D.S., Kim, J.I. and Woo, H.S. )1997( Avoidance of deadlocks in flexible manufacturing systems using a capacity-designated directed graph. International Journal of Production Research, 35 )9(, 2459-2475.
|N|=4,
A12=A21=A24=A43=A32=A14=A4
1=1
A42=A13=A31=A34=A23=0
X={1,2,0,1}C={2,2,1,3}
13
N2
22
N3
N4
N1
Fully detailed CDG graph G=)N,A,X,C(.
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Loops in a Capacity-Designated Graph
Cycle S1: N1N2N1
Cycle S2: N1N2N4N1
Cycle S3: N2N4N3N2
Cycle S4: N1N4N1
Cycle S5: N1N4N3N2N1
N3
N2
N4
N1
A CDG G=(N,A) containing 5 cycles.
N2
N4
N1 N3
A CDG G=(N,A) containing 57 cycles.
N5
Ni
N
-·) (iN -
= Σi =1
Smax
!
N ! ][
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Loops in a Capacity-Designated Graph
Routing Intensity Index
N2
N4
N1 N3
A CDG G=(N,A) containing 57 cycles.
N5
(
N
) 1N -=
Σi =1
RIIAij
N
N
Σj =1,j =
i ;0<RII<1
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Necessary Condition for a Deadlock
Macro Nodes
S1: N1N2N1
S2: N2N3N2
S3: N1N3N1
S4: N1N2N3N1
S5: N1N3N2N1N3
N2N1
A CDG G=(N,A)with 5 cycles and 4 macro nodes.
MN1={N1,N2}MN2={N2,N3}MN3={N1,N3}MN4={N1,N2,N3}
Deadlock Avoidance Policy: <C(MNi ) C(Nj)-1Σ
Nj Si
There is a loop S i
such that : =X(Nj )Σ
Nj Sj
C(Nj )ΣNj Sj
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
1N5 N4
1
1
N2MN1={N1,N2,N4,N5}
MN2={N2,N3,N4}N3
12 constraints:X)MN1( 3X)MN2( 2
N1
1
Impending (Policy-Induced) Deadlocks
In order to avoid the impending deadlocks, CDG graph (cycle) reduction is needed
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Cycle Reduction Algorithm outputMacronode
Node elements Macro node capacity
MN1 {N1,N2,N4,N5} C(MN1)=C(N1)+C(N2)+C(N4)+C(N5)-1=3
MN2 {N2,N3,N4} C(MN2)=C(N2)+C(N3)+C(N4)-1=2
MN3 {MN1,N3}={N1,N2,N3,N4,N5}
C(MN3)=C(MN1)+C(N3)-1=3
MN4 {MN2,N1,N5}={N1,N2,N3,N4,N5}
C(MN4)=C(MN2)+C(N1)+C(N5)-1=3
G3G2
Level 2
Level 1
3 1
MN1N3
1N5
1
MN2
2
N1
1 1
N5
N4
1
N2 N3
1
N1
G43
MN3
G53
Level 0
G1
1
MN4
MN2N1
N5 1
21
Cycle reduction in a CDG graph
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
To propose various control solutions for part flow regulation in FMCs, all structured around four different deadlock avoidance policies (DAPs).
The DAPs will be evaluated by their properties of: correctness, scalability, configurability, efficiency.
Objective- Deadlock Avoidance Policies
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
DAP properties
CorrectnessGuarantees always a deadlock-free operationScalabilityComputational complexity for the control system is independent of the FMC complexity
Can be applied to various FMC configurations
Configurability
EfficiencyFMC operation is not restricted by policies that degrade its performance
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
The Deadlock Avoidance Method
Request for movement
of a part to a node in a given CDG graph G
NoYesAllow the
movementRefuse the movement
Condition X)RMNi(C)RMNi( satisfied for all i ?
Compute the current number of parts in each relevant macro node
assuming that the requesting part was transported
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Part Flow Management
No Yes
Operation on part completed...
Transfer unfeasible:
Part waiting for future transfer
Transfer refused:
Part waiting for future transfer
Transfer allowed:
Part actually moved by the
robot
Transfer feasible: DAP applied to
allow or refuse the transfer
Is the robot idle and is there some open space in the downstream station ?
The robot completed a delivery...
Parts requesting movement
remain at their locations.
Checking if the transfer of each waiting part is unfeasible,
feasible but refused, or feasible and accepted
0
1
Number of accepted transfers ?
The requesting part picked by
the robot
2 or more
A part selection
rule is used to
pick a part
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Four Different Deadlock Avoidance Policies
Static (SDAP)Dynamic (DDAP)
Selective Static (SSDAP)
FIFO Loading Discipline applied to parts in the Input Buffer
Selective Dynamic (SDDAP)Selection from all the different part types waiting in the input buffer
M3
M1
Entry Buffer
M2
M3
M1
Entry Buffer
M2Step-by-step
backward search
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Static Strategy
Dynamic Strategy
Apply the deadlock avoidance method
On-line
Create a CDG considering remaining machine sequences of each part in the system, and assuming that the requesting part was
transported.
Compute the relevant macro nodes RMNs and their capacities C(RMNs).
Determine the current number of parts in each relevant macro node X(RMN)
assuming that the requesting part was transported.
Movement of a waiting part feasible
Create a CDG from the static information on machines, machine capacities and complete part type
routes
Off-line
Determine the resulting number of parts in each relevant macro node X(RMN)
Apply the deadlock avoidance method
On-line
Compute the relevant macro nodes RMNs and their capacities C(RMNs)
Movement of a waiting part feasible
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Illustrative Example
|N|=3A12=A23=A21=A32=1C={1,1,1}
M2 M3R1 : M1M2M3
R2 : M3M2M1
M1
Entry Buffer
Gantt chart, schedule under a static strategy - SDAP or SSDAPM1
M2
M3
WIP 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Time1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Gantt chart, schedule under a dynamic strategy - DDAPM1
M2
M3
WIP 1 2 3 2 1 1 2 2 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1
Time1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Gantt chart, schedule under a dynamic strategy - SDDAPM1
M2
M3
WIP 1 2 3 3 2 1 2 2 3 3 2 1 1 2 2 1 1 1 1 1 1 1 1 1
Time1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Experimental Setup
EXIT STATION
ENTRY STATION
# Processed Parts
Current Time
# Parts in System
NumberReplication
WAREHOUSECENTRAL
STATION 1
STATION 2
STATION 3
STATION 5
STATION 4
BUFFERCENTRAL
0
0
STARVED
StateInitial
IDLE
0
STARVED
INSPECTION
STARVED
STARVED
08:00:00
0
0
0
STARVED 0
0
0
0
0
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
System Structure
FMC Simulation Model
)Arena(
Deadlock Detectio
n Module Cycle Search
Algorithm
External Module
Cycle Reduction Algorithm
BP Static Deadlock Avoidance Module SDAP SSDAP SBP
Part Selection Rules Module
PSR1 PSR3 PSR2 PSR4
Dynamic Deadlock Avoidance Module
DDAP SDDAP
Part Flow Control Module
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Experimental DesignFour Different Deadlock Avoidance
Policies
Dynamic (DDAP)
Selective Static (SSDAP)
Static (SDAP)
Selective Dynamic (SDDAP)
FIFO Loading Discipline applied to parts in the Input Buffer
M3
M1
Entry Buffer
M2
Selection from all the different part types waiting in the input buffer
M3
M1
Entry Buffer
M2Step-by-step
backward search
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
3 part types machines, 4 : Cell A
Buffer CapacitiesCell ACell B
1C)CB(=0, C)IB(={0}, CBS=4
C)CB(=0, C)IB(={0}, CBS=5
2C)CB(=4, C)IB(={0}, CBS=8
C)CB(=5, C)IB(={0}, CBS=10
3C)CB(=0, C)IB(={1}, CBS=8
C)CB(=0, C)IB(={1}, CBS=10
4C)CB(=4, C)IB(={1}, CBS=12
C)CB(=5, C)IB(={1}, CBS=15
5C)CB(=0, C)IB(={2}, CBS=12
C)CB(=0, C)IB(={2}, CBS=15
Experimental Design – 2 cell types
6 part types machines, 5 : Cell B
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Experimental DesignPart Selection Rules (PSR)
PSR2 – priority to parts with maximum remaining processesPSR3 – priority based on part typePSR4 – priority based on resource (machine) type
PSR1 – priority to parts with minimum remaining processes
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Experimental Design
RII – Routing Intensity Index
High RIILow RII
Cell ARII = 1RII = 2/3
Cell BRII = 0.9RII = 0.6
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
High Routing IntensityLow Routing Intensity
Cell A
Cell B
N3
N1 N2
N4 N3N4
N1 N2
N4
N3
N1
N2
N5N4
N3
N1
N2
N5
R1: M1 M2 M4 M3
R2: M4 M1 M3 M2
R3: M3 M4 M2
R1: M4 M2 M1 M4 M3 M1
R2: M1 M2 M3 M4
R3: M3 M2 M4 M1 M3
R1: M1 M2 M3 M4
R2: M2 M1 M4
R3: M4 M5 M1
R4: M5 M4 M2 M1
R5: M3 M4 M1
R6: M4 M3 M1
R1: M1 M5 M3 M4 M2
R2: M2 M3 M1
R3: M4 M5 M2 M4
R4: M1 M4 M3 M5
R5: M5 M4 M3 M2 M1
R6: M4 M1 M2 M5
Experimental Design
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Unbalanced mixBalanced mix
P1=0.65P2=0.25P3=0.10
P1=P2=P3=0.333Cell A
P1=0.55P2=0.20P3=0.10P4=0.5P5=0.5P6=0.5
P1=P2=P3=P4=P5=P6= 0. 1666
Cell B
4 * 2 * 5 * 2 * 2 = 160
Experimental Design – Product Mix
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Results : C)CB(=0, C)IB(={0}
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Results : C)CB(=M, C)IB(={0}
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Results : C)CB(=0, C)IB(={1}
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Results : SDDAP performance for different buffer sizes
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Results : SDDAP performance for different buffer sizes
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Config# .Cell ACell B
1[67.3%,87.8% ][69.7%,79.4% ]
2[82.3%,90.6% ][78.9%,92.4% ]
3[84.1%,92.4% ][80.9%,98.5% ]
4[92.2%,99.5% ][88.3%,98.7% ]
5[82.4%,96.2% ][81.8%,99.8% ]
Results : SDDAP performance for different buffer sizes
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Operation on a part completed: if the transfer is unfeasible or refused by the DAP, the part is moved to the central buffer CB, provided that there is some open space in it .
The robot completed a delivery: the control system checks first all the parts currently in the CB. Priority is given to these parts in order to reduce the amount of average WIP in the CB.
Incorporating a Central Buffer
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
The static policies are inefficient and generate low throughput rates in single capacity cells (SCCs), even after incorporating a central buffer. For this system configuration, SDDAP is the most appropriate operating policy.
Conclusions - Efficiency:
The DAPs have similar performance for double capacity cells (DCCs) with no central buffer; Throughput is slightly higher with SDDAP. The use of SDDAP is recommended for a high routing intensity level.
High throughput rate is achieved for manufacturing cells of |M| machines with attached input buffers of single capacity and a |M| capacity central buffer.
The superiority in terms of throughput of a selective policy (such as SSDAP or SDDAP) over a standard one (like SDAP or DDAP) is, as expected, more apparent when the part mix is balanced.
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
The computational complexity becomes higher in the following order of DAPs application: SDAP, SSDAP, DDAP, and SDDAP.
Conclusions - Computational Complexity
SDDAP is computationally more intensive when applied respectively to Single, Double and Triple Capacity Cells.
As a result, a static strategy may represent the best alternative for operating a system including machines with buffers of capacity two or more. Under such conditions, a static policy is not less efficient than a dynamic one, generates less WIP, and is computationally much less complex.
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Potential Implementation: Cluster Tools
NEXUS 600
NEXUS 600Six-port cluster tool that will accommodate four process modules and dual load-locks and integrated wafer handler.
NEXUS 800
NEXUS 800Eight-port cluster tool that will accommodate six process modules and dual load-locks and integrated wafer handler.
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Questions?
Graduate Seminar - Deadlock Avoidance in FMS, June 2002
Dr. Jacob Rubinovitz
Results : Part Selection Rules