44
Graduate Seminar - Deadlock Avoidance in FMS, June 2002 Dr. Jacob Rubinovitz Deadlock Avoidance Methods in Flexible Manufacturing Systems Jacob Rubinovitz Technion - Israel Institute of Technology Faculty of Industrial Engineering & Mgmt.

Deadlock avoid

Embed Size (px)

DESCRIPTION

Deadlock Avoidance Methods in FMS Seminar in Univ. of Minho in 2002

Citation preview

Page 1: 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.

Page 2: Deadlock avoid

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

Page 3: Deadlock avoid

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

Page 4: Deadlock avoid

Graduate Seminar - Deadlock Avoidance in FMS, June 2002

Dr. Jacob Rubinovitz

Introduction: Flexible Manufacturing Systems

Page 5: Deadlock avoid

Graduate Seminar - Deadlock Avoidance in FMS, June 2002

Dr. Jacob Rubinovitz

Introduction: Flexible Manufacturing Systems

Page 6: Deadlock avoid

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.

Page 7: Deadlock avoid

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.

Page 8: Deadlock avoid

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.

Page 9: Deadlock avoid

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

Page 10: Deadlock avoid

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)

Page 11: Deadlock avoid

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.

Page 12: Deadlock avoid

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(.

Page 13: Deadlock avoid

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 ! ][

Page 14: Deadlock avoid

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

Page 15: Deadlock avoid

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

Page 16: Deadlock avoid

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

Page 17: Deadlock avoid

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

Page 18: Deadlock avoid

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

Page 19: Deadlock avoid

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

Page 20: Deadlock avoid

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

Page 21: Deadlock avoid

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

Page 22: Deadlock avoid

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

Page 23: Deadlock avoid

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

Page 24: Deadlock avoid

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

Page 25: Deadlock avoid

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

Page 26: Deadlock avoid

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

Page 27: Deadlock avoid

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

Page 28: Deadlock avoid

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

Page 29: Deadlock avoid

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

Page 30: Deadlock avoid

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

Page 31: Deadlock avoid

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

Page 32: Deadlock avoid

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

Page 33: Deadlock avoid

Graduate Seminar - Deadlock Avoidance in FMS, June 2002

Dr. Jacob Rubinovitz

Results : C)CB(=0, C)IB(={0}

Page 34: Deadlock avoid

Graduate Seminar - Deadlock Avoidance in FMS, June 2002

Dr. Jacob Rubinovitz

Results : C)CB(=M, C)IB(={0}

Page 35: Deadlock avoid

Graduate Seminar - Deadlock Avoidance in FMS, June 2002

Dr. Jacob Rubinovitz

Results : C)CB(=0, C)IB(={1}

Page 36: Deadlock avoid

Graduate Seminar - Deadlock Avoidance in FMS, June 2002

Dr. Jacob Rubinovitz

Results : SDDAP performance for different buffer sizes

Page 37: Deadlock avoid

Graduate Seminar - Deadlock Avoidance in FMS, June 2002

Dr. Jacob Rubinovitz

Results : SDDAP performance for different buffer sizes

Page 38: Deadlock avoid

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

Page 39: Deadlock avoid

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

Page 40: Deadlock avoid

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.

Page 41: Deadlock avoid

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.

Page 42: Deadlock avoid

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.

Page 43: Deadlock avoid

Graduate Seminar - Deadlock Avoidance in FMS, June 2002

Dr. Jacob Rubinovitz

Questions?

Page 44: Deadlock avoid

Graduate Seminar - Deadlock Avoidance in FMS, June 2002

Dr. Jacob Rubinovitz

Results : Part Selection Rules