On the Stability and Robustness of Non-Synchronous Circuits with - - PowerPoint PPT Presentation

on the stability and robustness of non synchronous
SMART_READER_LITE
LIVE PREVIEW

On the Stability and Robustness of Non-Synchronous Circuits with - - PowerPoint PPT Presentation

On the Stability and Robustness of Non-Synchronous Circuits with Timing Loops Matthias Fgger, Gottfried Fuchs, Ulrich Schmid and Andreas Steininger Vienna University of Technology Embedded Computing Systems Group {fuegger, fuchs, schmid,


slide-1
SLIDE 1

On the Stability and Robustness of Non-Synchronous Circuits with Timing Loops

Matthias Függer, Gottfried Fuchs, Ulrich Schmid and Andreas Steininger Vienna University of Technology Embedded Computing Systems Group {fuegger, fuchs, schmid, steininger}@ecs.tuwien.ac.at

slide-2
SLIDE 2

2

The main messages

sketch DARTS clocking scheme for SoC study systematic timing variations in asynchronous circuits influence of k-of-n voting (fault tolerance) on − tractability of analysis − stability − robustness

slide-3
SLIDE 3

3

Clocking in SoCs

global synchrony (< 1 tick)

synchronous SoC

single point

  • f failure

☺ very powerful abstraction efficient metastability-free communication nanoscale requires fault tolerance for clocks as well

[Seifert et al.]

slide-4
SLIDE 4

4

Clocking in SoCs

global synchrony (< 1 tick)

synchronous SoC GALS DARTS

single point

  • f failure

global synchrony (> 1 tick) no single point

  • f failure

no single point

  • f failure

NO (inherent) global synchrony

slide-5
SLIDE 5

DARTS Principle & Implementation

... ...

(1) Initially: (2) send tick(0) to all; clock:= 0; (3) If received tick(m) from at least f+1 remote nodes and m > clock: (4) send tick(clock+1),…, tick(m) to all; clock:= m; (5) If received tick(m) from at least 2f+1 remote nodes and m >= clock: (6) send tick(m+1) to all; clock:= m+1;

5

Distributed Algorithms for Robust Tick Synchronization − asynchronous HW- implementation − two concurrent rules − k-of-n- thresholds for fault tolerance

slide-6
SLIDE 6

Properties of the DARTS Clock

precision of a few clock cycles & bounded accuracy

– can be guaranteed by formal proof [EDCC06, PODC09] –

  • n condition of some (weak) routing constraints

a system of 3f+2 nodes can tolerate f Byzantine faults

(nodes and interconnect)

– guaranteed by the same formal proof

? stability of clock frequency

– important for many applications – BUT: adaptive systems cannot be completely stable

? robustness of clock frequency

– important for nanotechnology – variations (tolerances, environment,memb-ship) affect frequency

6

slide-7
SLIDE 7

2 4 6 8 10 7 7.5 8 8.5 9 9.5 x 10

  • 9

tick number round times [s]

An Interesting Observation

permanent „oscillation“ of round time systematic, not random effect! strong dependence on wire delays

7

2 4 6 8 10 7 7.5 8 8.5 9 9.5 x 10

  • 9

tick number

Setup:

  • 5 node DARTS system
  • pronounced wire delays

7

slide-8
SLIDE 8

A Closer Look…

theoretical model

− min/max/+ algebra difference equation

simplify problem

− simplify algorithm − simplify model topology wait-for-all instead of k-of-n 3 nodes only no concurrency (one rule) can use max/+ algebra diff equ

from − nonlinear control theory − game theory − asynchronous logic

8

slide-9
SLIDE 9

An Example

10 1 1 8 4 1

1 2 3 4 4 5 6 7 8 9 10 tick number round times [s]

9

longest paths of length k ending in node P determine P‘s round times

tick number k round time

slide-10
SLIDE 10

Another Example

10 1 1 8 1 5

characteristics:

− length of initial transient phase: depends on delays & initial phase alignment − mean rate („cycle vector“) during periodic phase: determined by cycle with maximum mean cycle weight − peak-to-peak variation (inluding/excluding transient phase)

1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10 tick number round times [s]

10

round time tick number k

slide-11
SLIDE 11

Is this Relevant for HW Designers?

timing oscillations in all asynchronous architectures

− with reasonable complexity − under some conditions that may not always apply − usually not an issue in asynchronous designs − still should be known and considered − theory largely available (max/+ algebra)

the specific problems when fault tolerance is required

− concurrent execution of two (or more) rules − use of k-of-n thresholds instead of wait-for-all − same principle but requires complex min/max/+ algebra

11

slide-12
SLIDE 12

Our Current Status wrt Stability

identified appropriate formalism developed simulation environment derived conditions for oscillation for simplified case

(max/+)

applying „Duality Conjecture“ to explore complex case

(min/max/+)

12

min (cycle vectors)

≈ stabilizing

slide-13
SLIDE 13

Our Current Status wrt Robustness

good robustness against delay variations wait-for-all causes saturation (masks „faster than slowest“) k-of-n causes 2nd saturation („also masks slower than kth“)

13

f+1 2f+1

1 1 1 1 1 p

„wait for all“ DARTS DARTS (different setting) p p p

slide-14
SLIDE 14

Still a Far Way to Go

need efficient algorithms for min/max/+ algebra to characterize

− mean rate − maximum swing − transient phase length

explore more complicated cases consider real worls effects

− noise and jitter − rise/fall asymmetry, …

14

slide-15
SLIDE 15

Conclusion

nanoelectronics needs

adaptive timing fault tolerance robustness

round times in asyn loops can show systematic variance characterization possible for wait-for-all architectures (max/+ algebra) FT solutions need k-of-n architectures this severely complicates the analysis (min/max/+ alg.) k-of-n improves asynchronous designs‘ robustness

15

slide-16
SLIDE 16

Thank you!

slide-17
SLIDE 17

The DARTS Architecture

FU1 FU2 FU3

data bus Clock tree TG algs TG network Distributed clock

  • modules FUi augmented with

simple local clock unit (TG alg)

  • TG algs communicate over

dedicated bus (TG network) to generate local clocks

  • need 3f+1 modules to

tolerate f arbitrary clock faults

Synchronous solution

slide-18
SLIDE 18

What we want…

FU1

TG alg p

p q

tick(3) tick(4)

FU2

TG alg q

slide-19
SLIDE 19

The DARTS clock-generation node

. . .

... ... ... ...

... ...

clock inputs clock

  • utput

threshold function and tick generation counter modules