19 04 2016
play

19/04/2016 What does it mean? Response-time analysis - PDF document

19/04/2016 What does it mean? Response-time analysis conditional Response-Time Analysis DAG tasks of Conditional DAG Tasks multiprocessor systems in Multiprocessor Systems Alessandra Melani 1 2 What


  1. 19/04/2016 What does it mean?  « Response-time analysis »  « conditional » Response-Time Analysis  « DAG tasks » of Conditional DAG Tasks  « multiprocessor systems » in Multiprocessor Systems Alessandra Melani 1 2 What does it mean? What does it mean?  « Response-time analysis »  « Response-time analysis » DAG: Directed Acyclic Graph  « conditional »  « conditional »  « DAG tasks »  « DAG tasks »  « multiprocessor systems »  « multiprocessor systems » If-then-else statements Switch statements 3 4 In other words Parallel task models Many parallel programming models have been proposed to support  We will analyze a multiprocessor real-time systems… parallel computation on multiprocessor platforms (e.g., OpenMP, OpenCL, Cilk, Cilk Plus, Intel TBB)  … by means of a schedulability test based on response-time analysis  … assuming Global Fixed Priority or Global EDF scheduling policies Early real-time scheduling Recently, more expressive models: each recurrent task execution models allow  … and assuming a parallel task model (i.e., a task is modelled is completely sequential exploiting task parallelism as a Directed Acyclic Graph - DAG ) 5 6 1

  2. 19/04/2016 Fork-join Synchronous-parallel  Each task is an alternating sequence of sequential and parallel  Generalization of the fork-join model segments  Allows consecutive parallel segments  Every parallel segment has a degree of parallelism � � (number  Allows an arbitrary degree of parallelism of every segment of processors)  Synchronization at segment boundaries: a sub-task in the new segment may start only after completion of all sub-tasks in the previous segment � � ���� 7 8 DAG cp-DAG  Conditional - parallel DAG (cp-DAG) � � � �� � , � � �  Directed acyclic graph (DAG) � � � �� � , � � �  � � � � �,� , … , � �,� � ; � � ⊆ � � ⨯ � �  Generalization of the previous two models  Every node is a sequential sub-task  Arcs represent precedence constraints between sub-tasks  Two types of nodes  Regular : all successors must be executed in parallel  Conditional : to model start/end of a conditional construct (e.g., if-then-else statement)  Each node has a WCET � �,�  In this lecture, we will focus on this task model 9 10 Conditional pairs Why this restriction?  �� � , � � � form a conditional pair  It does not make sense for � � to wait for � � if � � is executed � � is a starting conditional node   � � is the joining point of the conditional branches starting at � �  Analogously, � � cannot be connected to � � since only one is executed  Restriction : there cannot be any connection between a node belonging to a branch of a conditional statement (e.g., � � ) and  Violation of the correctness of conditional constructs and the nodes outside that branch (e.g., � � ), including other branches of semantics of the precedence relation the same statement 11 12 2

  3. 19/04/2016 Formal definition (1) Formal definition (2) � ⊆ � � ⊆ � � denote all the Let � � , � � be a pair of conditional nodes in a DAG � � � � � , � � .  For each � ∈ 1,2, … , � , let � � and � � � nodes and arcs on paths reachable from � � that do not include The pair �� � , � � � is a conditional pair if the following hold: � � .  Suppose there are exactly � outgoing arcs from � � to the nodes � � By definition, � � is the sole source node of the DAG � � � � , � � , … , � � , for some � � 1 . Then there are exactly � incoming � , � � ′� . It must hold that � � is the sole sink node of � � � . �� arcs into � � in � � , from some nodes � � , � � , … , � � � � � �� � , � � ′� � � � � � � … � � � � � � � … � � � � � � � � � � … … … � � � � … … � � � � � � � � … 13 14 Formal definition (3) How is parallel code structured? � ∩ � � � ∅ for all �, �, � � � .  It must hold that � # pragma omp parallel num_threads (N) � � 10 T 1 Additionally, with the exception of �� � , � � � , there should be no { 6 arcs in � � into nodes in � � ′ from nodes not in � � ′ , for each if (condition) {…} T 2 # pragma omp master { else {…} � ∈ �1,2, … , �� . 6 # pragma omp task { // T 0 T 3 � ⨯ � � � ��� � , � � �� should hold for all � . That is, � � ∩ � � \� if (condition) { 6 � � T 4 # pragma omp task { // T 1 } � � } else { Which branch # pragma omp task { // T 2 } � � � � … leads to the # pragma omp task { // T 3 } worst-case # pragma omp task { // T 4 } � � … � � � � � � } … response-time? … � � … � � }}} 15 16 Which branch leads to the WCRT? Which branch leads to the WCRT? ≥ 3 processors 1 processor 10 T 1 Upper branch Upper branch 6 if (condition) {…} T 2 10 else {…} 6 Lower branch 10 T 3 T 1 Lower branch 18 6 6 T 4 if (condition) {…} T 2 else {…} 2 processors 6 T 3 10 6 T 4 Upper branch 3 processors + interfering task 10 Lower branch Lower branch Upper branch 10 12 12 17 18 3

  4. 19/04/2016 Lesson learnt System model Depending on the number of processors and on the interfering  � conditional-parallel tasks (cp-tasks) τ � , expressed as cp-DAGs tasks, it is not obvious to identify the branch leading to the in the form � � � �� � , � � � WCRT  platform composed of � identical processors if (condition) {…} It makes sense to account for else {…} the different execution flows by  sporadic arrival pattern (minimum inter-arrival time � � between … … enriching the task model jobs of task τ � )  constrained relative deadline � � � � � Why don’t we do it also with if (condition) {…} else {…} sequential tasks? … … Problem  Only the longest path matters  Conditional branches are already Schedulability analysis for cp-tasks, globally scheduled on m identical incorporated in the notion of processors with any work-conserving algorithm (including G-FP … WCET and G-EDF) 19 20 Quantities of interest 1. Chain (or path) 1. Chain (or path) of a cp-task A chain (or path) of a cp-task τ � is a sequence of nodes λ � �� �,� , … , � �,� � such that � �,� , � �,��� ∈ � � , ∀� ∈ ��, �� . 2. Longest path 3. Volume 4. Worst-case workload 5. Critical chain 21 22 1. Chain (or path) 2. Longest path The longest path � � of a cp-task τ � is any source-sink chain of the A chain (or path) of a cp-task τ � is a sequence of nodes λ � task that achieves the longest length �� �,� , … , � �,� � such that � �,� , � �,��� ∈ � � , ∀� ∈ ��, �� . ������ ���� � � also represents the time required to execute it when the number The length of the chain, denoted by ����λ� , is the sum of the of processing units is infinite (large enough to allow maximum WCETs of all its nodes: parallelism) � ��� λ � � � �,� Necessary condition for feasibility: � � � � � ��� 23 24 4

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend