achieving realtime capabilities in ethernet networks by edge-coloring

26
Achieving Realtime Capabilities in Ethernet Networks by Edge-Coloring of Communication Conflict- Multigraphs Frank Dopatka [email protected] http://www.bs.informatik.uni-siegen.de/ Institute of Operating Systems and Distributed Systems University of Siegen, Germany PDCN 2006: Parallel and Distributed Computing and Networks, 15.02.2006

Upload: donnel

Post on 13-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

Achieving Realtime Capabilities in Ethernet Networks by Edge-Coloring of Communication Conflict-Multigraphs. Frank Dopatka [email protected] http://www.bs.informatik.uni-siegen.de/. Institute of Operating Systems and Distributed Systems University of Siegen, Germany. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

Achieving Realtime Capabilities in Ethernet Networks

by Edge-Coloring of Communication Conflict-Multigraphs

Frank [email protected]

http://www.bs.informatik.uni-siegen.de/

Institute of Operating Systems and Distributed SystemsUniversity of Siegen, Germany

PDCN 2006: Parallel and Distributed Computing and Networks, 15.02.2006

Page 2: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

Ethernet in Automation Technology ?slide 2

• Idea: one network from ERP- & office-area (SAP) to the field-devices (sensors, actuators)

• Ethernet: widely-used, easy to use & low cost;CSMA/CD → non-deterministic behaviour

• Automation Technology: determinism, cyclic communication, min. cycle-time, less payload, min. delay & jitter, decentral periphery

• Aim: merge demands of Automation Technologywith the trend towards Ethernet

• TDMA instead of CSMA/CD:industrial-realtime & asynchronous time-slots

• compatibility vs. speed...

Page 3: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

Existing Solutionsslide 3

• Beckhoff Automation• standard Ethernet NICs with special

HW-connectors• data transmitted like shifting register→ no real Ethernet any more

• SIEMENS• in-house realtime 4-port switch ASICs→ in-house; 4-ports; packet delays

• Bernecker+Rainer (B&R)• standard Ethernet hubs & central manager → no concurrent communication;

only RT-members

Page 4: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

Aim of our Workslide 4

• develop an approach, independent from existing hardware

• support: switches and/or hubs → distributors, half- & full-duplex transmission,decentral periphery → concurrent communication

• using a top-down strategy: - tree-based infrastructure is given- requirements of the devices (QoS-requests) are given

• previously well-known requirements of the devices are e.g.:- Who sends how many data to whom and when ?- What is maximum delay and jitter ?

Page 5: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

Aim of our Workslide 5

• first results for a restricted problem-class:- unicast-addressing → Communication Line (CL): sender → receiver- uniform packet-size (Ethmin: less payload)- transmission at each production cycle: no priorization- neither delay, nor jitter in distributors, devices & cables

our scientific contribution:We designed a 4-step-approachfor this restricted problem-class

by using known algorithms!

Page 6: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

Survey of our Approachslide 6

network infrastructure

device requirements

Igenerate

Communication Lines

IIbuild conflict multigraph

for each switch

III greedy

edge-coloringheuristics

IVcalculate the

offline-schedules

schedule for each switch

O(n²)

upload to the automated

facilities

Page 7: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

P1

P1 P2 P3 P4 P5 P6

sw4

P1 P2 P3 P4 P5 P6 P7 P8

sw1

dev2

dev3 dev4

dev1

sw3P1 P2 P3 P4 P5

dev6

dev5

P2 P3

sw2

dev7

P1 P2 P3 P4

sw5

dev8 dev9

dev10

dev19

dev18

dev17

P1 P2 P3

h6P1 P2 P3

h7

dev11

dev14dev13

dev12

dev15 dev16

I: Generate Communication Linesslide 7

Given networking infrastructure with tree-topology...

Page 8: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

P1

P1 P2 P3 P4 P5 P6

sw4

P1 P2 P3 P4 P5 P6 P7 P8

sw1

dev2

dev3 dev4

dev1

sw3P1 P2 P3 P4 P5

dev6

dev5

P2 P3

sw2

dev7

P1 P2 P3 P4

sw5

dev8 dev9

dev10

dev19

dev18

dev17

P1 P2 P3

h6P1 P2 P3

h7

dev11

dev14dev13

dev12

dev15 dev16

I: Generate Communication Linesslide 8

...with switches, their ports, and devices.

Page 9: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

I: Generate Communication Linesslide 9

Line-topology emulated: 3-port-hubs → minimize packet delays

P1

P1 P2 P3 P4 P5 P6

sw4

P1 P2 P3 P4 P5 P6 P7 P8

sw1

dev2

dev3 dev4

dev1

sw3P1 P2 P3 P4 P5

dev6

dev5

P2 P3

sw2

dev7

P1 P2 P3 P4

sw5

dev8 dev9

dev10

dev19

dev18

dev17

P1 P2 P3

h6P1 P2 P3

h7

dev11

dev14dev13

dev12

dev15 dev16

Page 10: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

P1

P1 P2 P3 P4 P5 P6

sw4

P1 P2 P3 P4 P5 P6 P7 P8

sw1

dev2

dev3 dev4

dev1

sw3P1 P2 P3 P4 P5

dev6

dev5

P2 P3

sw2

dev7

P1 P2 P3 P4

sw5

dev8 dev9

dev10

dev19

dev18

dev17

P1 P2 P3

h6P1 P2 P3

h7

dev11

dev14dev13

dev12

dev15 dev16

I: Generate Communication Linesslide 10

Given requirement R1: dev12 sends to dev17

R1a R1b

Page 11: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

I: Generate Communication Linesslide 11

Choosing 1 root-distributor at first for all requirements...

P1

P1 P2 P3 P4 P5 P6

sw4

P1 P2 P3 P4 P5 P6 P7 P8

sw1

dev2

dev3 dev4

dev1

sw3P1 P2 P3 P4 P5

dev6

dev5

P2 P3

sw2

dev7

P1 P2 P3 P4

sw5

dev8 dev9

dev10

dev19

dev18

dev17

P1 P2 P3

h6P1 P2 P3

h7

dev11

dev14dev13

dev12

dev15 dev16

R1a R1b

Page 12: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

P1

P1 P2 P3 P4 P5 P6

sw4

P1 P2 P3 P4 P5 P6 P7 P8

sw1

dev2

dev3 dev4

dev1

sw3P1 P2 P3 P4 P5

dev6

dev5

P2 P3

sw2

dev7

P1 P2 P3 P4

sw5

dev8 dev9

dev10

dev19

dev18

dev17

P1 P2 P3

h6P1 P2 P3

h7

dev11

dev14dev13

dev12

dev15 dev16

I: Generate Communication Linesslide 12

and acquire uplinks from each device to the root-distributor...

R1a R1b

R1b

R1a

Page 13: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

P1

P1 P2 P3 P4 P5 P6

sw4

P1 P2 P3 P4 P5 P6 P7 P8

sw1

dev2

dev3 dev4

dev1

sw3P1 P2 P3 P4 P5

dev6

dev5

P2 P3

sw2

dev7

P1 P2 P3 P4

sw5

dev8 dev9

dev10

dev19

dev18

dev17

P1 P2 P3

h6P1 P2 P3

h7

dev11

dev14dev13

dev12

dev15 dev16

I: Generate Communication Linesslide 13

concatenation of 2 uplinks → CL 1

1

1

1

1

1

1

Page 14: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

P1

P1 P2 P3 P4 P5 P6

sw4

P1 P2 P3 P4 P5 P6 P7 P8

sw1

dev2

dev3 dev4

dev1

sw3P1 P2 P3 P4 P5

dev6

dev5

P2 P3

sw2

dev7

P1 P2 P3 P4

sw5

dev8 dev9

dev10

dev19

dev18

dev17

P1 P2 P3

h6P1 P2 P3

h7

dev11

dev14dev13

dev12

dev15 dev16

I: Generate Communication Linesslide 14

Each CL is stored by using an attribution-technique.The root-node is not needed any more.

1

1

1

1

1

2 2

2

33

1

4 4

4

4

6

5

5

55

7 78

899

5

6

65

Page 15: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

P1

P1 P2 P3 P4 P5 P6

sw4

P1 P2 P3 P4 P5 P6 P7 P8

sw1

dev2

dev3 dev4

dev1

sw3P1 P2 P3 P4 P5

dev6

dev5

P2 P3

sw2

dev7

P1 P2 P3 P4

sw5

dev8 dev9

dev10

dev19

dev18

dev17

P1 P2 P3

h6P1 P2 P3

h7

dev11

dev14dev13

dev12

dev15 dev16

1

1

1

1

1

2 2

2

33

4 4

4

4

6

5

5

55

7 78

899

5

6

I: Generate Communication Linesslide 15

conflict : at least 2 CL share 1 port → common resourceour aim : schedule the conflicts → temporal separation:TDMA

1

65

Page 16: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

P1

P1 P2 P3 P4 P5 P6

sw4

P1 P2 P3 P4 P5 P6 P7 P8

sw1

dev2

dev3 dev4

dev1

sw3P1 P2 P3 P4 P5

dev6

dev5

P2 P3

sw2

dev7

P1 P2 P3 P4

sw5

dev8 dev9

dev10

dev19

dev18

dev17

P1 P2 P3

h6P1 P2 P3

h7

dev11

dev14dev13

dev12

dev15 dev16

1

1

1

1

1

2 2

2

33

4 4

4

4

6

5

5

55

7 78

899

5

6

slide 16

Why is each switch independent ? → Tree topology ! → Schedules can be synchronized after generation :-)

1

65

II: Build Conflict Multigraph for each Switch

Page 17: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

II: Build Conflict Multigraph for each Switchslide 17

Independency of the switches:2 CL in 1 switch have a conflict, or they never have !

P1

P1 P2 P3 P4 P5 P6

sw4

P1 P2 P3 P4 P5 P6 P7 P8

sw1

dev2

dev3 dev4

dev1

sw3P1 P2 P3 P4 P5

dev6

dev5

P2 P3

sw2

dev7

P1 P2 P3 P4

sw5

dev8 dev9

dev10

dev19

dev18

dev17

P1 P2 P3

h6P1 P2 P3

h7

dev11

dev14dev13

dev12

dev15 dev16

1

1

1

1

1

2 2

2

33

4 4

4

4

6

5

5

55

7 78

899

5

6

1

65

Page 18: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

II: Build Conflict Multigraph for each Switchslide 18

Independency of the switches:A conflict raises never or in exactly one order in the network !

P1

P1 P2 P3 P4 P5 P6

sw4

P1 P2 P3 P4 P5 P6 P7 P8

sw1

dev2

dev3 dev4

dev1

sw3P1 P2 P3 P4 P5

dev6

dev5

P2 P3

sw2

dev7

P1 P2 P3 P4

sw5

dev8 dev9

dev10

dev19

dev18

dev17

P1 P2 P3

h6P1 P2 P3

h7

dev11

dev14dev13

dev12

dev15 dev16

1

1

1

1

1

2 2

2

33

4 4

4

4

16

5

5

55

7 78

899

5

6

65

Page 19: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

ports → nodes of the graph P1

P2

P3

P4

P5

P6

P7

P8

II: Build Conflict Multigraph for each Switchslide 19

P1P1 P2 P3 P4 P5 P6 P7 P8

sw1

dev2

dev3 dev4

dev1

sw3P2

dev6

dev5

sw212 23

34 4

16 7 78

899

5

65

23

4

5

6

7 8

9

1

CLs → edges of the graph

Page 20: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

slide 20

1

2

4

3 5

6

7 8

9

P1

P2

P3

P4

P5

P6

P7

P8

WHILE (not all edges colored)x := any non-colored edgeM := set of neighbor-edges from xcolor(x) := lowest color not present in M

END WHILE

III: Greedy-Edge-Coloring Heuristics

Color 1:

Color 2:

Color 3:

Page 21: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

IV: Calculate the Scheduleslide 21

1

2

4

3 5

6

7 8

9

P1

P2

P3

P4

P5

P6

P7

P8

parallelism

cycle time

color / time slot1 2 3

137

258

469

Page 22: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

First Resultsslide 22

• Time complexity with constant amount of CLs reduces logarithmical with the amount of ports !

→ lower „density“ of the graph→ easier to find next free color for greedy

• We generated 32 random conflict-graphs each with- 4 / 5 / 6 / 8 / 12 / 16 / 24 / 32 ports- 2000 / 4000 / 8000 / 16000 randomized CLs→ greedy-coloring on 2.4Ghz Intel P4-Laptop

• 4000 CLs in a switch can be calculated in 3 sec.: O(n2)

Page 23: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

First Resultsslide 23

Problems with oddamount of nodes/ports & circles in graph:

12% more colors than theoretical lower bound on average...

otherwise 0.1% more colorson average

But: - cyclic transmission unusual in Automation Technology- 5-port-switch: only 2 CLs at the same time anyway!

Page 24: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

Conclusionslide 24

• We found a method for a restricted problem-class: - unicast-addressing- uniform packet-size- sending at each cycle- neither delay, nor jitter

• schedules nearby theoretically best-case resultsif no odd amount of ports are used

• non-realtime traffic options can be added by additional time-slots

Page 25: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

Conclusion & Future Workslide 25

• include more common cases → relax restrictions- multicasting & multiple packet sizes- sending at each 2nd, 3rd,... cycle- handle delay & jitter

• improve the coloring by usage of known additional heuristics→ only necessary for distributers with most colors

• consider, where the schedule is enforced - inside the switches & dev-polling („Laptops allowed“)- using external arbiters & dev-polling („standard hardware“)- enforcing inside the devices („fast“)→ consequences for the generation of the schedules

• simulate industrial case scenarios with own framework

Page 26: Achieving Realtime Capabilities  in Ethernet Networks  by Edge-Coloring

Thank you for your Attention!

Any Questions?