UC UC b Overview Leader Election Protocol Dynamic Voltage - - PowerPoint PPT Presentation

uc uc b overview
SMART_READER_LITE
LIVE PREVIEW

UC UC b Overview Leader Election Protocol Dynamic Voltage - - PowerPoint PPT Presentation

APPLICATIONS UC UC b Overview Leader Election Protocol Dynamic Voltage Scaling Optimal Reconfiguration of FPGA Memory Interface UC UCb Leader Election Protocol UC UC b Leader Election 2 1 0 3 Protocol by Leslie


slide-1
SLIDE 1

UC UC b

APPLICATIONS

slide-2
SLIDE 2

UC UCb

Overview

Leader Election Protocol Dynamic Voltage Scaling Optimal Reconfiguration

  • f FPGA

Memory Interface

slide-3
SLIDE 3

UC UC b

Leader Election Protocol

slide-4
SLIDE 4

UC UCb

Leader Election

2 3 1 Protocol by Leslie Lamport

slide-5
SLIDE 5

UC UCb

Leader Election

2 3 1 (3,0) (0,0) (2,0) (1,0) (leader,hops)

slide-6
SLIDE 6

UC UCb

Timeout

2 3 1 (3,0) (0,0) (2,0) (1,0)

slide-7
SLIDE 7

UC UCb

Flooding

2 3 1 (3,0) (0,0) (2,0) (1,0) (1,2,1,0)

(1,0,1,0)

(1,3,1,0) (src,dst,leader,hops)

slide-8
SLIDE 8

UC UCb

Flooding

2 3 1 (3,0) (0,0) (2,0) (1,0) (1,2,1,0)

(1,0,1,0)

(1,3,1,0)

slide-9
SLIDE 9

UC UCb

Flooding

2 3 1 (1,1) (0,0) (2,0) (1,0) (1,2,1,0)

(1,0,1,0)

slide-10
SLIDE 10

UC UCb

Forwarding

2 3 1 (1,1) (0,0) (2,0) (1,0) (1,2,1,0)

(1,0,1,0)

(3,2,1,1)

slide-11
SLIDE 11

UC UCb

Forwarding

2 3 1 (1,1) (0,0) (2,0) (1,0) (1,2,1,0)

(1,0,1,0)

(3,2,1,1)

slide-12
SLIDE 12

UC UCb

Forwarding

2 3 1 (1,1) (0,0) (1,1) (1,0) (3,2,1,1) (2,3,1,1)

(2,0,1,1)

(1,0,1,0)

slide-13
SLIDE 13

UC UCb

Leader Election

2 3 1 (1,1) (0,0) (1,1) (1,0)

slide-14
SLIDE 14

UC UCb

Leader Election

2 3 1 (1,1) (0,0) (1,1) (1,0)

slide-15
SLIDE 15

UC UCb

Leader Election

2 3 1 (0,2) (0,0) (0,1) (0,1)

slide-16
SLIDE 16

UC UCb

Variable timeout

time timeout hops 1 2 timer

U p d a t e r e c e i v e d U p d a t e r e c e i v e d U p d a t e r e c e i v e d

T i m e

  • u

t T i m e

  • u

t

slide-17
SLIDE 17

UC UCb

Leader Election Claim to be verified

Correct leader is known at a node i after t(i) = ΔTO + ΔTDELAY + di·ΔMDELAY

A model checking problem

IMP ² ▫>t(i) l(i)=L(i) for all i.

slide-18
SLIDE 18

UC UCb

Modelling (RT) protocols

Protocol stacks Users Medium

All, Thanks for the spec. It seems to run fine. As expected, it's 2 or 3 orders of magnitude faster than TLC. I'm wondering if your algorithms could be used for checking specs written in a higher level language like TLA+. All, Thanks for the spec. It seems to run fine. As expected, it's 2 or 3 orders of magnitude faster than TLC. I'm wondering if your algorithms could be used for checking specs written in a higher level language like TLA+.

slide-19
SLIDE 19

UC UCb

Modelling (RT) protocols

Protocol stacks Users

slide-20
SLIDE 20

UC UCb

Modelling (RT) protocols

Protocol stacks Users Messages

slide-21
SLIDE 21

UC UCb

Modelling the election protocol

2 1

Per process disti: N leaderi: Node timeouti: N Message src: Node dst: Node leader: Node hopss: N

slide-22
SLIDE 22

UC UCb

Global Declaration

slide-23
SLIDE 23

UC UCb

Message

slide-24
SLIDE 24

UC UCb

Node[id]

slide-25
SLIDE 25

UC UCb

Local Declarations (Node[id])

slide-26
SLIDE 26

UC UCb

Optimisations

Reducing the number of active variables

If variable is never used until next reset, then the value does not matter.

Symmetry of message processes

The message processes are symmetric: It does not matter which is used to transfer a message.

slide-27
SLIDE 27

UC UC b

Dynamic Voltage Scaling

slide-28
SLIDE 28

UC UCb

Performance vs Ressource-Efficiency ?

  • Consumer constantly

demand better functionality, flexibility, availability, …

  • .. increase in resources

needed:

  • Time
  • Energy
  • Memory
  • Bandwidth
  • ..
  • Application of CUPPAAL to

modeling, analysis and synthesis of resource- efficient schedules for real- time systems.

slide-29
SLIDE 29

UC UCb

Power Management

Dynam ic Voltage Scaling

slide-30
SLIDE 30

UC UCb

Energy in Processor

  • Power consumption mainly by dynamic power
  • Supply voltage reduction => decreased frequency

1 > α

α

; V ~ f

1)

  • (

dd clk

2 dd L . clk 2 dd L dynamic

V C E f V C P ⋅ = ⋅ ⋅ =

cycle pr dynamic energy Vdd delay

Vdd

We may miss deadlines

A non-experts understanding of CMOS

slide-31
SLIDE 31

UC UCb

Task Scheduling

T2 is running { T4 , T1 , T3 } ready

  • rdered according to some

given priority: (e.g. Fixed Priority, Earliest Deadline,..)

T1 T1 T2 T2 Tn Tn

Scheduler Scheduler

2

1 4 3 ready done stop run P(i), [E(i), L(i)], .. : period or earliest/ latest arrival or .. for Ti C(i): execution time for Ti D(i): deadline for Ti

utilization of CPU

slide-32
SLIDE 32

UC UCb

Modeling Task

T1 T1 T2 T2 Tn Tn

Scheduler Scheduler

2

1 4 3

ready done stop run

slide-33
SLIDE 33

UC UCb

Modeling Scheduler

T1 T1 T2 T2 Tn Tn

Scheduler Scheduler

2

1 4 3

ready done stop run

slide-34
SLIDE 34

UC UCb

Modeling Queue

T1 T1 T2 T2 Tn Tn

Scheduler Scheduler

2

1 4 3

ready done stop run

slide-35
SLIDE 35

UC UCb

Schedulability = Safety Property

A฀ ¬(Task0.Error or Task1.Error or …)

¬(Task0.Error or Task1.Error or …)

May be extended with preemption

slide-36
SLIDE 36

UC UCb

Energy Optimal Scheduling

“Choose” Scaling/ Cost (Freq/ Voltage) Using Priced Timed Automata C T1 T1 T2 T2 Tn Tn

Scheduler Scheduler

2

1 4 3

ready done stop run

F:= ?? ; V:= ??

slide-37
SLIDE 37

UC UCb

Energy Optimal Scheduling =

c1 c2 c3 cn t1 t2 t3 tn

σ

Value of path σ: val(σ) = limn→∞ cn/tn Optimal Schedule σ* : val(σ* ) = infσ val(σ)

Accumulated cost Accumulated time

¬(Task0.Error or Task1.Error or …)

Optim al I nfinite Path

slide-38
SLIDE 38

UC UCb

Energy Optimal Scheduling =

c1 c2 c3 cn t1 t2 t3 tn

σ

Value of path σ: val(σ) = limn→∞ cn/tn Optimal Schedule σ* : val(σ* ) = infσ val(σ)

Accumulated cost Accumulated time

¬(Task0.Error or Task1.Error or …)

THEOREM: σ* is computable THEOREM: σ* is computable

Bouyer, Brinksma, Larsen ´03

Optim al I nfinite Path

slide-39
SLIDE 39

UC UCb

Approximate Optimal Schedule

E[] (not (Task0.Error or Task1.Error or Task2.Error) and (cost> = M imply time > = N)) = E[] φ(M ,N)

σ ² [] φ(M,N) imply val(σ)· M/ N

C= M C= M C= M

T> = N T< N X

X X

Optimal infinite schedule modulo cost-horizon C= M

T< N T< N T> = N

slide-40
SLIDE 40

UC UCb

Preliminary Results

EDF w preemption no DVS: avr.: 48

P1=D1=32 C1=6 P2=D2=48 C2=18 P3=D3=64 C3=12

slide-41
SLIDE 41

UC UCb

Preliminary Results

EDF w preemption w DVS: avr.: 43.37

Cost horizon: 2,000

P1=D1=32 C1=6 P2=D2=48 C2=18 P3=D3=64 C3=12

slide-42
SLIDE 42

Optimal Reconfiguration of FPGA

Utilizing new features of UPPAAL 4 .0 User-defined functions Types & Select Due to Jacob I. Rasmussen

slide-43
SLIDE 43

Informationsteknologi

UC UCb

Field Programmable Gate Array

slide-44
SLIDE 44

Informationsteknologi

UC UCb

The Problem

slide-45
SLIDE 45

Informationsteknologi

UC UCb

The Problem

slide-46
SLIDE 46

Informationsteknologi

UC UCb

Example

slide-47
SLIDE 47

Informationsteknologi

UC UCb

Example

slide-48
SLIDE 48

Informationsteknologi

UC UCb

Example

slide-49
SLIDE 49

Informationsteknologi

UC UCb

Example

1

slide-50
SLIDE 50

Informationsteknologi

UC UCb

Example

1

slide-51
SLIDE 51

Informationsteknologi

UC UCb

UPPAAL Model

slide-52
SLIDE 52

Informationsteknologi

UC UCb

UPPAAL Model

slide-53
SLIDE 53

Informationsteknologi

UC UCb

UPPAAL Model

slide-54
SLIDE 54

Informationsteknologi

UC UCb

UPPAAL Model

slide-55
SLIDE 55

UC UC b

Memory Interface

slide-56
SLIDE 56

UC UCb

Memory Management

Advanced Noise Advanced Noise Reduction Techniques Reduction Techniques

e1,2 e0,5 e0,4 e0,3 e0,2 e2,4 e2,3 e2,2 e1,5 e1,4 e1,3 e3,2 e3,4 e3,3 e3,5 e2,5

S w e e p I n t e g r a t i

  • n

Airport Surveillance Costal Surveillance

echo 9.170 GHz 9.438 GHz

Combiner (VP3)

Frequency Diversity

combiner

Radar Video Processing Subsystem

slide-57
SLIDE 57

UC UCb

Adder 1

S = A + S' - A'

Adder 2

T = B + T' - B'

Buffer 1

1 Kbytes

Buffer 2

1 Kbytes

Buffer 9

2 Kbytes

Buffer 8

2 Kbytes

Buffer 7

2 Kbytes

Buffer 6

512 bytes

Buffer 4

2 Kbytes

Buffer 3

512 bytes

Input A 8 (100MHz) A' S' 16 (100 MHz) Input B 8 (100 MHz) T' B' T S Output S Output T 256 (100 MHz) 128 (200 MHz) SDRAM Buffer 5

512 bytes

B 8 (100MHz) 8 (100MHz) 8 (100MHz) 16 (100 MHz) 16 (100 MHz) 16 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz)

Arbiter

slide-58
SLIDE 58

UC UCb

Adder 1

S = A + S' - A'

Adder 2

T = B + T' - B'

Buffer 1

1 Kbytes

Buffer 2

1 Kbytes

Buffer 9

2 Kbytes

Buffer 8

2 Kbytes

Buffer 7

2 Kbytes

Buffer 6

512 bytes

Buffer 4

2 Kbytes

Buffer 3

512 bytes

Input A 8 (100MHz) A' S' 16 (100 MHz) Input B 8 (100 MHz) T' B' T S Output S Output T 256 (100 MHz) 128 (200 MHz) SDRAM Buffer 5

512 bytes

B 8 (100MHz) 8 (100MHz) 8 (100MHz) 16 (100 MHz) 16 (100 MHz) 16 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz)

Arbiter

A single buffer

slide-59
SLIDE 59

UC UCb

Adder 1

S = A + S' - A'

Adder 2

T = B + T' - B'

Buffer 1

1 Kbytes

Buffer 2

1 Kbytes

Buffer 9

2 Kbytes

Buffer 8

2 Kbytes

Buffer 7

2 Kbytes

Buffer 6

512 bytes

Buffer 4

2 Kbytes

Buffer 3

512 bytes

Input A 8 (100MHz) A' S' 16 (100 MHz) Input B 8 (100 MHz) T' B' T S Output S Output T 256 (100 MHz) 128 (200 MHz) SDRAM Buffer 5

512 bytes

B 8 (100MHz) 8 (100MHz) 8 (100MHz) 16 (100 MHz) 16 (100 MHz) 16 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz)

Arbiter

Clock

broadcast chan tick; const CYCLE 10; // 100MHz = 10ns cycle

slide-60
SLIDE 60

UC UCb

Adder 1

S = A + S' - A'

Adder 2

T = B + T' - B'

Buffer 1

1 Kbytes

Buffer 2

1 Kbytes

Buffer 9

2 Kbytes

Buffer 8

2 Kbytes

Buffer 7

2 Kbytes

Buffer 6

512 bytes

Buffer 4

2 Kbytes

Buffer 3

512 bytes

Input A 8 (100MHz) A' S' 16 (100 MHz) Input B 8 (100 MHz) T' B' T S Output S Output T 256 (100 MHz) 128 (200 MHz) SDRAM Buffer 5

512 bytes

B 8 (100MHz) 8 (100MHz) 8 (100MHz) 16 (100 MHz) 16 (100 MHz) 16 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz)

Arbiter

const REGSIZE 64; // 64 byte = 512 bits int[-4,1028] buffer; int[0,64] register

Input Buffer Input Register

slide-61
SLIDE 61

UC UCb

Adder 1

S = A + S' - A'

Adder 2

T = B + T' - B'

Buffer 1

1 Kbytes

Buffer 2

1 Kbytes

Buffer 9

2 Kbytes

Buffer 8

2 Kbytes

Buffer 7

2 Kbytes

Buffer 6

512 bytes

Buffer 4

2 Kbytes

Buffer 3

512 bytes

Input A 8 (100MHz) A' S' 16 (100 MHz) Input B 8 (100 MHz) T' B' T S Output S Output T 256 (100 MHz) 128 (200 MHz) SDRAM Buffer 5

512 bytes

B 8 (100MHz) 8 (100MHz) 8 (100MHz) 16 (100 MHz) 16 (100 MHz) 16 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz)

Arbiter

Memory (-ies)

const REFRESH_PERIOD 15525; const REFRESH_TIME 100;

slide-62
SLIDE 62

UC UCb

Adder 1

S = A + S' - A'

Adder 2

T = B + T' - B'

Buffer 1

1 Kbytes

Buffer 2

1 Kbytes

Buffer 9

2 Kbytes

Buffer 8

2 Kbytes

Buffer 7

2 Kbytes

Buffer 6

512 bytes

Buffer 4

2 Kbytes

Buffer 3

512 bytes

Input A 8 (100MHz) A' S' 16 (100 MHz) Input B 8 (100 MHz) T' B' T S Output S Output T 256 (100 MHz) 128 (200 MHz) SDRAM Buffer 5

512 bytes

B 8 (100MHz) 8 (100MHz) 8 (100MHz) 16 (100 MHz) 16 (100 MHz) 16 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz) 256 (100 MHz)

Arbiter

Arbiter (round robin)