Relaxation du parallélisme synchrone pour les systèmes asynchrones communicant par buffers : réseaux de Kahn n-synchrones

Size: px
Start display at page:

Download "Relaxation du parallélisme synchrone pour les systèmes asynchrones communicant par buffers : réseaux de Kahn n-synchrones"

Transcription

1 Master Parisien de Recherche en Informatique Relaxation du parallélisme synchrone pour les systèmes asynchrones communicant par buffers : réseaux de Kahn n-synchrones Louis Mandel LRI, Université Paris-Sud INRIA Paris-Rocquencourt 7 novembre 22

2 Picture-in-Picture example picture in picture encrust p downscaler small p2 encrust ot big merge o Incrustation of a Standard Definition (SD) image in a High Definition (HD) one downscaler: reduction of an HD image (92 8 pixels) to an SD image (72 48 pixels) : removal of a part of an HD image merge: incrustation of an SD image in an HD image The constraints resolution algorithm has to deal with clocks of 2 millions of elements. 2

3 Motivation Real time constraints the frequency of the display cannot be changed Efficiency constraints handling of High Definition images necessitate billions of operations per second Safety constraints guaranty of deterministic and deadlock free execution 3

4 Kahn Process Networks [Gilles Kahn, 974] i x y o P Q R Network of processes concurrent execution communication through buffers of sufficient size If processes are deterministic then the network is deterministic 4

5 Programming Kahn Process Networks Problem: computation of sufficient buffer sizes risk of data loss, of deadlock sometimes, need of infinite buffers Goal: do not accept infinite buffers automatic sizing of buffers Related work: Synchronous Data Flow and variants [Lee et al.] [Buck] scheduling [Carlier, Chretienne] [Baccelli, Cohen, Quadrat] Network Calculus [Cruz], Real-time Calculus [Thiele et al.] 5

6 Dataflow Synchronous Model i x y o P Q R Programming Kahn networks without buffers: programming languages: Lustre, Signal, Lucid Synchrone instantaneous consumption of produced data strong guaranties: bounded memory, absence of deadlocks But: communication without buffers sometimes too restrictive (e.g. multimedia applications) 6

7 n-synchronous Model i x y o P Q R Programming Kahn networks with bounded memory Automatic methods at compile time to: reject networks needing infinite memory compute activation paces of computations nodes compute sufficient buffers sizes More flexibility with the same guaranties 7

8 Overview. Lucy-n: a n-synchronous Extension of Lustre 2. Adaptability Relation 3. Ultimately Periodic Clocks 4. Abstract Clocks 5. Latency Insensitive Designs 8

9 Lucy-n: a n-synchronous Extension of Lustre

10 Synchronous Model x not so bad () () x x2 + o stream values x x x

11 n-synchronous Model x good () () x x2 + o stream values x x buffer(x) x buffer(x) + x

12 The Lucy-n Language let node good x = o where 2 rec x = x () 3 and x2 = x () 4 and o = buffer(x) + x2 x good () () x x2 + o good :: forall a. a -> a on () Buffer line 4, characters -2: size = 2

13 Programming a stuttering node Synchronous version stutter () let node stutter x = o where rec o = merge () x x_bis and x_bis = (( fby o) ot ()) stutter :: forall a. a on () -> a x fby () ot x bis merge o stream values x ()... fby o x_bis = ( fby o) ot () o = merge () x x_bis

14 Programming a stuttering node Synchronous version stutter () let node stutter x = o where rec o = merge () x x_bis and x_bis = (( fby o) ot ()) stutter :: forall a. a on () -> a x fby () ot x bis merge o n-synchronous version let node new_stutter x = o where new stutter () rec o = merge () x (buffer(x)) new_stutter :: forall a. a on () -> a Buffer line 2, characters 24-33: size = x merge x ()... buffer(x) merge () x (buffer(x))

15 Flows and Clocks

16 Flows and Clocks x w x w = clock(x)... 6

17 Sampling x w w2 x w2 w on w 2 x w2... x w w... w 2... w on w 2... clock(x w2) = clock(x) on w 2 Definition:.w on w 2 def =.(w on w 2 ).w on.w 2 def =.(w on w 2 ).w on.w 2 def =.(w on w 2 ) 7

18 Composition x w y w + z w x y z = x + y clock(x) = clock(y) = clock(z) 8

19 Buffering x buffer x w w 2 Communication through a bounded buffer: the input s clock must be adaptable to the output s clock w <: w 2 9

20 Adaptability Relation

21 Cumulative Function Number of ones Instants w O w O w : cumulative function of the word w 2

22 Adaptability Relation Number of ones buffer size adaptability Writings in the buffer Readings in the buffer Instants O w O w2 size(w,w 2 ) = max i N (O w (i) O w2 (i)) w <: w 2 def n N, i, O w (i) O w2 (i) n 22

23 Adaptability Relation Number of ones Writings in the buffer Readings in the buffer Instants O w O w2 buffer size adaptability size(w,w 2 ) = max i N (O w (i) O w2 (i)) w <: w 2 def n N, i, O w (i) O w2 (i) n synchronizability w w 2 def b,b 2 Z, i, b O w (i) O w2 (i) b 2 precedence w w 2 def i, O w (i) O w2 (i) 22

24 Ultimately Periodic Clocks definition: p = u(v) def p = u.w with w = v.w example: () =... notation: prefix: ().u = periodic part: ().v = Index of the j ième of w notation: I w (j) example: I w (4) = 6 23

25 on operator Example: p ( ) p 2 ( ) p on p 2 ( ) Properties: size and number of : Let p and p 2 such that p.u = p 2.u and p.v = p 2.v. Then: (p on p 2 ).u = p.u (p on p 2 ).u = p 2.u (p on p 2 ).v = p.v (p on p 2 ).v = p 2.v index of the j ième of w on w 2 : j, I w on w 2 (j) = I w (I w2 (j)) 24

26 Adaptability x buffer x w w 2 Communication through a bounded buffer: synchronizability test: p p 2 p.v p.v = p 2.v p 2.v example: () () precedence test: let h = max( p.u, p 2.u )+ lcm ( p.v, p 2.v ), p p 2 j, j h, I p (j) I p2 (j) example: () () adaptability test: p <: p 2 p p 2 p p 2 25

27 Clock Typing

28 Clock Calculus H e : ct C H e 2 : ct C 2 H e +e 2 : ct C C 2 H e : ct C H buffer(e) : ct {ct <: ct } C Adaptability constraints are collected during the clocking of a node. They are solved at the end of node clocking. 27

29 Typing plus plus x y + z () () t t r + o 4 let node plus_plus (x,y) = o where 5 rec z = x + y 6 and t = z () 7 and t = buffer(t) 8 and r = y () 9 and o = t + r val plus_plus : (int * int) -> int val plus_plus :: forall a. ( a * a) -> a on () Buffer line 7, characters -2: size = 28

30 Typing plus plus x α y α + α z () () t t r + o 4 let node plus_plus (x,y) = o where 5 rec z = x + y 6 and t = z () 7 and t = buffer(t) 8 and r = y () 9 and o = t + r val plus_plus : (int * int) -> int val plus_plus :: forall a. ( a * a) -> a on () Buffer line 7, characters -2: size = 28

31 Typing plus plus x α y α + α z () () t t α on () r α on () + o 4 let node plus_plus (x,y) = o where 5 rec z = x + y 6 and t = z () 7 and t = buffer(t) 8 and r = y () 9 and o = t + r val plus_plus : (int * int) -> int val plus_plus :: forall a. ( a * a) -> a on () Buffer line 7, characters -2: size = 28

32 Typing plus plus x α y α + α z () () t t α on () α on () r α on () + o α on () for all α such that {α on () <: α on ()}, (α α) α on () Subtyping constraint solving simple case: α on w <: α on w 2 w <: w 2 29

33 Typing plus plus x α y α + α z () () t t α on () α on () r α on () + o α on () for all α such that { () <: ()}, (α α) α on () Subtyping constraint solving simple case: α on w <: α on w 2 w <: w 2 29

34 Typing plus plus x α y α + α z () () t t α on () α on () r α on () + o α on () for all α, (α α) α on () Subtyping constraint solving simple case: α on w <: α on w 2 w <: w 2 29

35 Typing: More Difficult Case i i2 for all α,α such that () () aux aux2 α on () <: α α 2 on () <: α + g o, α α 2 α Goal of the constraints resolution algorithm : find instantiations for α, α 2 and α such that the constraints are always verified Idea of the constraints resolution algorithm: translate adaptability constraints into constraints on the size of the words and the indexes of the s 3

36 Example of Lucy-n program i i2 f () () () + aux2 + aux () () + o let node f (i, i2) = o where rec aux = buffer (i ()) + aux2 and aux2 = buffer (i2 ()) + i2 () and o = buffer (aux ()) + buffer (aux ()) 3

37 Typing f () i α α on () () α 2 on () () i2 α 2 α 2 on () α 2 on () + α 2 on () aux2 α 2 on () + aux α 2 on () () () α 2 on () on () α 3 α 2 on () on () α 3 + α 3 o f :: α α 2 α 3 with the following constraints: α on () <: α 2 on () α 2 on () <: α 2 on () α 2 on () on () <: α 3 on () α 2 on () on () <: α 3 on () Question: find types α, α 2 and α 3 such that the constraints are always satisfied. 32

38 Typing f () i α α on () () α 2 on () () i2 α 2 α 2 on () α 2 on () + α 2 on () aux2 α 2 on () + aux α 2 on () () () α 2 on () on () α 3 α 2 on () on () α 3 + α 3 o f :: α α 2 α 3 with the following constraints: α on () <: α 2 on () α 2 on () <: α 2 on () α 2 on () on () <: α 3 on () α 2 on () on () <: α 3 on () We can simplify constraints that depends on the same type variable Property: α on ce <: α on ce 2 ce <: ce 2

39 α on () <: α 2 on () () <: () α 2 on () on () <: α 3 on () α 2 on () on () <: α 3 on () We can check that the adaptability constraint is satisfied. α on () <: α 2 on () α 2 on () on () <: α 3 on () α 2 on () on () <: α 3 on () We can express this system in function of a unique type variable by instantiation of α, α 2, α 3 θ = {α α on c ; α 2 α on c 2 ; α 3 α on c 3 ;}

40 α on c on () <: α on c 2 on () α on c 2 on () on () <: α on c 3 on () α on c 2 on () on () <: α on c 3 on () We can simplify the constraints c on () <: c 2 on () c 2 on () on () <: c 3 on () c 2 on () on () <: c 3 on () Question: find ultimately periodic binary words c, c 2 and c 3 such that the constraints are always satisfied. 35

41 Typing f () i α α on () () α 2 on () () i2 α 2 α 2 on () α 2 on () + α 2 on () aux2 α 2 on () + aux α 2 on () () () α 2 on () on () α 3 α 2 on () on () α 3 + α 3 o f :: α on c α on c 2 α on c 3 with the following constraints: c on () <: c 2 on () c 2 on () on () <: c 3 on () c 2 on () on () <: c 3 on () We can compute on.

42 c on () <: c 2 on () c 2 on () <: c 3 on () c 2 on () <: c 3 on () We can adjust the system such that all the samplers of a same variable have the same size. c on () <: c 2 on () c 2 on () <: c 3 on () c 2 on () <: c 3 on () We choose the number of of each c n such that it is equal to the size of its samplers. c.u = 2 c.v = c 2.u = c 2.v = 4 c 3.u = c 3.v =

43 We can split adaptability constraints into synchronizability and precedence constraints. c on () c 2 on () c 2 on () c 3 on () c 2 on () c 3 on () c on () c 2 on () c 2 on () c 3 on () c 2 on () c 3 on () (Sync) (Prec) We can apply the synchronizability and precedence tests. Thanks to the choice of the number of of the c n, we can simplify the formulas.

44 We can apply the synchronizability test. (c on ()).v (c on ()).v (c 2 on ()).v (c 2 on ()).v = (c 2 on ()).v (c 2 on ()).v = (c 3 on ()).v (c 3 on ()).v (Prec) (c 2 on ()).v (c 2 on ()).v = (c 3 on ()).v (c 3 on ()).v Thanks to the choice of the number of of the c n, we can simplify the formulas. ().v c.v ().v c 2.v = ().v c 2.v = ().v c 3.v (Prec) ().v c 2.v = ().v c 3.v

45 We can rewrite the system. ().v c.v = (()).v c 2.v ().v c 2.v = ().v c 3.v ().v c 2.v = ().v c 3.v (Prec) We can compute the number of of the samplers. 2 c.v = c 2.v c 2.v = c 3.v c 2.v = c 3.v c on () c 2 on () c 2 on () c 3 on () c 2 on () c 3 on () Thanks to the choice of the number of of the c n, we can apply the precedence test.

46 (Sync) j, j 3, I c on () (j) I c 2 on() (j) j, j, I c2 on() (j) I c 3 on() (j) j, j, I c2 on() (j) I c 3 on() (j) We can apply the on formula. (Sync) j, j 3, I c (I () (j)) I c 2 (I () (j)) j, j, I c2 (I () (j)) I c 3 (I () (j)) j, j, I c2 (I () (j)) I c 3 (I () (j)) We can compute the index of the s in the periodic words.

47 2 c.v = c 2.v c 2.v = c 3.v c 2.v = c 3.v I c () I c2 (2) I c (3) I c2 (4) I c (4) I c2 (6) I c2 (2) I c3 () I c2 (4) I c3 () Question: find the sizes and the index of such that the constraints are always satisfied and they define well formed ultimately periodic words. 42

48 Well formed ultimately periodic binary words ultimately periodic word ( ) infinite word... index Well formation constraints: increasing indexes: j, I w (j) < I w (j +) sufficient indexes: periodicity: j, I w (j) j j > p.u, I p (j + p.v ) = I p (j)+ p.v sufficient size: p.v +I p ( p.u + p.v ) I p ( p.u +) 43

49 Typing f :: α on c α on c 2 α on c 3 with the following constraints: 2 c.v = c 2.v - (v_size_c - ) c 2.v = c 3.v c 2.v = c 3.v I_c() 2 I_c(3) v_size_c I_c(4) source I_c2() - (v_size_c2 - ) 2 I_c2(4) 2 I_c2(6) I_c2(2) v_size_c2 - (v_size_c3 - ) I_c3() We can solve the Integer Linear Programming problem using GLPK. 44

50 Typing f () i α α on () () α 2 on () () i2 α 2 α 2 on () α 2 on () + α 2 on () aux2 α 2 on () + aux α 2 on () () () α 2 on () on () α 3 α 2 on () on () α 3 + α 3 o f :: α on c α on c 2 α on c 3 with the following constraints: c.v = 2 c 2.v = 4 c 3.v = 4 I c () = I c (3) = 3 I c (4) = 5 I c2 () = I c2 (2) = 2 I c2 (4) = 4 I c2 (6) = 6 I c3 () = 4 We can build the following solution: c = () c 2 = () = () c 3 = () = ( 3 ) 45

51 Typing f () i α α on () () α 2 on () () i2 α 2 α 2 on () α 2 on () + α 2 on () aux2 α 2 on () + aux α 2 on () () () α 2 on () on () α 3 α 2 on () on () α 3 + α 3 o let node f (i, i2) = o where rec aux = buffer (i ()) + aux2 and aux2 = buffer (i2 ()) + i2 () and o = buffer (aux ()) + buffer (aux ()) val f :: forall a. ( a on () * a) -> a on ^3(^3) Buffer line 2, characters 3-35: size = Buffer line 3, characters 3-36: size = Buffer line 4, characters -33: size = Buffer line 4, characters 36-59: size = 46

52 Completeness: Choice of the number of s All the steps of the constraints resolution algorithm are based on equivalence relations except the choice of number of s The choice of number of s is directed by the property: Let p and p 2 such that p.u = p 2.u and p.v = p 2.v. Then: (p on p 2 ).u = p.u (p on p 2 ).u = p 2.u (p on p 2 ).v = p.v (p on p 2 ).v = p 2.v 47

53 Completeness: choice of the number of s Example: p ( ) p 2 ( ) p on p 2 ( ) Property: size and number of : Let p and p 2 such that p.u = p 2.u +k p 2.v and p.v = k p 2.v. Then: (p on p 2 ).u = p.u (p on p 2 ).u = p 2.u +k p 2.v (p on p 2 ).v = p.v (p on p 2 ).v = k p 2.v 48

54 Throughput v.s. buffering () g i i2 () aux aux2 + o let node g (i, i2) = o where rec aux = i () and aux2 = i2 () and o = buffer aux + buffer aux2 49

55 Throughput v.s. buffering () g i i2 () aux aux2 + o let node g (i, i2) = o where rec aux = i () and aux2 = i2 () and o = buffer aux + buffer aux2 With bufferization: val g :: forall a. ( a * a) -> a on () Buffer line 4, characters -2: size = Buffer line 4, characters 24-35: size = Without bufferization: val g :: forall a. ( a on (^4 ) * a on ()) -> a on () Buffer line 4, characters -2: size = Buffer line 4, characters 24-35: size = 5

56 Objective function It is possible to choose the objective function the linear constraints are solves ASAP: minimize the index of s rate: minimize the sizes of the words buffer: minimize the precedence constraints 5

57 GSM speech encoding and decoding

58 Example of a GSM speech encoder and decoder cyclic encoding ( 5 ) i redundancy bit bit bit2 merge o ( 5 ) merge o2 ( 52 ) merge o3 53

59 Example of a GSM speech encoder and decoder gsm encoding ( ) ( ) cyclic encoding merge convolutional encoding split speech merge 54

60 Global unification H e : ct C H e 2 : ct C 2 H e +e 2 : ct C C 2 Collection of equality constraints H e : ct C H e 2 : ct 2 C 2 H e +e 2 : ct 3 {ct = ct 2 = ct 3 } C C 2 55

61 Example of a GSM speech encoder and decoder gsm decoding convolutional decoding split Ia Ib cyclic decoding i split I II join speech o 56

62 Example of a GSM speech encoder and decoder cyclic decoding x ( 5 3 ) ot ( 5 3 ) data cyclic encoding redondancy reencoded data ( 5 3 ) ot code ok frame ok = and by 3 stutter5 data ok 5 current frame if o 5 () true 5 merge last frame 57

63 Abstract Clocks

64 Abstract Clocks: abs(w) = b,b (r) Number of ones concr( b,b (r)) = a =, 4 5 ( ) Instants O w w w[i] = O w (i) (i) w[i] = O w (i) (i) : r i+b : r i+b 59

65 Abstract Clocks: early and late Nombre de uns a 9 = 2 5, 5 ( 9 3 ) O earlya9 5 O latea Instants i, O earlya (i) = max(,min(i, r i+b )) O latea (i) = max(,min(i, r i+b )) most of the proofs rely on these definitions 6

66 Abstract Clocks: normal form Nombre de uns 5 4 a = 4, 4 ( 7 ) 2 ( a = 2,3 2 2) Instants a = b,b (r), a k = (n, ) k l l l with gcd(n,l) = such that concr(()a ) = concr(()a). We have: n l = red(r), k = b l and k = b l. 6

67 Abstract Clocks: prefix Nombre de uns a 7 = 6 3, 3 ( ) 2 3 Nombre de uns a8 = ( 3, 6 3 3) O w O w Instants Instants concr( b,b (r)) = w w[i] = O w (i) (i) w[i] = O w (i) (i) 62

68 Abstract Clocks: automaton Nombre de uns a 2 = 9 5, 3 5 ( 3 5 ) O w , 5, 6,2 7, Instants, 2, 3, 4, Acceptors and generators : States (i,j) : coordinates in the graph if j + (i) Transitions : if j (i) Finite number of equivalent states. 63

69 Clocks Generator (Lucid Synchrone) type rat = { num: int; den: int; } let norm { num = n; den = l; } i j = if i > l && j >= n then (i - l, j - n) else (i, j) let node generate choice b b r = clk where rec i, j = (,) fby norm r (i+) (if clk then j + else j) and one = rat (j + ) <=.. r *.. (rat i) +.. b and zero = rat j >=.. r *.. (rat i) +.. b and clk = choice one zero let node early b b r = generate (fun x y -> x) b b r let node late b b r = generate (fun x y -> not y) b b r 64

70 Adaptability Relation on Abstract Clocks Number of ones a =, 4 5 ( ) a 2 = 9 5, 3 5 ( 3 5 ) Instants O w O w2 synchronizability b,b (r ) b 2,b 2 (r 2 ) def r = r 2 precedence b,b (r) b 2,b 2 (r) def b 2 b < buffer size size (a,a 2 ) = b b 2 65

71 Abstract Operators Clock expressions: ce ::= w not w ce on ce Abstraction of a clock expression: abs(not w) = not abs(w) abs(c on c 2 ) = abs(c ) on abs(c 2 ) Operators correctness property: not w concr(not abs(w)) c on c 2 concr(abs(c ) on abs(c 2 )) 66

72 Abstract Operators: not Nombre de uns a8 = 3, 6 3 ( 3) O w8 6 5 O w a 7 = 6 3, 3 ( ) Instants not operator definition: not b,b (r) = b, b ( r) 67

73 Abstract Operators: on 9,4,4 7,3 8,3 5,2 6,2 7,2, 2, 3, 3, 4, 5, 2 3, ( ) 2 3 on 5 6, ( ) 5 6 on operator definition: b, b ( r ) on b 2, b 2 ( r 2 ) = b r 2 +b 2, b r 2 +b 2 (r r 2 ) with b, b 2 68

74 Typing f () i α α on () () α 2 on () () i2 α 2 α 2 on () α 2 on () + α 2 on () aux2 α 2 on () + aux α 2 on () () () α 2 on () on () α 3 α 2 on () on () α 3 + α 3 o f :: α on c α on c 2 α on c 3 with the following constraints: c on () <: c 2 on () c 2 on () on () <: c 3 on () c 2 on () on () <: c 3 on () We solve the constraints in the abstract domain.

75 abs(c ) on abs(()) <: abs(c 2 ) on abs(()) abs(c 2 ) on abs(() on ()) <: abs(c 2 ) on abs(() on ()) <: abs(c 3 ) on abs(()) abs(c 3 ) on abs(()) We compute the abstractions. b,b (r ) on, () <: b 2,b 2 (r 2 ) on 2, ( ) 2 b 2,b 2 (r 2 ) on 4, 2 ( ) 4 <: b 3,b 3 (r 3 ) on, () b 2,b 2 (r 2 ) on 3 4, ( ) 4 <: b 3,b 3 (r 3 ) on, () We apply the definition of on. b,b + (r ) <: b 2 2 2,b ( ) r 2 2 b 2 4 4,b ( ) 2 r2 4 <: b 3 +,b 3 + (r 3 ) b ,b ( ) r 2 4 <: b 3 +,b 3 + (r 3 )

76 We can split adaptability constraints into synchronizability and precedence constraints and apply the tests. r = r 2 2 r 2 4 = r 3 r 2 4 = r 3 b b < b 3 + b < b 3 + b < (Sync) (Prec) To solve synchronizability constraints we put all the constraints into the for r i = k r j with k r = 2 r 2 r 3 = 4 r 2 (Prec) We choose r = for the variables that do not appear on the left.

77 r 2 = b b < r = 2 r 3 = 4 b 3 + b < b 3 + b < Question: find the values of the b s and b s such that the constraints are always satisfied and they define well formed abstractions. 72

78 Abstract Clocks: non empty Nombre de uns 4 3 a = 5, 2 5 ( 3 5 ) Instants a = k (n ) l, k, l l k l k l l concr(a) 73

79 Abstract Operators: on definition domain Nombre de uns , ( 6 3 6) (, 6 3 6) O w on w () on 3 () = () , ( Instants 3 ) = 2 ) = , 2 +2 ( , 6 ( ) 3 6, 6 ( ) 3 6 b,b (r ) on b 2,b 2 (r 2 ) is define b and b 2 74

80 Typing f :: α on c α on c 2 α on c 3 with the following constraints: c concr( b,b (r )) c 2 concr( b 2,b 2 (r 2 )) c 3 concr( b 3,b 3 (r 3 )) and r 2 = b r = 2 r 3 = 4 (Prec) (NonEmpty) b 2 b 3 We can solve the constraints using GLPK. 75

81 Application to Latency Insensitive Designs

82 Latency Insensitive Design [Carloni et al. 2] Method used to design synchronous circuits that tolerate data transfer latency design synchronous IPs and interconnect them at each instant, each IP is activated at each activation, an IP consumes a token on each input and produces a token on each output data transfer between each IP takes one instant add relay stations on the wires and shell wrappers around IPs relay-station = split a wire into two pieces shell wrapper = buffers on inputs + a controller to activate the IP Question: do IPs have to be activated by their controller? 77

83 Scheduling Latency Insensitive Design Existing answers: elastic circuits dynamic schedule [Carloni et al. 2, Carmona et al. 29]: every wire is transformed into a channel carrying data and control bits the wrappers dynamically decide activation of IPs by analysing control bits and applying an ASAP strategy a back pressure protocol must be used to avoid buffer overflows static schedule [Casu et al. 24, Boucaron et al. 27, Carmona et al. 29]: computation of an explicit schedule avoids additionnal control pathes and runtime overhead of dynamic schedule maximizes rate (by computing sufficient buffer sizes) minimizes buffer sizes (by choosing other strategies than ASAP) 78

84 Modeling Latency Insensitive Designs with Lucy-n Wire x w delay delay x () on w Relay station x w relay relay x w Shell wrapper x w y w 2 IP z w with w <: w and w 2 <: w 79

85 Example: composition of ip A and ip B i delay ip AB init B delay () merge relay delay ip A () out A delay out B ip B merge init A Schedule computed by the compiler val ip_ab :: forall a. a on () -> a on () 8

86 Example: composition of ip A and ip B i delay ip AB init B delay () merge relay delay ip A () out A delay out B ip B merge init A Schedule computed by the compiler val ip_ab :: forall a. a on () -> a on () Better throughput obtained with the help of the user (option -nbones 2): val ip_ab :: forall a. a on () -> a on () 8

87 Composition of Statically Scheduled IPs ip AAB i delay ip A delay ip AB out AB () delay delay relay merge init Schedule computed by the compiler val ip_aab :: forall a. a on () -> a on () The Lucy-n compiler can schedule IPs that do not necessarily consume a token on each input and produce a token on each output at each activation. 82

88 MPEG-2 video encoder [Carloni et al. 22, Casu et al. 24] Frame mem + DCT Quantizer Regulator Inverse quantizer Buffer Preprocessing Motion comp. + + IDCT Frame mem Variable length code ENC Motion est. input output 83

89 Conclusion 84

Relaxing Synchronous Composition with Clock Abstraction

Relaxing Synchronous Composition with Clock Abstraction Relaxing Synchronous Composition with Clock Abstraction Albert Cohen Louis Mandel Florence Plateau Marc Pouzet Université Paris-Sud and INRIA Saclay - Ile-de-France Synchronous data-flow languages such

More information

Scheduling and Buffer Sizing of n-synchronous Systems

Scheduling and Buffer Sizing of n-synchronous Systems Scheduling and Buffer Sizing of n-synchronous Systems Typing of Ultimately Periodic Clocks in Lucy-n Louis Mandel Florence Plateau Laboratoire de Recherche en Informatique, Université Paris-Sud 11 Laboratoire

More information

N-Synchronous Kahn Networks A Relaxed Model of Synchrony for Real-Time Systems

N-Synchronous Kahn Networks A Relaxed Model of Synchrony for Real-Time Systems N-Synchronous Kahn Networks A Relaxed Model of Synchrony for Real-Time Systems Albert Cohen 1, Marc Duranton 2, Christine Eisenbeis 1, Claire Pagetti 1,4, Florence Plateau 3 and Marc Pouzet 3 POPL, Charleston

More information

Integer Clocks and Local Time Scales

Integer Clocks and Local Time Scales Integer Clocks and Local Time Scales Part I Part II Adrien Guatto ENS - PARKAS SYNCHRON 2014 Adrien Guatto (ENS - PARKAS) Integer Clocks and Local Time Scales SYNCHRON 2014 1 / 31 Part I Adrien Guatto

More information

N-Synchronous Kahn Networks

N-Synchronous Kahn Networks N-Synchronous Kahn Networks A Relaxed Model of Synchrony for Real-Time Systems Albert Cohen 1 Albert.Cohen@inria.fr Marc Duranton 3 Marc.Duranton@philips.com Christine Eisenbeis 1 Christine.Eisenbeis@inria.fr

More information

Fundamental Algorithms for System Modeling, Analysis, and Optimization

Fundamental Algorithms for System Modeling, Analysis, and Optimization Fundamental Algorithms for System Modeling, Analysis, and Optimization Edward A. Lee, Jaijeet Roychowdhury, Sanjit A. Seshia UC Berkeley EECS 144/244 Fall 2010 Copyright 2010, E. A. Lee, J. Roydhowdhury,

More information

Clocks in Kahn Process Networks

Clocks in Kahn Process Networks Clocks in Kahn Process Networks Marc Pouzet UPMC/ENS/INRIA Paris MPRI October 28 Kahn Process Networks A system is defined by a set of operators that run in parallel and communicate with FIFO queues. It

More information

Mapping to Parallel Hardware

Mapping to Parallel Hardware - Mapping to Parallel Hardware Bruno Bodin University of Edinburgh, United Kingdom 1 / 27 Context - Hardware Samsung Exynos ARM big-little (Heterogenenous), 4 ARM A15, 4 ARM A7, 2-16 cores GPU, 5 Watt.

More information

Buffer Capacity Computation for Throughput Constrained Streaming Applications with Data-Dependent Inter-Task Communication

Buffer Capacity Computation for Throughput Constrained Streaming Applications with Data-Dependent Inter-Task Communication IEEE Real-Time and Embedded Technology and Applications Symposium Buffer Capacity Computation for Throughput Constrained Streaming Applications with Data-Dependent Inter-Task Communication Maarten H. Wiggers

More information

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

encoding without prediction) (Server) Quantization: Initial Data 0, 1, 2, Quantized Data 0, 1, 2, 3, 4, 8, 16, 32, 64, 128, 256

encoding without prediction) (Server) Quantization: Initial Data 0, 1, 2, Quantized Data 0, 1, 2, 3, 4, 8, 16, 32, 64, 128, 256 General Models for Compression / Decompression -they apply to symbols data, text, and to image but not video 1. Simplest model (Lossless ( encoding without prediction) (server) Signal Encode Transmit (client)

More information

Communication and Concurrency: CCS

Communication and Concurrency: CCS Communication and Concurrency: CCS R. Milner, A Calculus of Communicating Systems, 1980 cours SSDE Master 1 Why calculi? Prove properties on programs and languages Principle: tiny syntax, small semantics,

More information

DES. 4. Petri Nets. Introduction. Different Classes of Petri Net. Petri net properties. Analysis of Petri net models

DES. 4. Petri Nets. Introduction. Different Classes of Petri Net. Petri net properties. Analysis of Petri net models 4. Petri Nets Introduction Different Classes of Petri Net Petri net properties Analysis of Petri net models 1 Petri Nets C.A Petri, TU Darmstadt, 1962 A mathematical and graphical modeling method. Describe

More information

Overview: Synchronous Computations

Overview: Synchronous Computations Overview: Synchronous Computations barriers: linear, tree-based and butterfly degrees of synchronization synchronous example 1: Jacobi Iterations serial and parallel code, performance analysis synchronous

More information

From Concurrent Multiclock Programs to Deterministic Asynchronous Implementations

From Concurrent Multiclock Programs to Deterministic Asynchronous Implementations From Concurrent Multiclock Programs to Deterministic Asynchronous Implementations Dumitru Potop-Butucaru Robert de Simone Yves Sorel Jean-Pierre Talpin INRIA, France {FirstName.LastName}@inria.fr Abstract

More information

From Concurrent Multi-clock Programs to Deterministic Asynchronous Implementations

From Concurrent Multi-clock Programs to Deterministic Asynchronous Implementations From Concurrent Multi-clock Programs to Deterministic Asynchronous Implementations Dumitru Potop-Butucaru Robert de Simone Yves Sorel Jean-Pierre Talpin INRIA, France {FirstName.LastName}@inria.fr Abstract

More information

Synchronous Modelling of Complex Systems

Synchronous Modelling of Complex Systems Synchronous Modelling of Complex Systems Nicolas Halbwachs Verimag, Grenoble joint work with L. Mandel LRI E. Jahier, P. Raymond, X. Nicollin Verimag and D. Lesens Astrium Space Transportation () 1 / 45

More information

Communicating Parallel Processes. Stephen Brookes

Communicating Parallel Processes. Stephen Brookes Communicating Parallel Processes Stephen Brookes Carnegie Mellon University Deconstructing CSP 1 CSP sequential processes input and output as primitives named parallel composition synchronized communication

More information

Unit: Blocking Synchronization Clocks, v0.3 Vijay Saraswat

Unit: Blocking Synchronization Clocks, v0.3 Vijay Saraswat Unit: Blocking Synchronization Clocks, v0.3 Vijay Saraswat This lecture discusses X10 clocks. For reference material please look at the chapter on Clocks in []. 1 Motivation The central idea underlying

More information

2018/5/3. YU Xiangyu

2018/5/3. YU Xiangyu 2018/5/3 YU Xiangyu yuxy@scut.edu.cn Entropy Huffman Code Entropy of Discrete Source Definition of entropy: If an information source X can generate n different messages x 1, x 2,, x i,, x n, then the

More information

Communication and Concurrency: CCS. R. Milner, A Calculus of Communicating Systems, 1980

Communication and Concurrency: CCS. R. Milner, A Calculus of Communicating Systems, 1980 Communication and Concurrency: CCS R. Milner, A Calculus of Communicating Systems, 1980 Why calculi? Prove properties on programs and languages Principle: tiny syntax, small semantics, to be handled on

More information

Compilers. Lexical analysis. Yannis Smaragdakis, U. Athens (original slides by Sam

Compilers. Lexical analysis. Yannis Smaragdakis, U. Athens (original slides by Sam Compilers Lecture 3 Lexical analysis Yannis Smaragdakis, U. Athens (original slides by Sam Guyer@Tufts) Big picture Source code Front End IR Back End Machine code Errors Front end responsibilities Check

More information

Synchronous Elastic Systems

Synchronous Elastic Systems Synchronous Elastic Systems Mike Kishinevsky and Jordi Cortadella Intel Strategic CAD Labs Hillsboro, USA Universitat Politecnica de Catalunya Barcelona, Spain 2 Contributors to SELF research Performance

More information

Exploring the Potential of Instruction-Level Parallelism of Exposed Datapath Architectures with Buffered Processing Units

Exploring the Potential of Instruction-Level Parallelism of Exposed Datapath Architectures with Buffered Processing Units Exploring the Potential of Instruction-Level Parallelism of Exposed Datapath Architectures with Buffered Processing Units Anoop Bhagyanath and Klaus Schneider Embedded Systems Chair University of Kaiserslautern

More information

Embedded Systems 5. Synchronous Composition. Lee/Seshia Section 6.2

Embedded Systems 5. Synchronous Composition. Lee/Seshia Section 6.2 Embedded Systems 5-1 - Synchronous Composition Lee/Seshia Section 6.2 Important semantic model for concurrent composition Here: composition of actors Foundation of Statecharts, Simulink, synchronous programming

More information

Time and Timed Petri Nets

Time and Timed Petri Nets Time and Timed Petri Nets Serge Haddad LSV ENS Cachan & CNRS & INRIA haddad@lsv.ens-cachan.fr DISC 11, June 9th 2011 1 Time and Petri Nets 2 Timed Models 3 Expressiveness 4 Analysis 1/36 Outline 1 Time

More information

Embedded Systems Development

Embedded Systems Development Embedded Systems Development Lecture 2 Finite Automata & SyncCharts Daniel Kästner AbsInt Angewandte Informatik GmbH kaestner@absint.com Some things I forgot to mention 2 Remember the HISPOS registration

More information

Lecture 2: Introduction to Audio, Video & Image Coding Techniques (I) -- Fundaments

Lecture 2: Introduction to Audio, Video & Image Coding Techniques (I) -- Fundaments Lecture 2: Introduction to Audio, Video & Image Coding Techniques (I) -- Fundaments Dr. Jian Zhang Conjoint Associate Professor NICTA & CSE UNSW COMP9519 Multimedia Systems S2 2006 jzhang@cse.unsw.edu.au

More information

LORD: LOw-complexity, Rate-controlled, Distributed video coding system

LORD: LOw-complexity, Rate-controlled, Distributed video coding system LORD: LOw-complexity, Rate-controlled, Distributed video coding system Rami Cohen and David Malah Signal and Image Processing Lab Department of Electrical Engineering Technion - Israel Institute of Technology

More information

ECE 5775 (Fall 17) High-Level Digital Design Automation. Scheduling: Exact Methods

ECE 5775 (Fall 17) High-Level Digital Design Automation. Scheduling: Exact Methods ECE 5775 (Fall 17) High-Level Digital Design Automation Scheduling: Exact Methods Announcements Sign up for the first student-led discussions today One slot remaining Presenters for the 1st session will

More information

VLSI Signal Processing

VLSI Signal Processing VLSI Signal Processing Lecture 1 Pipelining & Retiming ADSP Lecture1 - Pipelining & Retiming (cwliu@twins.ee.nctu.edu.tw) 1-1 Introduction DSP System Real time requirement Data driven synchronized by data

More information

CSE 505, Fall 2005, Midterm Examination 8 November Please do not turn the page until everyone is ready.

CSE 505, Fall 2005, Midterm Examination 8 November Please do not turn the page until everyone is ready. CSE 505, Fall 2005, Midterm Examination 8 November 2005 Please do not turn the page until everyone is ready. Rules: The exam is closed-book, closed-note, except for one side of one 8.5x11in piece of paper.

More information

Compression. Encryption. Decryption. Decompression. Presentation of Information to client site

Compression. Encryption. Decryption. Decompression. Presentation of Information to client site DOCUMENT Anup Basu Audio Image Video Data Graphics Objectives Compression Encryption Network Communications Decryption Decompression Client site Presentation of Information to client site Multimedia -

More information

Lecture 2: Introduction to Audio, Video & Image Coding Techniques (I) -- Fundaments. Tutorial 1. Acknowledgement and References for lectures 1 to 5

Lecture 2: Introduction to Audio, Video & Image Coding Techniques (I) -- Fundaments. Tutorial 1. Acknowledgement and References for lectures 1 to 5 Lecture : Introduction to Audio, Video & Image Coding Techniques (I) -- Fundaments Dr. Jian Zhang Conjoint Associate Professor NICTA & CSE UNSW COMP959 Multimedia Systems S 006 jzhang@cse.unsw.edu.au Acknowledgement

More information

Real-Time Calculus. LS 12, TU Dortmund

Real-Time Calculus. LS 12, TU Dortmund Real-Time Calculus Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 09, Dec., 2014 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 35 Arbitrary Deadlines The worst-case response time of τ i by only considering

More information

Lexical Analysis. Reinhard Wilhelm, Sebastian Hack, Mooly Sagiv Saarland University, Tel Aviv University.

Lexical Analysis. Reinhard Wilhelm, Sebastian Hack, Mooly Sagiv Saarland University, Tel Aviv University. Lexical Analysis Reinhard Wilhelm, Sebastian Hack, Mooly Sagiv Saarland University, Tel Aviv University http://compilers.cs.uni-saarland.de Compiler Construction Core Course 2017 Saarland University Today

More information

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard

More information

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181. Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität

More information

Trace semantics: towards a unification of parallel paradigms Stephen Brookes. Department of Computer Science Carnegie Mellon University

Trace semantics: towards a unification of parallel paradigms Stephen Brookes. Department of Computer Science Carnegie Mellon University Trace semantics: towards a unification of parallel paradigms Stephen Brookes Department of Computer Science Carnegie Mellon University MFCSIT 2002 1 PARALLEL PARADIGMS State-based Shared-memory global

More information

A Hybrid Synchronous Language with Hierarchical Automata

A Hybrid Synchronous Language with Hierarchical Automata A Hybrid Synchronous Lanuae with Hierarchical Automata Static Typin and Translation to Synchronous Code Albert Benveniste 1 Benoît Caillaud 1 Timothy Bourke 1,2 Marc Pouzet 2,1 1. INRIA 2. ENS, Paris 18th

More information

Temperature-Aware Analysis and Scheduling

Temperature-Aware Analysis and Scheduling Temperature-Aware Analysis and Scheduling Lothar Thiele, Pratyush Kumar Overview! Introduction! Power and Temperature Models! Analysis Real-time Analysis Worst-case Temperature Analysis! Scheduling Stop-and-go

More information

Information and Entropy

Information and Entropy Information and Entropy Shannon s Separation Principle Source Coding Principles Entropy Variable Length Codes Huffman Codes Joint Sources Arithmetic Codes Adaptive Codes Thomas Wiegand: Digital Image Communication

More information

How to deal with uncertainties and dynamicity?

How to deal with uncertainties and dynamicity? How to deal with uncertainties and dynamicity? http://graal.ens-lyon.fr/ lmarchal/scheduling/ 19 novembre 2012 1/ 37 Outline 1 Sensitivity and Robustness 2 Analyzing the sensitivity : the case of Backfilling

More information

IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS 1

IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS 1 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS Modeling, Analysis, and Hard Real-time Scheduling of Adaptive Streaming Applications Jiali Teddy Zhai, Sobhan Niknam, and Todor

More information

Causality Interfaces and Compositional Causality Analysis

Causality Interfaces and Compositional Causality Analysis Causality Interfaces and Compositional Causality Analysis Edward A. Lee Haiyang Zheng Ye Zhou {eal,hyzheng,zhouye}@eecs.berkeley.edu Center for Hybrid and Embedded Software Systems (CHESS) Department of

More information

Distributed Algorithms (CAS 769) Dr. Borzoo Bonakdarpour

Distributed Algorithms (CAS 769) Dr. Borzoo Bonakdarpour Distributed Algorithms (CAS 769) Week 1: Introduction, Logical clocks, Snapshots Dr. Borzoo Bonakdarpour Department of Computing and Software McMaster University Dr. Borzoo Bonakdarpour Distributed Algorithms

More information

VLSI System Design Part V : High-Level Synthesis(2) Oct Feb.2007

VLSI System Design Part V : High-Level Synthesis(2) Oct Feb.2007 VLSI System Design Part V : High-Level Synthesis(2) Oct.2006 - Feb.2007 Lecturer : Tsuyoshi Isshiki Dept. Communications and Integrated Systems, Tokyo Institute of Technology isshiki@vlsi.ss.titech.ac.jp

More information

Control of Hybrid Petri Nets using Max-Plus Algebra

Control of Hybrid Petri Nets using Max-Plus Algebra Control of Hybrid Petri Nets using Max-Plus Algebra FABIO BALDUZZI*, ANGELA DI FEBBRARO*, ALESSANDRO GIUA, SIMONA SACONE^ *Dipartimento di Automatica e Informatica Politecnico di Torino Corso Duca degli

More information

Snapshots. Chandy-Lamport Algorithm for the determination of consistent global states <$1000, 0> <$50, 2000> mark. (order 10, $100) mark

Snapshots. Chandy-Lamport Algorithm for the determination of consistent global states <$1000, 0> <$50, 2000> mark. (order 10, $100) mark 8 example: P i P j (5 widgets) (order 10, $100) cji 8 ed state P i : , P j : , c ij : , c ji : Distributed Systems

More information

Operational Semantics

Operational Semantics Operational Semantics Semantics and applications to verification Xavier Rival École Normale Supérieure Xavier Rival Operational Semantics 1 / 50 Program of this first lecture Operational semantics Mathematical

More information

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr Semantic Equivalences and the Verification of Infinite-State Systems Richard Mayr Department of Computer Science Albert-Ludwigs-University Freiburg Germany Verification of Infinite-State Systems 1 c 2004

More information

Information Flow Inference for ML

Information Flow Inference for ML POPL 02 INRIA Rocquencourt Projet Cristal Francois.Pottier@inria.fr http://cristal.inria.fr/~fpottier/ Vincent.Simonet@inria.fr http://cristal.inria.fr/~simonet/ Information flow analysis account number

More information

Compiling Techniques

Compiling Techniques Lecture 11: Introduction to 13 November 2015 Table of contents 1 Introduction Overview The Backend The Big Picture 2 Code Shape Overview Introduction Overview The Backend The Big Picture Source code FrontEnd

More information

Clock-driven scheduling

Clock-driven scheduling Clock-driven scheduling Also known as static or off-line scheduling Michal Sojka Czech Technical University in Prague, Faculty of Electrical Engineering, Department of Control Engineering November 8, 2017

More information

Transducers for bidirectional decoding of codes with a finite deciphering delay

Transducers for bidirectional decoding of codes with a finite deciphering delay Transducers for bidirectional decoding of codes with a finite deciphering delay L. Giambruno 1, S. Mantaci 2, J. Néraud 3 and C. Selmi 3 GREYC - Université de Caen Basse-Normandie Dipartimento di Matematica

More information

Scalable and Accurate Verification of Data Flow Systems. Cesare Tinelli The University of Iowa

Scalable and Accurate Verification of Data Flow Systems. Cesare Tinelli The University of Iowa Scalable and Accurate Verification of Data Flow Systems Cesare Tinelli The University of Iowa Overview AFOSR Supported Research Collaborations NYU (project partner) Chalmers University (research collaborator)

More information

Embedded Systems 14. Overview of embedded systems design

Embedded Systems 14. Overview of embedded systems design Embedded Systems 14-1 - Overview of embedded systems design - 2-1 Point of departure: Scheduling general IT systems In general IT systems, not much is known about the computational processes a priori The

More information

Concurrent automata vs. asynchronous systems

Concurrent automata vs. asynchronous systems Concurrent automata vs. asynchronous systems Une application d un résultat d ndré rnold avec l aide du théorème de Zielonka Réunion TGD 3 novembre 2005 Rémi MORIN Concurrent automata vs. asynchronous systems

More information

Qualitative vs Quantitative metrics

Qualitative vs Quantitative metrics Qualitative vs Quantitative metrics Quantitative: hard numbers, measurable Time, Energy, Space Signal-to-Noise, Frames-per-second, Memory Usage Money (?) Qualitative: feelings, opinions Complexity: Simple,

More information

Blocking Synchronization: Streams Vijay Saraswat (Dec 10, 2012)

Blocking Synchronization: Streams Vijay Saraswat (Dec 10, 2012) 1 Streams Blocking Synchronization: Streams Vijay Saraswat (Dec 10, 2012) Streams provide a very simple abstraction for determinate parallel computation. The intuition for streams is already present in

More information

Huffman Coding. C.M. Liu Perceptual Lab, College of Computer Science National Chiao-Tung University

Huffman Coding. C.M. Liu Perceptual Lab, College of Computer Science National Chiao-Tung University Huffman Coding C.M. Liu Perceptual Lab, College of Computer Science National Chiao-Tung University http://www.csie.nctu.edu.tw/~cmliu/courses/compression/ Office: EC538 (03)573877 cmliu@cs.nctu.edu.tw

More information

Equivalence Checking For Synchronous Elastic Circuits

Equivalence Checking For Synchronous Elastic Circuits Equivalence Checking For Synchronous Elastic Circuits Vidura Wijayasekara and Sudarshan K. Srinivasan Department of Electrical and Computer Engineering North Dakota State University Fargo ND 58104 Email:

More information

INF2270 Spring Philipp Häfliger. Lecture 8: Superscalar CPUs, Course Summary/Repetition (1/2)

INF2270 Spring Philipp Häfliger. Lecture 8: Superscalar CPUs, Course Summary/Repetition (1/2) INF2270 Spring 2010 Philipp Häfliger Summary/Repetition (1/2) content From Scalar to Superscalar Lecture Summary and Brief Repetition Binary numbers Boolean Algebra Combinational Logic Circuits Encoder/Decoder

More information

Time(d) Petri Net. Serge Haddad. Petri Nets 2016, June 20th LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA

Time(d) Petri Net. Serge Haddad. Petri Nets 2016, June 20th LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA Time(d) Petri Net Serge Haddad LSV ENS Cachan, Université Paris-Saclay & CNRS & INRIA haddad@lsv.ens-cachan.fr Petri Nets 2016, June 20th 2016 1 Time and Petri Nets 2 Time Petri Net: Syntax and Semantic

More information

EECS150 - Digital Design Lecture 23 - FFs revisited, FIFOs, ECCs, LSFRs. Cross-coupled NOR gates

EECS150 - Digital Design Lecture 23 - FFs revisited, FIFOs, ECCs, LSFRs. Cross-coupled NOR gates EECS150 - Digital Design Lecture 23 - FFs revisited, FIFOs, ECCs, LSFRs April 16, 2009 John Wawrzynek Spring 2009 EECS150 - Lec24-blocks Page 1 Cross-coupled NOR gates remember, If both R=0 & S=0, then

More information

Google s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation

Google s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation Google s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation Y. Wu, M. Schuster, Z. Chen, Q.V. Le, M. Norouzi, et al. Google arxiv:1609.08144v2 Reviewed by : Bill

More information

Programming with Dependent Types in Coq

Programming with Dependent Types in Coq Programming with Dependent Types in Coq Matthieu Sozeau LRI, Univ. Paris-Sud - Démons Team & INRIA Saclay - ProVal Project PPS Seminar February 26th 2009 Paris, France Coq A higher-order, polymorphic logic:

More information

Models for representing sequential circuits

Models for representing sequential circuits Sequential Circuits Models for representing sequential circuits Finite-state machines (Moore and Mealy) Representation of memory (states) Changes in state (transitions) Design procedure State diagrams

More information

Issues on Timing and Clocking

Issues on Timing and Clocking ECE152B TC 1 Issues on Timing and Clocking X Combinational Logic Z... clock clock clock period ECE152B TC 2 Latch and Flip-Flop L CK CK 1 L1 1 L2 2 CK CK CK ECE152B TC 3 Clocking X Combinational Logic...

More information

Bridging the Semantic Gap Between Heterogeneous Modeling Formalisms and FMI

Bridging the Semantic Gap Between Heterogeneous Modeling Formalisms and FMI Bridging the Semantic Gap Between Heterogeneous Modeling Formalisms and FMI Stavros Tripakis Aalto University and University of California, Berkeley Abstract FMI (Functional Mockup Interface) is a standard

More information

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D.

LOGIC CIRCUITS. Basic Experiment and Design of Electronics. Ho Kyung Kim, Ph.D. Basic Experiment and Design of Electronics LOGIC CIRCUITS Ho Kyung Kim, Ph.D. hokyung@pusan.ac.kr School of Mechanical Engineering Pusan National University Digital IC packages TTL (transistor-transistor

More information

A Simulation Condition for Correct Asynchronous Implementation of Synchronous Design

A Simulation Condition for Correct Asynchronous Implementation of Synchronous Design A Simulation Condition for Correct Asynchronous Implementation of Synchronous Design S. Xu, R. Kumar, S. Jiang, and S. Ramesh Abstract We study the problem of desynchronization, i.e., semantics-preserving

More information

Optimal Media Streaming in a Rate-Distortion Sense For Guaranteed Service Networks

Optimal Media Streaming in a Rate-Distortion Sense For Guaranteed Service Networks Optimal Media Streaming in a Rate-Distortion Sense For Guaranteed Service Networks Olivier Verscheure and Pascal Frossard Jean-Yves Le Boudec IBM Watson Research Center Swiss Federal Institute of Tech.

More information

Sanjit A. Seshia EECS, UC Berkeley

Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Explicit-State Model Checking: Additional Material Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: G. Holzmann Checking if M satisfies : Steps 1. Compute Buchi

More information

Recoverable Robustness in Scheduling Problems

Recoverable Robustness in Scheduling Problems Master Thesis Computing Science Recoverable Robustness in Scheduling Problems Author: J.M.J. Stoef (3470997) J.M.J.Stoef@uu.nl Supervisors: dr. J.A. Hoogeveen J.A.Hoogeveen@uu.nl dr. ir. J.M. van den Akker

More information

Clocks in Asynchronous Systems

Clocks in Asynchronous Systems Clocks in Asynchronous Systems The Internet Network Time Protocol (NTP) 8 Goals provide the ability to externally synchronize clients across internet to UTC provide reliable service tolerating lengthy

More information

Representations of All Solutions of Boolean Programming Problems

Representations of All Solutions of Boolean Programming Problems Representations of All Solutions of Boolean Programming Problems Utz-Uwe Haus and Carla Michini Institute for Operations Research Department of Mathematics ETH Zurich Rämistr. 101, 8092 Zürich, Switzerland

More information

Integer Linear Programming Based Property Checking for Asynchronous Reactive Systems

Integer Linear Programming Based Property Checking for Asynchronous Reactive Systems IEEE TRANSACTIONS ON SOFTWARE ENGINEERING 1 Integer Linear Programming Based Property Checking for Asynchronous Reactive Systems Stefan Leue Department of Computer and Information Science University of

More information

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 281: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Synchronous Sequential Circuits Basic Design Steps CprE 281: Digital Logic Iowa State University, Ames,

More information

Performance Analysis and Optimization of Latency Insensitive Systems

Performance Analysis and Optimization of Latency Insensitive Systems Performance Analysis and Optimization of Latency Insensitive Systems Luca P. Carloni and Alberto L. Sangiovanni-Vincentelli University of California at Berkeley, Berkeley, CA 94720-1772 {lcarloni,alberto}@ic.eecs.berkeley.edu

More information

Automata-based Verification - III

Automata-based Verification - III COMP30172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2009 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

Lecture 4. Finite Automata and Safe State Machines (SSM) Daniel Kästner AbsInt GmbH 2012

Lecture 4. Finite Automata and Safe State Machines (SSM) Daniel Kästner AbsInt GmbH 2012 Lecture 4 Finite Automata and Safe State Machines (SSM) Daniel Kästner AbsInt GmbH 2012 Initialization Analysis 2 Is this node well initialized? node init1() returns (out: int) let out = 1 + pre( 1 ->

More information

Special Nodes for Interface

Special Nodes for Interface fi fi Special Nodes for Interface SW on processors Chip-level HW Board-level HW fi fi C code VHDL VHDL code retargetable compilation high-level synthesis SW costs HW costs partitioning (solve ILP) cluster

More information

FPGA Resource Utilization Estimates for NI crio LabVIEW FPGA Version: 8.6 NI-RIO Version: 3.0 Date: 8/5/2008

FPGA Resource Utilization Estimates for NI crio LabVIEW FPGA Version: 8.6 NI-RIO Version: 3.0 Date: 8/5/2008 FPGA Resource Utilization Estimates for NI crio-9104 LabVIEW FPGA Version: 8.6 NI-RIO Version: 3.0 Date: 8/5/2008 Note: The numbers presented in this document are estimates. Actual resource usage for your

More information

Dynamic Power Allocation and Routing for Time Varying Wireless Networks

Dynamic Power Allocation and Routing for Time Varying Wireless Networks Dynamic Power Allocation and Routing for Time Varying Wireless Networks X 14 (t) X 12 (t) 1 3 4 k a P ak () t P a tot X 21 (t) 2 N X 2N (t) X N4 (t) µ ab () rate µ ab µ ab (p, S 3 ) µ ab µ ac () µ ab (p,

More information

Chapter 3. Regular grammars

Chapter 3. Regular grammars Chapter 3 Regular grammars 59 3.1 Introduction Other view of the concept of language: not the formalization of the notion of effective procedure, but set of words satisfying a given set of rules Origin

More information

Source Coding: Part I of Fundamentals of Source and Video Coding

Source Coding: Part I of Fundamentals of Source and Video Coding Foundations and Trends R in sample Vol. 1, No 1 (2011) 1 217 c 2011 Thomas Wiegand and Heiko Schwarz DOI: xxxxxx Source Coding: Part I of Fundamentals of Source and Video Coding Thomas Wiegand 1 and Heiko

More information

Novel Devices and Circuits for Computing

Novel Devices and Circuits for Computing Novel Devices and Circuits for Computing UCSB 594BB Winter 2013 Lecture 4: Resistive switching: Logic Class Outline Material Implication logic Stochastic computing Reconfigurable logic Material Implication

More information

A Multi-Periodic Synchronous Data-Flow Language

A Multi-Periodic Synchronous Data-Flow Language Julien Forget 1 Frédéric Boniol 1 David Lesens 2 Claire Pagetti 1 firstname.lastname@onera.fr 1 ONERA - Toulouse, FRANCE 2 EADS Astrium Space Transportation - Les Mureaux, FRANCE November 19, 2008 1 /

More information

High Performance Computing

High Performance Computing Master Degree Program in Computer Science and Networking, 2014-15 High Performance Computing 2 nd appello February 11, 2015 Write your name, surname, student identification number (numero di matricola),

More information

Analysis of Rate-distortion Functions and Congestion Control in Scalable Internet Video Streaming

Analysis of Rate-distortion Functions and Congestion Control in Scalable Internet Video Streaming Analysis of Rate-distortion Functions and Congestion Control in Scalable Internet Video Streaming Min Dai Electrical Engineering, Texas A&M University Dmitri Loguinov Computer Science, Texas A&M University

More information

Digital Control of Electric Drives

Digital Control of Electric Drives Digital Control of Electric Drives Logic Circuits - equential Description Form, Finite tate Machine (FM) Czech Technical University in Prague Faculty of Electrical Engineering Ver.. J. Zdenek 27 Logic

More information

LOGIC CIRCUITS. Basic Experiment and Design of Electronics

LOGIC CIRCUITS. Basic Experiment and Design of Electronics Basic Experiment and Design of Electronics LOGIC CIRCUITS Ho Kyung Kim, Ph.D. hokyung@pusan.ac.kr School of Mechanical Engineering Pusan National University Outline Combinational logic circuits Output

More information

Bridging the Semantic Gap Between Heterogeneous Modeling Formalisms and FMI

Bridging the Semantic Gap Between Heterogeneous Modeling Formalisms and FMI Bridging the Semantic Gap Between Heterogeneous Modeling Formalisms and FMI Stavros Tripakis David Broman Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report

More information

Valency Arguments CHAPTER7

Valency Arguments CHAPTER7 CHAPTER7 Valency Arguments In a valency argument, configurations are classified as either univalent or multivalent. Starting from a univalent configuration, all terminating executions (from some class)

More information

Clocked Synchronous State-machine Analysis

Clocked Synchronous State-machine Analysis Clocked Synchronous State-machine Analysis Given the circuit diagram of a state machine: Analyze the combinational logic to determine flip-flop input (excitation) equations: D i = F i (Q, inputs) The input

More information

Sémantique des jeux asynchrones et réécriture 2-dimensionnelle

Sémantique des jeux asynchrones et réécriture 2-dimensionnelle Sémantique des jeux asynchrones et réécriture 2-dimensionnelle Soutenance de thèse de doctorat Samuel Mimram Laboratoire PPS (CNRS Université Paris Diderot) 1 er décembre 2008 1 / 64 A program is a text

More information

COMPUTER SCIENCE TRIPOS

COMPUTER SCIENCE TRIPOS CST0.2017.2.1 COMPUTER SCIENCE TRIPOS Part IA Thursday 8 June 2017 1.30 to 4.30 COMPUTER SCIENCE Paper 2 Answer one question from each of Sections A, B and C, and two questions from Section D. Submit the

More information

Exam Spring Embedded Systems. Prof. L. Thiele

Exam Spring Embedded Systems. Prof. L. Thiele Exam Spring 20 Embedded Systems Prof. L. Thiele NOTE: The given solution is only a proposal. For correctness, completeness, or understandability no responsibility is taken. Sommer 20 Eingebettete Systeme

More information

Binary Convolutional Codes

Binary Convolutional Codes Binary Convolutional Codes A convolutional code has memory over a short block length. This memory results in encoded output symbols that depend not only on the present input, but also on past inputs. An

More information