Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of...

44
Maurizio Palesi 1 Flow Control

Transcript of Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of...

Page 1: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi1

Flow Control

Page 2: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi2

Flow Control Flow Control determines how the resources of a

network, such as channel bandwidth and buffer capacity are allocated to packets traversing a network

Goal is to use resources as efficient as possible to allow a high throughput

An efficient flow control is a prerequisite to achieve a good network performance

Page 3: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi3

Flow Control Flow Control can be viewed as a problem of

Resource allocation

Contention resolution

Resources in form of channels, buffers and state must be allocated to each packet

If two packets compete for the same channel flow control can only assign the channel to one packet, but must also deal with the other packet

Page 4: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi4

Flow Control Flow Control can be divided into

Bufferless flow controlPackets are either dropped or misrouted

Buffered flow controlPackets that cannot be routed via the desired channel are

stored in buffers

Page 5: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi5

Circuit Switching

Circuit-Switching is a bufferless flow control, where several channels are reserved to form a circuit

A request (R) propagates from source to destination, which is answered by an acknowledgement (A)

Then data is sent (here two five flit packets (D)) and a tail flit (T) is sent to deallocate the channels

Page 6: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi6

Circuit Switching

Circuit-switching does not suffer from dropping or misrouting packets However there are two weaknesses

High latency: T0 = 3 H tr + L/b (ignoring wire latency)

Low throughput, since channel is used to a large fraction of time for signaling and not for delivery of the payload

Page 7: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi7

Buffered Flow Control More efficient flow control can be achieved by adding

buffersWith sufficient buffers packets do not need to be

misrouted or dropped, since packets can wait for the outgoing channel to be ready

Page 8: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi8

Buffered Flow Control Two main approaches

Packet-Buffer Flow ControlStore-And-Forward

Cut-Through

Flit-Buffer Flow ControlWormhole Flow Control

Virtual Channel Flow Control

Page 9: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi9

Data Units

Page 10: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi10

Store and Forward Flow Control

Each node along a route waits until a packet is completely received (stored) and then the packet is forwarded to the next node

Two resources are neededPacket-sized buffer in the switchExclusive use of the outgoing channel T0 = H (tr + L/b)

Page 11: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi11

Cut-Through Flow Control

Transmission on the next channel starts directly when the new header flit is received (otherwise it behaves like Store-Forward)Channel is released after tail flit T0 = H tr + L/b

Page 12: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi12

Cut-Through Flow Control

ShortcomingsVery inefficient use of buffer space

As buffers are allocated in units of packets Often we need multiple indipendent buffer sets to reduce blocking or

provide deadlock avoidance

By allocating buffers in units of packets contention latency is increased E.g., High-priority packet colliding with a low-priority packet

– Must wait the entire low-priority packet to be transmitted before it can acquire the channel

Page 13: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi13

Wormhole Flow Control Wormhole flow control operates like cut-through, but with

channel and buffers allocated to flits rather than packets Three resources are needed

A virtual channel for the packet Body flits of a packet use the VC acquired by the head flit

One flit bufferOne flit channel bandwidth

Page 14: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi14

Wormhole - Example

H

IP

IPClock Cycle 0

Page 15: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi15

Wormhole - Example

IP

IP

HH

B

Clock Cycle 1

Page 16: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi16

Wormhole - Example

IP

IP

HB

H

B

B

Clock Cycle 2

Page 17: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi17

Wormhole - Example

IP

IP

HB B

T

H

B

Clock Cycle 3

Page 18: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi18

Wormhole - Example

IP

IP

HB T

B

BClock Cycle 4

Page 19: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi19

Wormhole - Example

IP

IP

BB

T

B

H

Clock Cycle 5

Page 20: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi20

Wormhole - Example

IP

IP

BT

T

B H

Clock Cycle 6

Page 21: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi21

Wormhole - Example

IP

IP

T B B

H

Clock Cycle 7

Page 22: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi22

Wormhole - Example

IP

IP

T B

B

Clock Cycle 8

Page 23: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi23

Wormhole - Example

IP

IP

T

B

Clock Cycle 9

Page 24: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi24

Wormhole - Example

IP

IP

T

Clock Cycle 10

Page 25: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi25

Wormhole - Example

IP

IPClock Cycle 11

Page 26: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi26

Wormhole - Example

IP

IP

L1

L2

L3

L4

L5

Blue packet Injected at CC 0

Delivered at CC 7

Latency 7 clock cycles

Green packet Injected at CC 1

Delivered at CC 11

Latency 10 clock cycles

Page 27: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi27

Wormhole Flow Control Comparison to cut-through

Wormhole flow control makes far more efficient use of buffer space

Throughput maybe less, since wormhole flow control may block a channels mid-packets

Page 28: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi28

Wormhole Flow Control

The main advantage of wormhole to cut-through is that buffers in the routers do not need to be able to hold full packets, but only need to store a number of flits

This allows to use smaller and faster routers

Page 29: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi29

Virtual Channel Flow Control

In virtual channel flow-control several channels are associated with a single physical channel

This allows to use the bandwidth that otherwise is left idle when a packet blocks the channel

Unlike wormhole flow control subsequent flits are not guaranteed bandwidth, since they have to compete for bandwidth with other flits

Page 30: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi30

Concept of Virtual Channels

A physical channel is shared by several virtual channels Naturally the speed of each virtual channel connection is

reduced

Page 31: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi31

Virtual Channel Flow Control

There are several virtual channels for each physical channel

Packet A can use a second virtual channel and thus proceed over channel p and q

Page 32: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi32

Virtual Channels - Example

IP

IP

H

Clock Cycle 0

Page 33: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi33

Virtual Channels - Example

IP

IP

B

HH

Clock Cycle 1

VC0 → E

Page 34: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi34

Virtual Channels - Example

IP

IP

B

B

H

H

B

Clock Cycle 2

VC0 → E

VC0 → E

VC0 → S

Page 35: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi35

Virtual Channels - Example

IP

IP

B

H

H

B

B

B

T

Clock Cycle 3

VC0 → E

VC0 → E

VC0 → SVC1 → E

VC0 → L

Page 36: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi36

Virtual Channels - Example

IP

IP

B

B

H

B

B

T

T

Clock Cycle 4

VC0 → E

VC0 → E

VC0 → SVC1 → E

VC0 → L

VC1 → L

Page 37: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi37

Virtual Channels - Example

IP

IP

BT

B

B

B

T

Clock Cycle 5

VC0 → E

VC0 → E VC0 → L

VC1 → LVC0 → SVC1 → E

Page 38: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi38

Virtual Channels - Example

IP

IP

T

B

B

B

T

Clock Cycle 6

VC0 → E

VC0 → E VC0 → L

VC1 → LVC0 → SVC1 → E

Page 39: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi39

Virtual Channels - Example

IP

IP

T

B

B

T

Clock Cycle 7

VC0 → E VC0 → L

VC1 → LVC0 → SVC1 → E

Page 40: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi40

Virtual Channels - Example

IP

IP

B

T

T

Clock Cycle 8

VC0 → L

VC1 → LVC1 → E

Page 41: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi41

Virtual Channels - Example

IP

IPT

T

Clock Cycle 9

VC1 → L

Page 42: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi42

Virtual Channels - Example

IP

IP

T

Clock Cycle 10

Page 43: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi43

Virtual Channels - Example

IP

IPClock Cycle 11

Page 44: Flow Control - diit.unict.it€¦ · Flow Control Flow Control can be viewed as a problem of Resource allocation Contention resolution Resources in form of channels, buffers and state

Maurizio Palesi44

Virtual Channels - Example

IP

IP

L1

L2

L3

L4

L5

Blue packet Injected at CC 0

Delivered at CC 10

Latency 10 clock cycles

Green packet Injected at CC 1

Delivered at CC 11

Latency 10 clock cycles