Modeling and Analysis of Data Flow Graphs using the Digraph Real-Time Task Model Morteza Mohaqeqi, Jakaria Abdullah, and Wang Yi Uppsala University Ada-Europe 2016
Overview Introduction Data Flow Graphs: [ 1 , 3 ] [ 2 ] Signal processing a b Stream processing [ 2 ] [ 1 , 1 , 4 ] Data dependency Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 1 / 19
Overview Introduction Data Flow Graphs: [ 1 , 3 ] [ 2 ] Signal processing a b Stream processing [ 2 ] [ 1 , 1 , 4 ] Data dependency Design Objectives Throughput maximization Design Constraints Buffer overflow/underflow avoidance Schedulability Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 1 / 19
Overview An Overview The Problem: Our Approach: A Set of Data A Set of Data Flow Graphs Flow Graphs Transform Schedule Real-Time Tasks Processor Schedule Processor Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 2 / 19
Overview An Overview The Problem: Our Approach: A Set of Data A Set of Data Flow Graphs Flow Graphs Transform Schedule Real-Time Tasks Processor Schedule Processor Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 2 / 19
Overview An Overview The Problem: Our Approach: A Set of Data A Set of Data Flow Graphs Flow Graphs Transform Schedule Real-Time Tasks Periodic Processor Schedule Processor Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 2 / 19
Overview An Overview The Problem: Our Approach: A Set of Data A Set of Data Flow Graphs Flow Graphs Transform Schedule Real-Time Tasks Digraph RT Processor Schedule Processor Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 2 / 19
Overview Previous Work a b periodic periodic DRT periodic periodic task task Our work Our work Strictly Period Schedule Strictly period schedule Digraph Real-Time (DRT) Digraph Real-Time (DRT) [Bouakaz 2014] [Bouakaz 2014] task model [Stigge et al 2011] task model [Stigge et al 2013] Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 3 / 19
Overview Previous Work a b periodic periodic DRT periodic periodic task task Our work Our work Strictly Period Schedule Strictly period schedule Digraph Real-Time (DRT) Digraph Real-Time (DRT) [Bouakaz 2014] [Bouakaz 2014] task model [Stigge et al 2011] task model [Stigge et al 2013] Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 3 / 19
Outline Introduction 1 Method 2 Evaluation 3 Conclusion 4 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 4 / 19
Introduction (Static) Data Flow Graphs Synchronous Cyclo-Static Data Flow Data Flow [ 2 ] [ 1 ] [ 1 , 3 ] [ 2 ] a b a b [ 2 ] [ 1 , 1 , 4 ] Fixed token production Variable token production (consumption) rate (consumption) rate Fixed execution time Variable execution time Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 5 / 19
Introduction Semantics Empty buffer [ 2 ] [ 1 ] a b size = 2 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19
Introduction Semantics Empty buffer ’ a ’ can be fired [ 2 ] [ 1 ] a a b size = 2 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19
Introduction Semantics Full buffer [ 2 ] [ 1 ] a b size = 2 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19
Introduction Semantics Full buffer ’ a ’ cannot be fired ’ b ’ can be fired [ 2 ] [ 1 ] a b b size = 2 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19
Introduction Semantics ’ a ’ cannot be fired ’ b ’ can be fired [ 2 ] [ 1 ] a b b size = 2 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19
Introduction Semantics Empty buffer ’ a ’ can be fired [ 2 ] [ 1 ] a a b size = 2 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 6 / 19
Introduction Constraints Design Constraints Underflow/overflow avoidance Schedulability Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 7 / 19
Introduction Underflow and Overflow Underflow avoidance [ 2 ] [ 1 ] a b T a t T b t 0 5 10 Cannot be fired Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 8 / 19
Introduction Underflow and Overflow Underflow avoidance [ 2 ] [ 1 ] a b T a t offset T b t 0 5 10 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 8 / 19
Introduction Underflow and Overflow Produce token as soon as possible Consume token as late as possible [ 2 ] [ 1 ] a b T a t offset T b t 0 5 10 tokens t 0 5 10 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 8 / 19
Introduction Underflow and Overflow Produce token as soon as possible Consume token as late as possible [ 2 ] [ 1 ] a b T a t offset T b t 0 5 10 tokens buffer size=5 no overflow t 0 5 10 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 8 / 19
Introduction Constraints Design Constraints Underflow/overflow avoidance Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 9 / 19
Introduction Constraints Design Constraints Underflow/overflow avoidance Schedulability Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 9 / 19
Introduction Constraints Design Constraints Underflow/overflow avoidance Schedulability [ 2 ] [ 1 ] a b C a = 2 T a t offset C b = 2 T b t 0 5 10 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 9 / 19
Introduction Constraints Design Constraints Underflow/overflow avoidance Schedulability [ 2 ] [ 1 ] a b C a = 2 T a t offset C b = 2 T b t 0 5 10 Unschedulable! Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 9 / 19
Introduction Constraints Design Constraints Underflow/overflow avoidance Schedulability [ 2 ] [ 1 ] a b C a = 2 T a t offset C b = 2 T b t 0 5 10 Larger Periods Lower Throughput Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 9 / 19
Introduction The Problem Design Parameters Periods Offsets Constraints No underflow No overflow Schedulability Objective Throughput maximization Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 10 / 19
Introduction Cyclo-Static Data Flow Graphs Repeating pattern [ 10 , 10 , 0 , 0 ] [ 5 , 5 , 5 , 5 ] a b 10 10 0 0 10 10 0 0 10 10 T a t 5 5 5 5 5 5 5 5 T b t 0 5 10 15 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 11 / 19
Introduction Cyclo-Static Data Flow Graphs Repeating pattern [ 10 , 10 , 0 , 0 ] [ 5 , 5 , 5 , 5 ] a b 10 10 0 0 10 10 0 0 10 10 T a t 5 5 5 5 5 5 5 5 T b t 0 5 10 15 tokens size=25 25 20 15 10 5 t 0 5 10 15 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 11 / 19
Introduction Cyclo-Static Data Flow Graphs Repeating pattern [ 10 , 10 , 0 , 0 ] [ 5 , 5 , 5 , 5 ] a b 10 10 0 0 10 10 0 0 10 deadline T a t 5 5 5 5 5 5 5 5 T b t 0 5 10 15 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 11 / 19
Introduction Cyclo-Static Data Flow Graphs Repeating pattern [ 10 , 10 , 0 , 0 ] [ 5 , 5 , 5 , 5 ] a b 10 10 0 0 10 10 0 0 10 deadline T a t 5 5 5 5 5 5 5 5 T b t 0 5 10 15 tokens 25 size=20 20 15 10 5 t 0 5 10 15 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 11 / 19
Introduction We need a non-periodic task model Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 12 / 19
Introduction Scheduling Data Flow Graphs Synchronous Data Flow Fixed behavior Periodically repeating [ 2 ] [ 1 ] a b T a t 0 4 8 12 T b t 0 4 8 12 offset Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 13 / 19
Introduction Scheduling Data Flow Graphs Synchronous Data Flow Cyclo-Static Data Flow Changing behavior Fixed behavior Periodically repeating Repeating pattern [ 1 , 3 ] [ 2 ] [ 2 ] [ 1 ] a b a b [ 2 ] [ 1 , 1 , 4 ] T a t 0 4 8 12 T b t 0 4 8 12 offset Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 13 / 19
Introduction Scheduling Data Flow Graphs Synchronous Data Flow Cyclo-Static Data Flow Changing behavior Fixed behavior Periodically repeating Repeating pattern [ 1 , 3 ] [ 2 ] [ 2 ] [ 1 ] a b a b [ 2 ] [ 1 , 1 , 4 ] T a t 0 4 8 12 The Digraph Real- T b t Time task model. 0 4 8 12 offset Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 13 / 19
Introduction The Digraph Real-Time (DRT) Task Model A graph-based representation Different job types 8 v 1 v 2 � 2 , 5 � � 1 , 3 � 10 8 5 v 3 � 1 , 6 � 10 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 14 / 19
Introduction The Digraph Real-Time (DRT) Task Model A graph-based representation Different job types 8 v 1 v 2 � 2 , 5 � � 1 , 3 � 10 8 5 v 3 � 1 , 6 � 10 v 1 v 2 v 3 v 1 v 1 v 2 v 3 v 1 t 0 5 10 15 20 Mohaqeqi et al. (Uppsala University) Analysis of Data Flow Graphs 14 / 19
Recommend
More recommend