CPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation

Size: px
Start display at page:

Download "CPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation"

Transcription

1 CPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation Stéphane Zuckerman Computer Architecture & Parallel Systems Laboratory Electrical & Computer Engineering Dept. University of Delaware 140 Evans Hall Newark,DE 19716, United States September 8, 2015 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 1 / 46

2 Outline 1 A Quick Reminder on Execution Models 2 Dataflow Models of Computation 3 Dataflow Graphs and Properties 4 Static Dataflow Introduction Static Dataflow Examples Static Dataflow Features Static Dataflow Activity Templates 5 Recursive Program Graphs Introduction Ordinary and Tail Recursions Features of Recursive Program Graphs 6 Homework S.Zuckerman CPEG852 Fall 15 Dataflow MoC 2 / 46

3 Outline 1 A Quick Reminder on Execution Models 2 Dataflow Models of Computation 3 Dataflow Graphs and Properties 4 Static Dataflow Introduction Static Dataflow Examples Static Dataflow Features Static Dataflow Activity Templates 5 Recursive Program Graphs Introduction Ordinary and Tail Recursions Features of Recursive Program Graphs 6 Homework S.Zuckerman CPEG852 Fall 15 Dataflow MoC 3 / 46

4 High-Level View of a Computer System S.Zuckerman Figure: High-Level View CPEG852 of afall Computer 15 DataflowSystem MoC 4 / 46

5 A Representative View of Current Compute Nodes Hardware Figure: S.Zuckerman A Representative View CPEG852 of Current Fall 15 Compute Dataflow MoC Nodes Hardware 5 / 46

6 A Representative View of Current Compute Nodes Software Mess Figure: S.Zuckerman A Representative View of CPEG852 Current Fall Compute 15 Dataflow Nodes MoC Software Mess 6 / 46

7 Terminology Definition: Parallel Model of Computation Parallel models for algorithms designers Parallel models for system designers Parallel programming models Parallel execution models Parallel architecture models S.Zuckerman CPEG852 Fall 15 Dataflow MoC 7 / 46

8 An Alternate Program Execution Model Definition (Dr. Gao s) Definition: Program Execution Model The program execution model (PXM) is the basic low-level abstraction of the underlying system architecture upon which our programming model, compilation strategy, runtime system, and other software components are developed. The PXM (and its API) serves as an interface between the architecture and the software. Unlike an instruction set architecture (ISA) specification, which usually focuses on lower level details (such as instruction encoding and organization of registers for a specific processor), the PXM refers to machine organization at a higher level for a whole class of high-end machines as viewed by the users S.Zuckerman CPEG852 Fall 15 Dataflow MoC 8 / 46

9 Horizontal Conception of a PXM S.Zuckerman Figure: Horizontal CPEG852 Conception Fall 15 of Dataflow a PXM MoC 9 / 46

10 Vertical Conception of a PXM S.Zuckerman Figure: VerticalCPEG852 Conception Fall 15 of Dataflow a PXMMoC 10 / 46

11 Outline 1 A Quick Reminder on Execution Models 2 Dataflow Models of Computation 3 Dataflow Graphs and Properties 4 Static Dataflow Introduction Static Dataflow Examples Static Dataflow Features Static Dataflow Activity Templates 5 Recursive Program Graphs Introduction Ordinary and Tail Recursions Features of Recursive Program Graphs 6 Homework S.Zuckerman CPEG852 Fall 15 Dataflow MoC 11 / 46

12 The Dataflow Model of Computation A Pragmatic Approach S.Zuckerman CPEG852 Fall 15 Dataflow MoC 12 / 46

13 The Dataflow Model of Computation A Pragmatic Approach S.Zuckerman CPEG852 Fall 15 Dataflow MoC 12 / 46

14 The Dataflow Model of Computation A Pragmatic Approach S.Zuckerman CPEG852 Fall 15 Dataflow MoC 12 / 46

15 The Dataflow Model of Computation A Pragmatic Approach S.Zuckerman CPEG852 Fall 15 Dataflow MoC 12 / 46

16 The Dataflow Model of Computation A Pragmatic Approach S.Zuckerman CPEG852 Fall 15 Dataflow MoC 12 / 46

17 Dataflow Graphs For J.B. Dennis, the role of Dataflow Graphs (DFGs) is two-fold: Serve as an intermediate-level language for high-level languages Serve as a machine language for parallel machine S.Zuckerman CPEG852 Fall 15 Dataflow MoC 13 / 46

18 A Brief History of Dataflow MIT, April 1974: Symposium on Programming, Paris. Dennis: First Version of a Data Flow Procedure Language. January 1975: Second Annual Symposium on Computer Architecture, Houston. Dennis and Misunas: A Preliminary Architecture for a Basic Data-Flow Processor. August 1975: Sagamore Computer Conference on Parallel Processing: Rumbaugh: Data Flow Languages Rumbaugh: A Data Flow Multiprocessor Bryant & Dennis: Packet Communication Architecture Misunas: Structure Processing in a Data-Flow Computer S.Zuckerman CPEG852 Fall 15 Dataflow MoC 14 / 46

19 Eearly Roots on Dataflow Work MIT in the 70 s Asynchronous Digital Logic (D. E. Muller and Bartky, 1957; David E Muller, 1963) Control Structures for Parallel Programming (Conway, 1963; McIlroy, 1969; Dijkstra, 1971) Abstract Models for Concurrent Systems (Petri, 1966; Holt, 1978) Theory of Program Schemes (Ianov, 1958; Paterson and Hewitt, 1970) Structured Programming (Dahl, Dijkstra, and Hoare, 1972) Functional Programming (McCarthy, 1960; Landin, 1964) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 15 / 46

20 Outline 1 A Quick Reminder on Execution Models 2 Dataflow Models of Computation 3 Dataflow Graphs and Properties 4 Static Dataflow Introduction Static Dataflow Examples Static Dataflow Features Static Dataflow Activity Templates 5 Recursive Program Graphs Introduction Ordinary and Tail Recursions Features of Recursive Program Graphs 6 Homework S.Zuckerman CPEG852 Fall 15 Dataflow MoC 16 / 46

21 Dataflow Graphs Dataflow tokens Values in dataflow graphs are represented as tokens. Tokens are tuples < s, d, v >, where s is the instruction pointer, d is the port, and v represents the actual value (data). Operator Execution An operator executes when all its input tokens are present; copies of the result token are distributed to the destination operators. S.Zuckerman CPEG852 Fall 15 Dataflow MoC 17 / 46

22 Dataflow Graphs Dataflow tokens Values in dataflow graphs are represented as tokens. Tokens are tuples < s, d, v >, where s is the instruction pointer, d is the port, and v represents the actual value (data). Operator Execution An operator executes when all its input tokens are present; copies of the result token are distributed to the destination operators. S.Zuckerman CPEG852 Fall 15 Dataflow MoC 17 / 46

23 Dataflow Graphs Dataflow tokens Values in dataflow graphs are represented as tokens. Tokens are tuples < s, d, v >, where s is the instruction pointer, d is the port, and v represents the actual value (data). Operator Execution An operator executes when all its input tokens are present; copies of the result token are distributed to the destination operators. S.Zuckerman CPEG852 Fall 15 Dataflow MoC 17 / 46

24 Operational Semantics I Firing Rules Overview of Operational Semantics Values are represented by tokens Tokens are placed (assigned) on the arcs Snapshot/configuration: state Computation: Configuration configuration S.Zuckerman CPEG852 Fall 15 Dataflow MoC 18 / 46

25 Operational Semantics II Firing Rules Details on Operational Semantics Tokens Data Assignment Placing a token on the output arc Snapshot/configuration: state Computation The intermediate step between snapshots / configurations S.Zuckerman CPEG852 Fall 15 Dataflow MoC 19 / 46

26 Operational Semantics III Firing Rules Actors States An actor in a DFG is enabled if there is a token on each of its input arcs Any enabled actor may be fired to define the next state of the computation When an actor is fired, then: All of its input tokens are removed from the input arcs A token is placed on each of the actor s output arcs Computation Sequence of snapshots Many possible sequences, as long as firing rules are obeyed This is called determinacy Provides locality of effect S.Zuckerman CPEG852 Fall 15 Dataflow MoC 20 / 46

27 General Firing Rules A switch actor is enabled if: A token is available on its control input arc A token is available on its data input arc(s) Firing a switch actor: Removes input tokens Delivers the input data value as an output token on the corresponding output arc A (possibly unconditional) merge actor is enabled if There is a token available on any of its input arcs A conditional merge need to have a control token placed on its input control arc An enabled (unconditional) merge actor may be fired It will put (possibly non-deterministically) one of the input tokens on the output arc. S.Zuckerman CPEG852 Fall 15 Dataflow MoC 21 / 46

28 Conditional Expressions Figure: if/else construct S.Zuckerman CPEG852 Fall 15 Dataflow MoC 22 / 46

29 Conditional Expressions Figure: if/else schema S.Zuckerman CPEG852 Fall 15 Dataflow MoC 22 / 46

30 Conditional Expressions Figure: loop schema S.Zuckerman CPEG852 Fall 15 Dataflow MoC 22 / 46

31 Remarks on Dataflow Models The dataflow model of computation is fundamentally sound and simple Very few other parallel MoCs can claim this Few dataflow architecture projects survived past the early 1990 s. However, dataflow principles were heavily reused in both software and hardware With the advent of the new multi and many core era, we have many (good!) reasons to re-examine and explore the original dataflow models It never hurts to learn from the past! As a side-note: Jack Dennis s dataflow model was finally recognized on a world-scale level: he was awarded the John Von Neumann Medal (the IEEE equivalent to the ACM Turing Award) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 23 / 46

32 Outline 1 A Quick Reminder on Execution Models 2 Dataflow Models of Computation 3 Dataflow Graphs and Properties 4 Static Dataflow Introduction Static Dataflow Examples Static Dataflow Features Static Dataflow Activity Templates 5 Recursive Program Graphs Introduction Ordinary and Tail Recursions Features of Recursive Program Graphs 6 Homework S.Zuckerman CPEG852 Fall 15 Dataflow MoC 24 / 46

33 Static Dataflow Static dataflow was the first dataflow model It was developed in Jack Dennis team S.Zuckerman CPEG852 Fall 15 Dataflow MoC 25 / 46

34 Static Dataflow The Golden Rule Static Dataflow s Golden Rule... for any actor to be enabled, there must be no tokens on any of its output arcs... S.Zuckerman CPEG852 Fall 15 Dataflow MoC 26 / 46

35 Example Power Function long power ( i n t x, i n t n) { i n t y = 1; f o r ( i n t i = n; i > 0; --i) y *= x; r e t u r n y; } Figure: Computation: y = x n S.Zuckerman CPEG852 Fall 15 Dataflow MoC 27 / 46

36 Example Power Function Computing y = 2 3 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 28 / 46

37 Example Power Function Computing y = 2 3 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 28 / 46

38 Example Power Function Computing y = 2 3 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 28 / 46

39 Example Power Function Computing y = 2 3 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 28 / 46

40 Example Power Function Computing y = 2 3 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 28 / 46

41 Example Power Function Computing y = 2 3 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 28 / 46

42 Example Power Function Computing y = 2 3 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 28 / 46

43 Example Power Function Computing y = 2 3 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 28 / 46

44 Example Power Function Computing y = 2 3 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 28 / 46

45 Example Power Function Computing y = 2 3 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 28 / 46

46 Example Power Function Computing y = 2 3 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 28 / 46

47 Example Power Function Computing y = 2 3 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 28 / 46

48 Example Power Function Computing y = 2 3 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 28 / 46

49 Example Power Function Computing y = 2 3 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 28 / 46

50 Example Power Function Computing y = 2 3 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 28 / 46

51 Example Power Function Computing y = 2 3 S.Zuckerman CPEG852 Fall 15 Dataflow MoC 28 / 46

52 Example Vector Addition: CN = A N + B N S.Zuckerman CPEG852 Fall 15 Dataflow MoC 29 / 46

53 Static Dataflow Features One-token-per-arc Deterministic merge Conditional/iteration construction Consecutive iterations of a loop can only be pipelined A dataflow graph activity templates Opcode of the represented instruction Operand slots for holding operand values Destination address fields Token value + destination S.Zuckerman CPEG852 Fall 15 Dataflow MoC 30 / 46

54 Static Dataflow Activity Templates S.Zuckerman CPEG852 Fall 15 Dataflow MoC 31 / 46

55 Static Dataflow Activity Templates S.Zuckerman CPEG852 Fall 15 Dataflow MoC 32 / 46

56 Static Dataflow Limitations The static dataflow model has the advantage of being very simple. However, it is also fairly limited: Due to acknowledgment tokens, the token traffic is doubled Lack of support for programming constructs that are essential to modern programming languages No procedure calls No recursion S.Zuckerman CPEG852 Fall 15 Dataflow MoC 33 / 46

57 Outline 1 A Quick Reminder on Execution Models 2 Dataflow Models of Computation 3 Dataflow Graphs and Properties 4 Static Dataflow Introduction Static Dataflow Examples Static Dataflow Features Static Dataflow Activity Templates 5 Recursive Program Graphs Introduction Ordinary and Tail Recursions Features of Recursive Program Graphs 6 Homework S.Zuckerman CPEG852 Fall 15 Dataflow MoC 34 / 46

58 Recursive Program Graphs Extension over static dataflow concepts Graph must be acyclic (DAG, directed acyclic graph) One-token-per-arc-per-invocation Iteration is expressed in terms of tail recursion S.Zuckerman CPEG852 Fall 15 Dataflow MoC 35 / 46

59 Examples of Ordinary Recursion Factorial long factorial ( long n) { i f (n == 0) r e t u r n 1; e l s e r e t u r n n * fact (n -1); } S.Zuckerman CPEG852 Fall 15 Dataflow MoC 36 / 46

60 Examples of Tail Recursion Factorial long fact_tail_rec ( long n, long acc ) { i f (n == 0) r e t u r n acc ; e l s e r e t u r n fact (n -1, acc *n); } long factorial ( long n) { r e t u r n fact_tail_rec (n,1); } S.Zuckerman CPEG852 Fall 15 Dataflow MoC 37 / 46

61 Example Factorial Hand Simulation: fact(3) long f a c t o r i a l ( long n ) { return n == 0? 1 : n f a c t ( n 1); } S.Zuckerman CPEG852 Fall 15 Dataflow MoC 38 / 46

62 Example Factorial DFG for fact(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 39 / 46

63 Example Factorial DFG for fact(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 39 / 46

64 Example Factorial DFG for fact(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 39 / 46

65 Example Factorial DFG for fact(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 39 / 46

66 Example Factorial DFG for fact(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 39 / 46

67 Example Factorial DFG for fact(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 39 / 46

68 Example Factorial DFG for fact(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 39 / 46

69 Example Factorial DFG for fact(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 39 / 46

70 Example Factorial DFG for fact(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 39 / 46

71 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

72 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

73 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

74 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

75 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

76 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

77 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

78 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

79 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

80 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

81 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

82 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

83 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

84 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

85 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

86 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

87 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

88 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

89 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

90 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

91 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

92 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

93 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

94 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

95 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

96 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

97 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

98 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

99 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

100 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

101 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

102 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

103 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

104 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

105 Factorial Tail Recursive version factorial(3) S.Zuckerman CPEG852 Fall 15 Dataflow MoC 40 / 46

106 Recursive Program Graph Features Acyclic One-token-per-link-in-lifetime Tags No deterministic merge needed Recursion is expressed by runtime copying S.Zuckerman CPEG852 Fall 15 Dataflow MoC 41 / 46

107 Outline 1 A Quick Reminder on Execution Models 2 Dataflow Models of Computation 3 Dataflow Graphs and Properties 4 Static Dataflow Introduction Static Dataflow Examples Static Dataflow Features Static Dataflow Activity Templates 5 Recursive Program Graphs Introduction Ordinary and Tail Recursions Features of Recursive Program Graphs 6 Homework S.Zuckerman CPEG852 Fall 15 Dataflow MoC 42 / 46

108 Homework factorial function: Convert the recursive form of factorial into an iterative form Create/draw the corresponding static dataflow graph power function: Convert the iterative form of the power function into its recursive form Create/draw its recursive program graph S.Zuckerman CPEG852 Fall 15 Dataflow MoC 43 / 46

109 References I Conway, Melvin E. (1963). A Multiprocessor System Design. In: Proceedings of the November 12-14, 1963, Fall Joint Computer Conference. AFIPS 63 (Fall). Las Vegas, Nevada: ACM, pp doi: / url: Dahl, O. J., E. W. Dijkstra, and C. A. R. Hoare, eds. (1972). Structured Programming. London, UK, UK: Academic Press Ltd. isbn: Dijkstra, E. W. (1971). Hierarchical Ordering of Sequential Processes. In: Acta Inf. 1.2, pp issn: doi: /BF url: Holt, Richard C (1978). Structured concurrent programming with operating systems applications. Vol Reading, Mass.; Don Mills, Ont.: Addison-Wesley Publishing Company. S.Zuckerman CPEG852 Fall 15 Dataflow MoC 44 / 46

110 References II Ianov, Iu I. (1958). On the Equivalence and Transformation of Program Schemes. In: Commun. ACM 1.10, pp issn: doi: / url: Landin, Peter J (1964). The mechanical evaluation of expressions. In: The Computer Journal 6.4, pp McCarthy, John (1960). Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I. In: Commun. ACM 3.4, pp issn: doi: / url: McIlroy, M. D. (1969). Alternatives to Extensible Languages. In: SIGPLAN Not. 4.8, pp issn: doi: / url: S.Zuckerman CPEG852 Fall 15 Dataflow MoC 45 / 46

111 References III Muller, D. E. and W. Scott Bartky (1957). A Theory of Asynchronous Circuits. Report 78. University of Illinois, Graduate College, Digital Computer Laboratory. Muller, David E (1963). Asynchronous logics and application to information processing. In: Switching Theory in Space Technology, pp Paterson, Michael S. and Carl E. Hewitt (1970). Record of the Project MAC Conference on Concurrent Systems and Parallel Computation. In: ed. by Jack B. Dennis. New York, NY, USA: ACM. Chap. Comparative Schematology, pp doi: / url: Petri, Carl Adam (1966). Communication with automata. eng. PhD thesis. Universität Hamburg. S.Zuckerman CPEG852 Fall 15 Dataflow MoC 46 / 46

CPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation

CPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation CPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation Dynamic Dataflow Stéphane Zuckerman Computer Architecture & Parallel Systems Laboratory Electrical & Computer Engineering

More information

Topic 4b Program Execution Models Dataflow Model of Computation: A Fine-Grain Kind of PXM. CPEG421/621: Compiler Design

Topic 4b Program Execution Models Dataflow Model of Computation: A Fine-Grain Kind of PXM. CPEG421/621: Compiler Design opic 4b Program Execution Models Dataflow Model of Computation: A ine-grain Kind of PXM CPEG42/62: Compiler Design Most slides taken from Prof. Gao s and J.Manzano s previous courses, with additional material

More information

Topic B (Cont d) Dataflow Model of Computation

Topic B (Cont d) Dataflow Model of Computation opic B (Cont d) Dataflow Model of Computation Guang R. Gao ACM ellow and IEEE ellow Endowed Distinguished Professor Electrical & Computer Engineering University of Delaware ggao@capsl.udel.edu 09/07/20

More information

Portland State University ECE 588/688. Dataflow Architectures

Portland State University ECE 588/688. Dataflow Architectures Portland State University ECE 588/688 Dataflow Architectures Copyright by Alaa Alameldeen and Haitham Akkary 2018 Hazards in von Neumann Architectures Pipeline hazards limit performance Structural hazards

More information

Dennis [1] developed the model of dataflowschemas, building on work by Karp and Miller [2]. These dataflow graphs, as they were later called, evolved

Dennis [1] developed the model of dataflowschemas, building on work by Karp and Miller [2]. These dataflow graphs, as they were later called, evolved Predictive Block Dataflow Model for Parallel Computation EE382C: Embedded Software Systems Literature Survey Vishal Mishra and Kursad Oney Dept. of Electrical and Computer Engineering The University of

More information

Topic C Memory Models

Topic C Memory Models Memory Memory Non- Topic C Memory CPEG852 Spring 2014 Guang R. Gao CPEG 852 Memory Advance 1 / 29 Memory 1 Memory Memory Non- 2 Non- CPEG 852 Memory Advance 2 / 29 Memory Memory Memory Non- Introduction:

More information

History Importance Comparison to Tomasulo Demo Dataflow Overview: Static Dynamic Hybrids Problems: CAM I-Structures Potential Applications Conclusion

History Importance Comparison to Tomasulo Demo Dataflow Overview: Static Dynamic Hybrids Problems: CAM I-Structures Potential Applications Conclusion By Matthew Johnson History Importance Comparison to Tomasulo Demo Dataflow Overview: Static Dynamic Hybrids Problems: CAM I-Structures Potential Applications Conclusion 1964-1 st Scoreboard Computer: CDC

More information

Computer Architecture: Dataflow/Systolic Arrays

Computer Architecture: Dataflow/Systolic Arrays Data Flow Computer Architecture: Dataflow/Systolic Arrays he models we have examined all assumed Instructions are fetched and retired in sequential, control flow order his is part of the Von-Neumann model

More information

Architecture and Programming Model for High Performance Interactive Computation

Architecture and Programming Model for High Performance Interactive Computation Architecture and Programming Model for High Performance Interactive Computation Based on Title of TM127, CAPSL TM-127 By Jack B. Dennis, Arvind, Guang R. Gao, Xiaoming Li and Lian-Ping Wang April 3rd,

More information

Dataflow Architectures. Karin Strauss

Dataflow Architectures. Karin Strauss Dataflow Architectures Karin Strauss Introduction Dataflow machines: programmable computers with hardware optimized for fine grain data-driven parallel computation fine grain: at the instruction granularity

More information

Concurrent Models of Computation

Concurrent Models of Computation Concurrent Models of Computation Edward A. Lee Robert S. Pepper Distinguished Professor, UC Berkeley EECS 219D: Concurrent Models of Computation Fall 2011 Copyright 2011, Edward A. Lee, All rights reserved

More information

Multi-Paradigm Approach for Teaching Programming

Multi-Paradigm Approach for Teaching Programming Multi-Paradigm Approach for Teaching Laxmi P Gewali* and John T Minor School of Computer Science University of Nevada, Las Vegas 4505 Maryland Parkway, Las Vegas Nevada 89154 Abstract: Selecting an appropriate

More information

--(1977b), 'Finite State Machine Theory and Program Design: A Survey', Computer Studies Quarterly, 1, to be published.

--(1977b), 'Finite State Machine Theory and Program Design: A Survey', Computer Studies Quarterly, 1, to be published. References An asterisk indicates the most important references. Adelson-Velskii, G. M., and Landis, E. M. (1962), Dok. Akad. Nauk SSSR, 146, pp. 263-6; English translation in Soviet Math., 3, 1259-63.

More information

Introduction to Asynchronous Circuits and Systems

Introduction to Asynchronous Circuits and Systems RCIM Presentation Introduction to Asynchronous Circuits and Systems Kristofer Perta April 02 / 2004 University of Windsor Computer and Electrical Engineering Dept. Presentation Outline Section - Introduction

More information

On the correctness of template metaprograms

On the correctness of template metaprograms Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007 Vol 2 pp 301 308 On the correctness of template metaprograms Ádám Sipos, István Zólyomi, Zoltán

More information

CPEG 421/621 - Spring 2008

CPEG 421/621 - Spring 2008 CPEG 421/621 - Spring 2008 Compiler Design: The Software and Hardware Tradeoffs 2008/2/21 \course\cpeg421-08s\topic-1.ppt 1 Admin. Information Instructor: Office: Prof. Guang R. Gao 312 DuPont Hall Phone:

More information

Computer Architecture

Computer Architecture Computer Architecture Lecture 2: Fundamental Concepts and ISA Dr. Ahmed Sallam Based on original slides by Prof. Onur Mutlu What Do I Expect From You? Chance favors the prepared mind. (Louis Pasteur) كل

More information

Computer Architecture Lecture 15: Load/Store Handling and Data Flow. Prof. Onur Mutlu Carnegie Mellon University Spring 2014, 2/21/2014

Computer Architecture Lecture 15: Load/Store Handling and Data Flow. Prof. Onur Mutlu Carnegie Mellon University Spring 2014, 2/21/2014 18-447 Computer Architecture Lecture 15: Load/Store Handling and Data Flow Prof. Onur Mutlu Carnegie Mellon University Spring 2014, 2/21/2014 Lab 4 Heads Up Lab 4a out Branch handling and branch predictors

More information

Parallel Programming Concepts. Theory of Concurrency - Multicomputer. Peter Tröger

Parallel Programming Concepts. Theory of Concurrency - Multicomputer. Peter Tröger Parallel Programming Concepts Theory of Concurrency - Multicomputer Peter Tröger Von Neumann Model Process Processor Pipelining Super-scalar VLIW Branch prediction... Process Processor Processor Processor

More information

Leslie Lamport. April 20, Leslie Lamport. Jenny Tyrväinen. Introduction. Education and Career. Most important works.

Leslie Lamport. April 20, Leslie Lamport. Jenny Tyrväinen. Introduction. Education and Career. Most important works. April 20, 2016 Born February 7 1941 in New York Mathematician by his education Has worked in industry, not an academic Fields: concurrency and distributed systems Lists 180 publications and other texts

More information

Dataflow Processing. A.R. Hurson Computer Science Department Missouri Science & Technology

Dataflow Processing. A.R. Hurson Computer Science Department Missouri Science & Technology A.R. Hurson Computer Science Department Missouri Science & Technology hurson@mst.edu 1 Control Flow Computation Operands are accessed by their addresses. Shared memory cells are the means by which data

More information

Interface Automata and Actif Actors

Interface Automata and Actif Actors Interface Automata and Actif Actors H. John Reekie Dept. of Electrical Engineering and Computer Science University of California at Berkeley johnr@eecs.berkeley.edu Abstract This technical note uses the

More information

Interval Algorithms for Coin Flipping

Interval Algorithms for Coin Flipping IJCSNS International Journal of Computer Science and Network Security, VOL.10 No.2, February 2010 55 Interval Algorithms for Coin Flipping Sung-il Pae, Hongik University, Seoul, Korea Summary We discuss

More information

Static Scheduling and Code Generation from Dynamic Dataflow Graphs With Integer- Valued Control Streams

Static Scheduling and Code Generation from Dynamic Dataflow Graphs With Integer- Valued Control Streams Presented at 28th Asilomar Conference on Signals, Systems, and Computers November, 994 Static Scheduling and Code Generation from Dynamic Dataflow Graphs With Integer- Valued Control Streams Joseph T.

More information

Computer Architecture Today (I)

Computer Architecture Today (I) Fundamental Concepts and ISA Computer Architecture Today (I) Today is a very exciting time to study computer architecture Industry is in a large paradigm shift (to multi-core and beyond) many different

More information

Dynamic Dataflow. Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of Technology

Dynamic Dataflow. Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of Technology Dynamic Dataflow Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of Technology L- Dataflow Machines Static - mostly for signal processing NEC - NEDIP and IPP Hughes, Hitachi,

More information

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation Introduction to Electronic Design Automation Model of Computation Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Spring 03 Model of Computation In system design,

More information

Well-behaved Dataflow Graphs

Well-behaved Dataflow Graphs Well-behaved Dataflow Graphs Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of echnology L21-1 Outline Kahnian networks and dataflow Streams with holes & agged interpretation

More information

Provably Efficient Non-Preemptive Task Scheduling with Cilk

Provably Efficient Non-Preemptive Task Scheduling with Cilk Provably Efficient Non-Preemptive Task Scheduling with Cilk V. -Y. Vee and W.-J. Hsu School of Applied Science, Nanyang Technological University Nanyang Avenue, Singapore 639798. Abstract We consider the

More information

A General Purpose Queue Architecture for an ATM Switch

A General Purpose Queue Architecture for an ATM Switch Mitsubishi Electric Research Laboratories Cambridge Research Center Technical Report 94-7 September 3, 994 A General Purpose Queue Architecture for an ATM Switch Hugh C. Lauer Abhijit Ghosh Chia Shen Abstract

More information

EE/CSCI 451: Parallel and Distributed Computation

EE/CSCI 451: Parallel and Distributed Computation EE/CSCI 451: Parallel and Distributed Computation Lecture #8 2/7/2017 Xuehai Qian Xuehai.qian@usc.edu http://alchem.usc.edu/portal/xuehaiq.html University of Southern California 1 Outline From last class

More information

Coursework Master s Thesis Proposal

Coursework Master s Thesis Proposal Coursework Master s Thesis Proposal December 1999 University of South Australia School of Computer and Information Science Student: David Benn (9809422R) Supervisor: Dan Corbett Introduction Sowa s [1984]

More information

HPS, A NEW MICROARCHITECTURE: RATIONALE AND INTRODUCTION

HPS, A NEW MICROARCHITECTURE: RATIONALE AND INTRODUCTION HPS, A NEW MICROARCHITECTURE: RATIONALE AND INTRODUCTION Yale N. Patt, Wen-mei Hwu, and Michael Shebanow Computer Science Division University of California, Berkeley Berkeley, CA 94720 ABSTRACT HPS (High

More information

Software Synthesis from Dataflow Models for G and LabVIEW

Software Synthesis from Dataflow Models for G and LabVIEW Software Synthesis from Dataflow Models for G and LabVIEW Hugo A. Andrade Scott Kovner Department of Electrical and Computer Engineering University of Texas at Austin Austin, TX 78712 andrade@mail.utexas.edu

More information

REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS

REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS Juan Antonio de la Puente Dept. of Telematics Engineering School of Telecommunication, Technical University of Madrid E-mail: jpuente@dit.upm.es 1. Introduction

More information

Memory optimisation in a first-order dataflow synchronous language

Memory optimisation in a first-order dataflow synchronous language Memory optimisation in a first-order dataflow synchronous language Cédric Pasteur PARKAS team, Laboratoire d Informatique de l Ecole Normale Supérieure, Paris November 29th, 2010 Contents 1. Introduction

More information

Data Flow Supercomputers

Data Flow Supercomputers Programmability with increased performance? New strategies to attain this goal include two approaches to data flow architecture: data flow multiprocessors and the cell block architecture. Data Flow Supercomputers

More information

Fine-grained Software Version Control Based on a Program s Abstract Syntax Tree

Fine-grained Software Version Control Based on a Program s Abstract Syntax Tree Master Thesis Description and Schedule Fine-grained Software Version Control Based on a Program s Abstract Syntax Tree Martin Otth Supervisors: Prof. Dr. Peter Müller Dimitar Asenov Chair of Programming

More information

Scenario-based Synthesis of Annotated Class Diagrams in UML

Scenario-based Synthesis of Annotated Class Diagrams in UML Scenario-based Synthesis of Annotated Class Diagrams in UML Petri Selonen and Tarja Systä Tampere University of Technology, Software Systems Laboratory, P.O.Box 553, FIN-33101 Tampere, Finland {pselonen,tsysta}@cs.tut.fi

More information

The Grid-Occam Project

The Grid-Occam Project I. Overview Project Title The Grid-Occam Project Contributors Names The Grid-Occam Project Andreas Polze, Peter Tröger, Martin von Löwis Abstract Occam is a parallel processing language designed by a team

More information

Modeling Routing Constructs to Represent Distributed Workflow Processes Using Extended Petri Nets

Modeling Routing Constructs to Represent Distributed Workflow Processes Using Extended Petri Nets Modeling Routing Constructs to Represent Distributed Workflow Processes Using Extended Petri Nets Mehmet Karay * Final International University, Business Administrative, Toroslar Avenue, No:6, 99370, Catalkoy,

More information

Thesis Defense: Developing Real-Time Collaborative Editing Using Formal Methods

Thesis Defense: Developing Real-Time Collaborative Editing Using Formal Methods Thesis Defense: Developing Real-Time Collaborative Editing Using Formal Methods Lars Tveito September 9th, 2016 Department of Informatics, University of Oslo Outline Introduction Formal Semantics of Editing

More information

Nomair A. Naeem. Personal Data. Education. Teaching Experience. Course Instructor/Sessional

Nomair A. Naeem. Personal Data. Education. Teaching Experience. Course Instructor/Sessional Nomair A. Naeem Personal Data Address: E-mail: Web Page: David R. Cheriton School of Computer Science University of Waterloo 200 University Avenue West Waterloo, ON N2L 3G1, Canada nanaeem@uwaterloo.ca

More information

Functional Programming

Functional Programming Functional Programming Björn B. Brandenburg The University of North Carolina at Chapel Hill Based in part on slides and notes by S. Olivier, A. Block, N. Fisher, F. Hernandez-Campos, and D. Stotts. Brief

More information

Multicore DSP Software Synthesis using Partial Expansion of Dataflow Graphs

Multicore DSP Software Synthesis using Partial Expansion of Dataflow Graphs Multicore DSP Software Synthesis using Partial Expansion of Dataflow Graphs George F. Zaki, William Plishker, Shuvra S. Bhattacharyya University of Maryland, College Park, MD, USA & Frank Fruth Texas Instruments

More information

Comparisons of Efficient Implementations for DAWG

Comparisons of Efficient Implementations for DAWG Comparisons of Efficient Implementations for DAWG Masao Fuketa, Kazuhiro Morita, and Jun-ichi Aoe Abstract Key retrieval is very important in various applications. A trie and DAWG are data structures for

More information

Computer Architecture Lecture 2: Fundamental Concepts and ISA. Prof. Onur Mutlu Carnegie Mellon University Spring 2014, 1/15/2014

Computer Architecture Lecture 2: Fundamental Concepts and ISA. Prof. Onur Mutlu Carnegie Mellon University Spring 2014, 1/15/2014 18-447 Computer Architecture Lecture 2: Fundamental Concepts and ISA Prof. Onur Mutlu Carnegie Mellon University Spring 2014, 1/15/2014 Announcement Rachata s Office Hours this week Today 4:30-5:30pm Sunday

More information

Scannerless Boolean Parsing

Scannerless Boolean Parsing LDTA 2006 Preliminary Version Scannerless Boolean Parsing Adam Megacz Computer Science UC Berkeley Abstract Scannerless generalized parsing techniques allow parsers to be derived directly from unified,

More information

Evaluation Scheme L T P Total Credit Theory Mid Sem Exam

Evaluation Scheme L T P Total Credit Theory Mid Sem Exam DESIGN OF LANGUAGE PROCESSORS Semester II (Computer Engineering) SUB CODE: MECE201 Teaching Scheme (Credits and Hours): Teaching scheme Total Evaluation Scheme L T P Total Credit Theory Mid Sem Exam CIA

More information

AUTO GENERATION OF CODE AND TABLE TOOL

AUTO GENERATION OF CODE AND TABLE TOOL Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 4, Issue. 4, April 2015,

More information

Identifying Parallelism in Construction Operations of Cyclic Pointer-Linked Data Structures 1

Identifying Parallelism in Construction Operations of Cyclic Pointer-Linked Data Structures 1 Identifying Parallelism in Construction Operations of Cyclic Pointer-Linked Data Structures 1 Yuan-Shin Hwang Department of Computer Science National Taiwan Ocean University Keelung 20224 Taiwan shin@cs.ntou.edu.tw

More information

Formal Languages and Compilers Lecture I: Introduction to Compilers

Formal Languages and Compilers Lecture I: Introduction to Compilers Formal Languages and Compilers Lecture I: Introduction to Compilers Free University of Bozen-Bolzano Faculty of Computer Science POS Building, Room: 2.03 artale@inf.unibz.it http://www.inf.unibz.it/ artale/

More information

Implementation of Process Networks in Java

Implementation of Process Networks in Java Implementation of Process Networks in Java Richard S, Stevens 1, Marlene Wan, Peggy Laramie, Thomas M. Parks, Edward A. Lee DRAFT: 10 July 1997 Abstract A process network, as described by G. Kahn, is a

More information

USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN

USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN THE UML Position Paper to the WTUML: Workshop on Transformations in UML ETAPS 2001 European Joint Conference on Theory and Practice of Software Nuno Jardim

More information

Parallel Programming Concepts. Theory of Concurrency - Multicomputer. Peter Tröger

Parallel Programming Concepts. Theory of Concurrency - Multicomputer. Peter Tröger Parallel Programming Concepts Theory of Concurrency - Multicomputer Peter Tröger History 1963: Co-Routines concept by Melvin Conway Foundation for message-based concurrency concepts Late 1970 s Parallel

More information

LLparse and LRparse: Visual and Interactive Tools for Parsing

LLparse and LRparse: Visual and Interactive Tools for Parsing LLparse and LRparse: Visual and Interactive Tools for Parsing Stephen A. Blythe, Michael C. James, and Susan H. Rodger 1 Department of Computer Science Rensselaer Polytechnic Institute Troy, NY 12180-3590

More information

Hierarchical FSMs with Multiple CMs

Hierarchical FSMs with Multiple CMs Hierarchical FSMs with Multiple CMs Manaloor Govindarajan Balasubramanian Manikantan Bharathwaj Muthuswamy (aka Bharath) Reference: Hierarchical FSMs with Multiple Concurrency Models. Alain Girault, Bilung

More information

Functional Dependency: Design and Implementation of a Minimal Cover Algorithm

Functional Dependency: Design and Implementation of a Minimal Cover Algorithm IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661,p-ISSN: 2278-8727, Volume 19, Issue 5, Ver. I (Sep.- Oct. 2017), PP 77-81 www.iosrjournals.org Functional Dependency: Design and Implementation

More information

Typestate-Oriented Design

Typestate-Oriented Design Typestate-Oriented Design A Coloured Petri Net Approach Jorge Luis Guevara Díaz Department of Computer Science Institute of Mathematics and Statistics São Paulo University,São Paulo-Brazil jorjasso@vision.ime.usp.br

More information

IR Lowering. Notation. Lowering Methodology. Nested Expressions. Nested Statements CS412/CS413. Introduction to Compilers Tim Teitelbaum

IR Lowering. Notation. Lowering Methodology. Nested Expressions. Nested Statements CS412/CS413. Introduction to Compilers Tim Teitelbaum IR Lowering CS412/CS413 Introduction to Compilers Tim Teitelbaum Lecture 19: Efficient IL Lowering 7 March 07 Use temporary variables for the translation Temporary variables in the Low IR store intermediate

More information

AN EFFICIENT IMPLEMENTATION OF NESTED LOOP CONTROL INSTRUCTIONS FOR FINE GRAIN PARALLELISM 1

AN EFFICIENT IMPLEMENTATION OF NESTED LOOP CONTROL INSTRUCTIONS FOR FINE GRAIN PARALLELISM 1 AN EFFICIENT IMPLEMENTATION OF NESTED LOOP CONTROL INSTRUCTIONS FOR FINE GRAIN PARALLELISM 1 Virgil Andronache Richard P. Simpson Nelson L. Passos Department of Computer Science Midwestern State University

More information

Computer Architecture Lecture 14: Out-of-Order Execution. Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 2/18/2013

Computer Architecture Lecture 14: Out-of-Order Execution. Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 2/18/2013 18-447 Computer Architecture Lecture 14: Out-of-Order Execution Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 2/18/2013 Reminder: Homework 3 Homework 3 Due Feb 25 REP MOVS in Microprogrammed

More information

Node Prefetch Prediction in Dataflow Graphs

Node Prefetch Prediction in Dataflow Graphs Node Prefetch Prediction in Dataflow Graphs Newton G. Petersen Martin R. Wojcik The Department of Electrical and Computer Engineering The University of Texas at Austin newton.petersen@ni.com mrw325@yahoo.com

More information

The Imperative Paradigm

The Imperative Paradigm The Imperative Paradigm Joseph Spring 7COM1023 Programming Paradigms 1 Discussion What makes a Language Imperative? Procedural Abstraction Expressions and Assignment Library Support for Data Structures

More information

Why code complexity metrics fail on the C++ standard template library

Why code complexity metrics fail on the C++ standard template library Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 2. pp. 271 276. Why code complexity metrics fail on the C++ standard template library Norbert

More information

THE COMPARISON OF PARALLEL SORTING ALGORITHMS IMPLEMENTED ON DIFFERENT HARDWARE PLATFORMS

THE COMPARISON OF PARALLEL SORTING ALGORITHMS IMPLEMENTED ON DIFFERENT HARDWARE PLATFORMS Computer Science 14 (4) 2013 http://dx.doi.org/10.7494/csci.2013.14.4.679 Dominik Żurek Marcin Pietroń Maciej Wielgosz Kazimierz Wiatr THE COMPARISON OF PARALLEL SORTING ALGORITHMS IMPLEMENTED ON DIFFERENT

More information

ISSN: [Keswani* et al., 7(1): January, 2018] Impact Factor: 4.116

ISSN: [Keswani* et al., 7(1): January, 2018] Impact Factor: 4.116 IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY AUTOMATIC TEST CASE GENERATION FOR PERFORMANCE ENHANCEMENT OF SOFTWARE THROUGH GENETIC ALGORITHM AND RANDOM TESTING Bright Keswani,

More information

CS412/CS413. Introduction to Compilers Tim Teitelbaum. Lecture 19: Efficient IL Lowering 5 March 08

CS412/CS413. Introduction to Compilers Tim Teitelbaum. Lecture 19: Efficient IL Lowering 5 March 08 CS412/CS413 Introduction to Compilers Tim Teitelbaum Lecture 19: Efficient IL Lowering 5 March 08 CS 412/413 Spring 2008 Introduction to Compilers 1 IR Lowering Use temporary variables for the translation

More information

A Comparison of Relativistic and Reader-Writer Locking Approaches to Shared Data Access

A Comparison of Relativistic and Reader-Writer Locking Approaches to Shared Data Access A Comparison of Relativistic and Reader-Writer Locking Approaches to Shared Data Access Philip W. Howard, Josh Triplett, and Jonathan Walpole Portland State University Abstract. This paper explores the

More information

Lecture 5. Data Flow Analysis

Lecture 5. Data Flow Analysis Lecture 5. Data Flow Analysis Wei Le 2014.10 Abstraction-based Analysis dataflow analysis: combines model checking s fix point engine with abstract interpretation of data values abstract interpretation:

More information

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Dataflow Lecture: SDF, Kahn Process Networks Stavros Tripakis University of California, Berkeley Stavros Tripakis: EECS

More information

2 Approaches to worldwide web information retrieval

2 Approaches to worldwide web information retrieval The WEBFIND tool for finding scientific papers over the worldwide web. Alvaro E. Monge and Charles P. Elkan Department of Computer Science and Engineering University of California, San Diego La Jolla,

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 Stavros Tripakis, Edward A. Lee UC Berkeley EECS 144/244 Fall 2014 Copyright 2014, E. A. Lee, J. Roydhowdhury, S. A. Seshia, S. Tripakis

More information

Advanced Slicing of Sequential and Concurrent Programs

Advanced Slicing of Sequential and Concurrent Programs Advanced Slicing of Sequential and Concurrent Programs Jens Krinke FernUniversität in Hagen, Germany JensKrinke@FernUni-Hagende Abstract Program slicing is a technique to identify statements that may influence

More information

CS 3304 Comparative Languages. Lecture 1: Introduction

CS 3304 Comparative Languages. Lecture 1: Introduction CS 3304 Comparative Languages Lecture 1: Introduction 17 January 2012 2012 Denis Gracanin Course Overview 2 Welcome What this course is about? What this course is not about? What will you learn? How will

More information

Rate-Optimal Unfolding of Balanced Synchronous Data-Flow Graphs

Rate-Optimal Unfolding of Balanced Synchronous Data-Flow Graphs Rate-Optimal Unfolding of Balanced Synchronous Data-Flow Graphs Timothy W. O Neil Dept. of Computer Science, The University of Akron, Akron OH 44325 USA toneil@uakron.edu Abstract Many common iterative

More information

John Clements Department of Computer Science Cal Poly State University 1 Grand Street San Luis Obispo, CA (805)

John Clements Department of Computer Science Cal Poly State University 1 Grand Street San Luis Obispo, CA (805) Curriculum Vitae Contact Information Education John Clements Department of Computer Science Cal Poly State University 1 Grand Street San Luis Obispo, CA 93407 (805)756-6528 clements@brinckerhoff.org 2005

More information

Flight Systems are Cyber-Physical Systems

Flight Systems are Cyber-Physical Systems Flight Systems are Cyber-Physical Systems Dr. Christopher Landauer Software Systems Analysis Department The Aerospace Corporation Computer Science Division / Software Engineering Subdivision 08 November

More information

An Object Oriented Runtime Complexity Metric based on Iterative Decision Points

An Object Oriented Runtime Complexity Metric based on Iterative Decision Points An Object Oriented Runtime Complexity Metric based on Iterative Amr F. Desouky 1, Letha H. Etzkorn 2 1 Computer Science Department, University of Alabama in Huntsville, Huntsville, AL, USA 2 Computer Science

More information

Toward A Codelet Based Execution Model and Its Memory Semantics

Toward A Codelet Based Execution Model and Its Memory Semantics Toward A Codelet Based Execution Model and Its Memory Semantics -- For Future Extreme-Scale Computing Systems HPC Worshop Centraro, Italy June 20, 2012 Guang R. Gao ACM Fellow and IEEE Fellow Distinguished

More information

Petri Nets ee249 Fall 2000

Petri Nets ee249 Fall 2000 Petri Nets ee249 Fall 2000 Marco Sgroi Most slides borrowed from Luciano Lavagno s lecture ee249 (1998) 1 Models Of Computation for reactive systems Main MOCs: Communicating Finite State Machines Dataflow

More information

Imagine you ve written a piece of code but then accidentally deleted and lost it.

Imagine you ve written a piece of code but then accidentally deleted and lost it. Why Refactor? Imagine you ve written a piece of code but then accidentally deleted and lost it. Questions: How much time would it take you to reconstruct from scratch what you had the same amount, or more,

More information

Role of Genetic Algorithm in Routing for Large Network

Role of Genetic Algorithm in Routing for Large Network Role of Genetic Algorithm in Routing for Large Network *Mr. Kuldeep Kumar, Computer Programmer, Krishi Vigyan Kendra, CCS Haryana Agriculture University, Hisar. Haryana, India verma1.kuldeep@gmail.com

More information

Post Graduate Diploma in Computer Applications I Semester INTERNAL ASSIGNMENT QUESTIONS (November, 2017)

Post Graduate Diploma in Computer Applications I Semester INTERNAL ASSIGNMENT QUESTIONS (November, 2017) Post Graduate Diploma in Computer Applications I Semester INTERNAL ASSIGNMENT QUESTIONS (November, 2017) DIRECTOR Prof. SHIVARAJ PROF. G. RAM REDDY CENTRE FOR DISTANCE EDUCATION (RECOGNISED BY THE DISTANCE

More information

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008 Course Syllabus Course Title: Compiler Construction Course Level: 4 Lecture Time: Course

More information

Static Dataflow Graphs

Static Dataflow Graphs Static Dataflow Graphs Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of echnology L20-1 Motivation: Dataflow Graphs A common Base Language - to serve as target representation

More information

EDUCATION RESEARCH EXPERIENCE

EDUCATION RESEARCH EXPERIENCE PERSONAL Name: Mais Nijim Gender: Female Address: 901 walkway, apartment A1 Socorro, NM 87801 Email: mais@cs.nmt.edu Phone: (505)517-0150 (505)650-0400 RESEARCH INTEREST Computer Architecture Storage Systems

More information

ALGORITHMIC DECIDABILITY OF COMPUTER PROGRAM-FUNCTIONS LANGUAGE PROPERTIES. Nikolay Kosovskiy

ALGORITHMIC DECIDABILITY OF COMPUTER PROGRAM-FUNCTIONS LANGUAGE PROPERTIES. Nikolay Kosovskiy International Journal Information Theories and Applications, Vol. 20, Number 2, 2013 131 ALGORITHMIC DECIDABILITY OF COMPUTER PROGRAM-FUNCTIONS LANGUAGE PROPERTIES Nikolay Kosovskiy Abstract: A mathematical

More information

Ben Lee* and A. R. Hurson** *Oregon State University Department of Electrical and Computer Engineering Corvallis, Oregon

Ben Lee* and A. R. Hurson** *Oregon State University Department of Electrical and Computer Engineering Corvallis, Oregon ISSUES IN DATAFLOW COMPUTING Ben Lee* and A. R. Hurson** *Oregon State University Department of Electrical and Computer Engineering Corvallis, Oregon 97331-3211 **The Pennsylvania State University Department

More information

Dynamic Dataflow. Seminar on embedded systems

Dynamic Dataflow. Seminar on embedded systems Dynamic Dataflow Seminar on embedded systems Dataflow Dataflow programming, Dataflow architecture Dataflow Models of Computation Computation is divided into nodes that can be executed concurrently Dataflow

More information

CONSTRUCTION AND EVALUATION OF MESHES BASED ON SHORTEST PATH TREE VS. STEINER TREE FOR MULTICAST ROUTING IN MOBILE AD HOC NETWORKS

CONSTRUCTION AND EVALUATION OF MESHES BASED ON SHORTEST PATH TREE VS. STEINER TREE FOR MULTICAST ROUTING IN MOBILE AD HOC NETWORKS CONSTRUCTION AND EVALUATION OF MESHES BASED ON SHORTEST PATH TREE VS. STEINER TREE FOR MULTICAST ROUTING IN MOBILE AD HOC NETWORKS 1 JAMES SIMS, 2 NATARAJAN MEGHANATHAN 1 Undergrad Student, Department

More information

PRO1-I2O23 - Programming I

PRO1-I2O23 - Programming I Coordinating unit: 340 - EPSEVG - Vilanova i la Geltrú School of Engineering Teaching unit: 723 - CS - Department of Computer Science Academic year: Degree: 2018 BACHELOR'S DEGREE IN INFORMATICS ENGINEERING

More information

Specifications Part 2

Specifications Part 2 pm4 12 Specifications Part 2 Embedded System Design Kluwer Academic Publisher by Peter Marwedel TU Dortmund 2008/11/15 ine Marwedel, 2003 Graphics: Alexandra Nolte, Ges Models of computation Communication/

More information

Computer Architecture: Out-of-Order Execution II. Prof. Onur Mutlu Carnegie Mellon University

Computer Architecture: Out-of-Order Execution II. Prof. Onur Mutlu Carnegie Mellon University Computer Architecture: Out-of-Order Execution II Prof. Onur Mutlu Carnegie Mellon University A Note on This Lecture These slides are partly from 18-447 Spring 2013, Computer Architecture, Lecture 15 Video

More information

Global Scheduler. Global Issue. Global Retire

Global Scheduler. Global Issue. Global Retire The Delft-Java Engine: An Introduction C. John Glossner 1;2 and Stamatis Vassiliadis 2 1 Lucent / Bell Labs, Allentown, Pa. 2 Delft University oftechnology, Department of Electrical Engineering Delft,

More information

Network Routing Protocol using Genetic Algorithms

Network Routing Protocol using Genetic Algorithms International Journal of Electrical & Computer Sciences IJECS-IJENS Vol:0 No:02 40 Network Routing Protocol using Genetic Algorithms Gihan Nagib and Wahied G. Ali Abstract This paper aims to develop a

More information

Computer Architecture Lecture 12: Out-of-Order Execution (Dynamic Instruction Scheduling)

Computer Architecture Lecture 12: Out-of-Order Execution (Dynamic Instruction Scheduling) 18-447 Computer Architecture Lecture 12: Out-of-Order Execution (Dynamic Instruction Scheduling) Prof. Onur Mutlu Carnegie Mellon University Spring 2015, 2/13/2015 Agenda for Today & Next Few Lectures

More information

GRIP: A parallel graph reduction machine

GRIP: A parallel graph reduction machine GRIP: A parallel graph reduction machine Simon L. Peyton-Jones, Chris Clack and Jon Salkild University College, London Abstract GRIP - Graph Reduction In Parallel - is a Fifth Generation machine designed

More information

Approaches of using UML for Embedded System Design

Approaches of using UML for Embedded System Design Approaches of using UML for Embedded System Design Sudeep D. Thepade Lecturer, Dept. of Information Technology, Thadomal Shahani Engg. College, Bandra, Mumbai sudeepthepade@gmail.com Abstract New approaches

More information

L9: Bridges and LAN Switches. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

L9: Bridges and LAN Switches. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806 L9: Bridges and LAN Switches Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806 1 Acknowledgements Some pictures used in this presentation were obtained

More information