19/04/2016. What does it mean? Response-Time Analysis of Conditional DAG Tasks in Multiprocessor Systems. What does it mean? What does it mean?

Size: px
Start display at page:

Download "19/04/2016. What does it mean? Response-Time Analysis of Conditional DAG Tasks in Multiprocessor Systems. What does it mean? What does it mean?"

Transcription

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

2 9/04/20 Fork-join Synchronous-parallel Each task is an alternating sequence of sequential and parallel segments Every parallel segment has a degree of parallelism (number of processors) Generalization of the fork-join model Allows consecutive parallel segments Allows an arbitrary degree of parallelism of every segment 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 Directed acyclic graph (DAG), cp-dag Conditional - parallel DAG (cp-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 Conditional pairs Why this restriction?, form a conditional pair is a starting conditional node is the joining point of the conditional branches starting at Restriction: there cannot be any connection between a node belonging to a branch of a conditional statement (e.g., ) and nodes outside that branch (e.g., ), including other branches of the same statement It does not make sense for to wait for if is executed Analogously, cannot be connected to since only one is executed Violation of the correctness of conditional constructs and the semantics of the precedence relation 2 2

3 9/04/20 Formal definition () Formal definition (2) Let, be a pair of conditional nodes in a DAG,. The pair, is a conditional pair if the following hold: Suppose there are exactly outgoing arcs from to the nodes,,,,forsome. Then there are exactly incoming arcs into in, from some nodes,,, For each,2,,, let and denote all the nodes and arcs on paths reachable from that do not include. By definition, is the sole source node of the DAG,. It must hold that is the sole sink node of., 3 4 Formal definition (3) How is parallel code structured? It must hold that for all,,. Additionally, with the exception of,, there should be no arcs in into nodes in from nodes not in, for each,2,,. That is, \, should hold for all. 5 #pragma omp parallel num_threads(n) { #pragma omp master { #pragma omp task { // T 0 if (condition) { #pragma omp task { // T } } else { #pragma omp task { // T 2 } #pragma omp task { // T 3 } #pragma omp task { // T 4 } } }}} if (condition) {} else {} Which branch leads to the worst-case response-time? T 2 T 3 T 4 T Which branch leads to the WCRT? processor Upper branch Which branch leads to the WCRT? 3 processors Upper branch T if (condition) {} T else {} 2 Lower branch 2 processors 8 if (condition) {} else {} T T 2 T 3 Lower branch T 3 T 4 Upper branch T 4 3 processors + interfering task Lower branch Upper branch Lower branch

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

5 9/04/20 How to compute the longest path? How to compute the longest path?. Find a topological order of the given cp-dag A topological order is such that of there is an arc from to in the cp-dag, then appears before in the topological order can be done in Example: for this cp-dag possible topological orders are,,,,,,,,,,,,,,,,,,,,,,,, 2. For each vertex, of the cp-dag in the topological order, compute the length of the longest path ending at, by looking at its incoming neighbors and adding, to the maximum length recorded for those neighbors If, has no incoming neighbors, set the length of the longest path ending at, to, Example: For, record For, record 2 For, record 5 For, record For, record max 5, 25 2 How to compute the longest path? 3. Finally, the longest path in the cp-dag may be obtained by starting at the vertex, with the largest recorded value, then repeatedly stepping backwards to its incoming neighbor with the largest recorded value, and reversing the sequence found in this way Example: recorded values Starting at and stepping backward we find the sequence,,,,, The longest path is then,,,,, Complexity of the longest path computation: In the absence of conditional branches, the volume of a task is the worst-case execution time needed to complete it on a dedicated single-core platform It can be computed as the sum of the WCETs of all its vertices: 0 3. Volume,, It also represents the maximum amount of workload generated by a single instance of a DAGtask Worst-case workload 4. Worst-case workload In the presence of conditional branches, the worst-case workload of a task is the worst-case execution time needed to complete it on a dedicated single-core platform, over all combination of choices for the conditional branches It also represents the maximum amount of workload generated by a single instance of a cp-task In this example, the worst-case workload is given by all the vertices except, since the branch corresponding to yields a larger workload 29 How can it be computed? reverse topological order takes the element of the permutation S takes the accumulated worst-case workload from till the end of the cp-dag if the vertex has some successors if the vertex is the head node of a conditional pair is the successor of achieving the largest partial workload is merged into if instead the vertex is a regular one the workload contribution of all successors is merged into the worst-case workload accumulated by the source vertex is returned as output 30 5

6 9/04/20 4. Worst-case workload 5. Critical chain What is the complexity of this algorithm? Given a set of cp-tasks and a (work-conserving) scheduling algorithm, the critical chain λ of a cp-task τ is the chain of vertices of τ that leads to its worst-case response-time How can it be identified? set operations Any of them may require to compute, which has cost The time complexity is then We should know the worst-case instance of τ (i.e., the job of τ that has the largest response-time in the worst-case scenario) Then we should take its sink vertex, and recursively pre-pend the last to complete among the predecessor nodes, until the source vertex, has been included in the chain Key observation: the critical chain is unknown, but is always upperbounded by the longest path of the cp-task! 3 32 Critical interference To find the response-time of a cp-task, it is sufficient to characterize the maximum interference suffered by its critical chain The critical interference, imposed by task τ on task τ is the cumulative workload executed by vertices of τ while a node belonging to the critical chain of τ is ready to execute but is not executing Work-conserving schedulers Global schedulers are typically work-conserving (e.g., Global FP/EDF) Property: a ready job cannot execute only if all m processors are busy m τ i τ τ 2 τ 5 τ τ 5 τ 4 τ i τ 2 τ 7 τ 8 τ i r i r i + R i i Critical chain τ Critical interference of k τ on τ m τ τ τ 4 i τ 2 τ 2 τ 5 i τ 5 τ 7 τ 8 i, We can safely assume that the interference is distributed across all m processors Critical interference : total interference suffered by task τ, : total interference of task τ on task τ Types of interference We need to deal with two types of interference: o : from other tasks in the system; analogous to the classic notion o Intra-task interference: from vertices of the same task on itself; peculiar to parallel tasks only m τ τ τ τ τ τ 4 i 2 τ 2 5 i 5 τ 7 τ 8 i Interfering Interfering (i.e., not critical), λ + λ + For any work-conserving algorithm!, 35 Interfered Interfered (i.e., critical) λ λ +, λ,, Intra-task int. inter-task int. 3

7 9/04/20 Caused by other cp-tasks executing in the system Finding it exactly is difficult We need to find an upper-bound on the workload of an interfering task in the scheduling window, In the sequential case (global multiprocessor scheduling): Carry-in job Body jobs Carry-out job Sequential case The first job of τ starts executing as late as possible, with a starting time aligned with the beginning of the scheduling window Later jobs are executed as soon as possible Parallel case This scenario may not give a safe upper-bound on the interfering workload. Why? What is the scenario that maximizes the interfering workload? 37 Shifting right the scheduling window may give a larger interfering workload! 38 Pessimistic assumption Each interfering job of task τ executes for its worst-case workload The carry-in and carry-out contributions are evenly distributed among all processors Distributing them on less processors cannot increase the workload within the window Other task configurations cannot lead to a higher workload within the window Lemma: An upper-bound on the workload of an interfering task τ in a scheduling window of length is given by / min, Proof: The maximum number of carry-in and body instances within the window is / / Proof (continued): Each of the / instances contributes for The portion of the carry-out job included in the window is / min, Intra-task interference It is the interference from vertices of the same task on itself Who is interfering and who is interfered? The interfered contribution is the critical chain Critical chain: chain that leads to the WCRT of the cp-task At most processors may be occupied by the carry-out job The carry-out job cannot execute for more than units Critical chain longest path Longest path is time-units Critical chain can be either or If (c) {} else {} T T 2 T 3 T 4 endif

8 9/04/20 Intra-task interference Putting things together Simple upper-bound λ λ, λ, λ λ Length of the longest path,, λ critical chain Schedulability condition Given a cp-task set globally scheduled on processors, an upper-bound on the response-time of a task τ can be derived by the fixed-point iteration of the following expression, starting with : Global FP, Decreasing priority order 0, Global EDF, / min, Putting things together Reference Global FP The fixed-point iteration updates the bounds in decreasing priority order, starting from the highest priority task, until either: one of the response-time bounds exceeds the task relative deadline (negative schedulability result); A. Melani, M. Bertogna, V. Bonifaci, A. Marchetti- Spaccamela, G. Buttazzo, Response-Time Analysis of Conditional DAG Tasks in Multiprocessor Systems, Proceedings of the 27 th Euromicro Conference on Real- Time Systems (ECRTS 205) OR no more update is possible (positive schedulability result), i.e., : Global EDF Multiple rounds may be needed 45 4 Schedulability example Solution sketch Global FP m= Task is schedulable min High-priority task D = 35 T = 37 Len = 28 W = 37 Low-priority task D = 39 T = 229 Len = 37 W = Task 2 is schedulable

9 9/04/20 Thank you! Alessandra Melani 49 9

Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling. Tim Nieberg Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

More information

Real Time Scheduling Basic Concepts. Radek Pelánek

Real Time Scheduling Basic Concepts. Radek Pelánek Real Time Scheduling Basic Concepts Radek Pelánek Basic Elements Model of RT System abstraction focus only on timing constraints idealization (e.g., zero switching time) Basic Elements Basic Notions task

More information

Data Structures and Algorithms Written Examination

Data Structures and Algorithms Written Examination Data Structures and Algorithms Written Examination 22 February 2013 FIRST NAME STUDENT NUMBER LAST NAME SIGNATURE Instructions for students: Write First Name, Last Name, Student Number and Signature where

More information

Modeling and Performance Evaluation of Computer Systems Security Operation 1

Modeling and Performance Evaluation of Computer Systems Security Operation 1 Modeling and Performance Evaluation of Computer Systems Security Operation 1 D. Guster 2 St.Cloud State University 3 N.K. Krivulin 4 St.Petersburg State University 5 Abstract A model of computer system

More information

Introduction to Scheduling Theory

Introduction to Scheduling Theory Introduction to Scheduling Theory Arnaud Legrand Laboratoire Informatique et Distribution IMAG CNRS, France arnaud.legrand@imag.fr November 8, 2004 1/ 26 Outline 1 Task graphs from outer space 2 Scheduling

More information

6.852: Distributed Algorithms Fall, 2009. Class 2

6.852: Distributed Algorithms Fall, 2009. Class 2 .8: Distributed Algorithms Fall, 009 Class Today s plan Leader election in a synchronous ring: Lower bound for comparison-based algorithms. Basic computation in general synchronous networks: Leader election

More information

GRAPH THEORY LECTURE 4: TREES

GRAPH THEORY LECTURE 4: TREES GRAPH THEORY LECTURE 4: TREES Abstract. 3.1 presents some standard characterizations and properties of trees. 3.2 presents several different types of trees. 3.7 develops a counting method based on a bijection

More information

Problem Set 7 Solutions

Problem Set 7 Solutions 8 8 Introduction to Algorithms May 7, 2004 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik Demaine and Shafi Goldwasser Handout 25 Problem Set 7 Solutions This problem set is due in

More information

Scheduling Real-time Tasks: Algorithms and Complexity

Scheduling Real-time Tasks: Algorithms and Complexity Scheduling Real-time Tasks: Algorithms and Complexity Sanjoy Baruah The University of North Carolina at Chapel Hill Email: baruah@cs.unc.edu Joël Goossens Université Libre de Bruxelles Email: joel.goossens@ulb.ac.be

More information

Grant Agreement FP7-ICT-611016

Grant Agreement FP7-ICT-611016 Grant Agreement Deliverable type Deliverable name Report Resource allocation requirements Deliverable number D3.1 Work Package 3 Responsible partner UoM Report status Draft Dissemination level Public Version

More information

REAL TIME OPERATING SYSTEMS. Lesson-18:

REAL TIME OPERATING SYSTEMS. Lesson-18: REAL TIME OPERATING SYSTEMS Lesson-18: Round Robin Time Slicing of tasks of equal priorities 1 1. Common scheduling models 2 Common scheduling models Cooperative Scheduling of ready tasks in a circular

More information

5.1 Bipartite Matching

5.1 Bipartite Matching CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson

More information

Improved Handling of Soft Aperiodic Tasks in Offline Scheduled Real-Time Systems using Total Bandwidth Server

Improved Handling of Soft Aperiodic Tasks in Offline Scheduled Real-Time Systems using Total Bandwidth Server Improved Handling of Soft Aperiodic Tasks in Offline Scheduled Real-Time Systems using Total Bandwidth Server Gerhard Fohler, Tomas Lennvall Mälardalen University Västeras, Sweden gfr, tlv @mdh.se Giorgio

More information

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.

This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination. IEEE/ACM TRANSACTIONS ON NETWORKING 1 A Greedy Link Scheduler for Wireless Networks With Gaussian Multiple-Access and Broadcast Channels Arun Sridharan, Student Member, IEEE, C Emre Koksal, Member, IEEE,

More information

MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research

MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research MapReduce and Distributed Data Analysis Google Research 1 Dealing With Massive Data 2 2 Dealing With Massive Data Polynomial Memory Sublinear RAM Sketches External Memory Property Testing 3 3 Dealing With

More information

Aperiodic Task Scheduling

Aperiodic Task Scheduling Aperiodic Task Scheduling Gerhard Fohler Mälardalen University, Sweden gerhard.fohler@mdh.se Real-Time Systems Gerhard Fohler 2005 Non Periodic Tasks So far periodic events and tasks what about others?

More information

A STUDY OF TASK SCHEDULING IN MULTIPROCESSOR ENVIROMENT Ranjit Rajak 1, C.P.Katti 2, Nidhi Rajak 3

A STUDY OF TASK SCHEDULING IN MULTIPROCESSOR ENVIROMENT Ranjit Rajak 1, C.P.Katti 2, Nidhi Rajak 3 A STUDY OF TASK SCHEDULING IN MULTIPROCESSOR ENVIROMENT Ranjit Rajak 1, C.P.Katti, Nidhi Rajak 1 Department of Computer Science & Applications, Dr.H.S.Gour Central University, Sagar, India, ranjit.jnu@gmail.com

More information

Partitioned real-time scheduling on heterogeneous shared-memory multiprocessors

Partitioned real-time scheduling on heterogeneous shared-memory multiprocessors Partitioned real-time scheduling on heterogeneous shared-memory multiprocessors Martin Niemeier École Polytechnique Fédérale de Lausanne Discrete Optimization Group Lausanne, Switzerland martin.niemeier@epfl.ch

More information

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:

Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation: CSE341T 08/31/2015 Lecture 3 Cost Model: Work, Span and Parallelism In this lecture, we will look at how one analyze a parallel program written using Cilk Plus. When we analyze the cost of an algorithm

More information

GameTime: A Toolkit for Timing Analysis of Software

GameTime: A Toolkit for Timing Analysis of Software GameTime: A Toolkit for Timing Analysis of Software Sanjit A. Seshia and Jonathan Kotker EECS Department, UC Berkeley {sseshia,jamhoot}@eecs.berkeley.edu Abstract. Timing analysis is a key step in the

More information

Linear Programming. March 14, 2014

Linear Programming. March 14, 2014 Linear Programming March 1, 01 Parts of this introduction to linear programming were adapted from Chapter 9 of Introduction to Algorithms, Second Edition, by Cormen, Leiserson, Rivest and Stein [1]. 1

More information

Common Approaches to Real-Time Scheduling

Common Approaches to Real-Time Scheduling Common Approaches to Real-Time Scheduling Clock-driven time-driven schedulers Priority-driven schedulers Examples of priority driven schedulers Effective timing constraints The Earliest-Deadline-First

More information

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q... Lecture 4 Scheduling 1 Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max structure of a schedule 0 Q 1100 11 00 11 000 111 0 0 1 1 00 11 00 11 00

More information

FPGA area allocation for parallel C applications

FPGA area allocation for parallel C applications 1 FPGA area allocation for parallel C applications Vlad-Mihai Sima, Elena Moscu Panainte, Koen Bertels Computer Engineering Faculty of Electrical Engineering, Mathematics and Computer Science Delft University

More information

4. Fixed-Priority Scheduling

4. Fixed-Priority Scheduling Simple workload model 4. Fixed-Priority Scheduling Credits to A. Burns and A. Wellings The application is assumed to consist of a fixed set of tasks All tasks are periodic with known periods This defines

More information

On some Potential Research Contributions to the Multi-Core Enterprise

On some Potential Research Contributions to the Multi-Core Enterprise On some Potential Research Contributions to the Multi-Core Enterprise Oded Maler CNRS - VERIMAG Grenoble, France February 2009 Background This presentation is based on observations made in the Athole project

More information

Max Flow, Min Cut, and Matchings (Solution)

Max Flow, Min Cut, and Matchings (Solution) Max Flow, Min Cut, and Matchings (Solution) 1. The figure below shows a flow network on which an s-t flow is shown. The capacity of each edge appears as a label next to the edge, and the numbers in boxes

More information

Dynamic Programming 11.1 AN ELEMENTARY EXAMPLE

Dynamic Programming 11.1 AN ELEMENTARY EXAMPLE Dynamic Programming Dynamic programming is an optimization approach that transforms a complex problem into a sequence of simpler problems; its essential characteristic is the multistage nature of the optimization

More information

A Real-Time Scheduling Service for Parallel Tasks

A Real-Time Scheduling Service for Parallel Tasks A RealTime Scheduling Service for Parallel Tasks David Ferry, Jing Li, Mahesh Mahadevan, Kunal Agrawal, Christopher Gill, and Chenyang Lu Department of Computer Science and Engineering Washington University

More information

Linear Programming I

Linear Programming I Linear Programming I November 30, 2003 1 Introduction In the VCR/guns/nuclear bombs/napkins/star wars/professors/butter/mice problem, the benevolent dictator, Bigus Piguinus, of south Antarctica penguins

More information

Cache-aware compositional analysis of real-time multicore virtualization platforms

Cache-aware compositional analysis of real-time multicore virtualization platforms DOI 10.1007/s11241-015-9223-2 Cache-aware compositional analysis of real-time multicore virtualization platforms Meng Xu 1 Linh Thi Xuan Phan 1 Oleg Sokolsky 1 Sisu Xi 2 Chenyang Lu 2 Christopher Gill

More information

High Performance Computing for Operation Research

High Performance Computing for Operation Research High Performance Computing for Operation Research IEF - Paris Sud University claude.tadonki@u-psud.fr INRIA-Alchemy seminar, Thursday March 17 Research topics Fundamental Aspects of Algorithms and Complexity

More information

Real-Time Software. Basic Scheduling and Response-Time Analysis. René Rydhof Hansen. 21. september 2010

Real-Time Software. Basic Scheduling and Response-Time Analysis. René Rydhof Hansen. 21. september 2010 Real-Time Software Basic Scheduling and Response-Time Analysis René Rydhof Hansen 21. september 2010 TSW (2010e) (Lecture 05) Real-Time Software 21. september 2010 1 / 28 Last Time Time in a real-time

More information

Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

More information

The Goldberg Rao Algorithm for the Maximum Flow Problem

The Goldberg Rao Algorithm for the Maximum Flow Problem The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 }

More information

Practical Guide to the Simplex Method of Linear Programming

Practical Guide to the Simplex Method of Linear Programming Practical Guide to the Simplex Method of Linear Programming Marcel Oliver Revised: April, 0 The basic steps of the simplex algorithm Step : Write the linear programming problem in standard form Linear

More information

Midterm Practice Problems

Midterm Practice Problems 6.042/8.062J Mathematics for Computer Science October 2, 200 Tom Leighton, Marten van Dijk, and Brooke Cowan Midterm Practice Problems Problem. [0 points] In problem set you showed that the nand operator

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

More information

Optimizations. Optimization Safety. Optimization Safety. Control Flow Graphs. Code transformations to improve program

Optimizations. Optimization Safety. Optimization Safety. Control Flow Graphs. Code transformations to improve program Optimizations Code transformations to improve program Mainly: improve execution time Also: reduce program size Control low Graphs Can be done at high level or low level E.g., constant folding Optimizations

More information

4.2 Description of the Event operation Network (EON)

4.2 Description of the Event operation Network (EON) Integrated support system for planning and scheduling... 2003/4/24 page 39 #65 Chapter 4 The EON model 4. Overview The present thesis is focused in the development of a generic scheduling framework applicable

More information

Lecture 2. Marginal Functions, Average Functions, Elasticity, the Marginal Principle, and Constrained Optimization

Lecture 2. Marginal Functions, Average Functions, Elasticity, the Marginal Principle, and Constrained Optimization Lecture 2. Marginal Functions, Average Functions, Elasticity, the Marginal Principle, and Constrained Optimization 2.1. Introduction Suppose that an economic relationship can be described by a real-valued

More information

BOĞAZİÇİ UNIVERSITY COMPUTER ENGINEERING

BOĞAZİÇİ UNIVERSITY COMPUTER ENGINEERING Parallel l Tetrahedral Mesh Refinement Mehmet Balman Computer Engineering, Boğaziçi University Adaptive Mesh Refinement (AMR) A computation ti technique used to improve the efficiency i of numerical systems

More information

Solutions to Homework 6

Solutions to Homework 6 Solutions to Homework 6 Debasish Das EECS Department, Northwestern University ddas@northwestern.edu 1 Problem 5.24 We want to find light spanning trees with certain special properties. Given is one example

More information

Fairness in Routing and Load Balancing

Fairness in Routing and Load Balancing Fairness in Routing and Load Balancing Jon Kleinberg Yuval Rabani Éva Tardos Abstract We consider the issue of network routing subject to explicit fairness conditions. The optimization of fairness criteria

More information

Clustering and scheduling maintenance tasks over time

Clustering and scheduling maintenance tasks over time Clustering and scheduling maintenance tasks over time Per Kreuger 2008-04-29 SICS Technical Report T2008:09 Abstract We report results on a maintenance scheduling problem. The problem consists of allocating

More information

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014 Home Health Care Home health care delivery

More information

Aperiodic Task Scheduling

Aperiodic Task Scheduling Aperiodic Task Scheduling Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 Germany Springer, 2010 2014 年 11 月 19 日 These slides use Microsoft clip arts. Microsoft copyright

More information

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* Rakesh Nagi Department of Industrial Engineering University at Buffalo (SUNY) *Lecture notes from Network Flows by Ahuja, Magnanti

More information

Reliability Guarantees in Automata Based Scheduling for Embedded Control Software

Reliability Guarantees in Automata Based Scheduling for Embedded Control Software 1 Reliability Guarantees in Automata Based Scheduling for Embedded Control Software Santhosh Prabhu, Aritra Hazra, Pallab Dasgupta Department of CSE, IIT Kharagpur West Bengal, India - 721302. Email: {santhosh.prabhu,

More information

CMPSCI611: Approximating MAX-CUT Lecture 20

CMPSCI611: Approximating MAX-CUT Lecture 20 CMPSCI611: Approximating MAX-CUT Lecture 20 For the next two lectures we ll be seeing examples of approximation algorithms for interesting NP-hard problems. Today we consider MAX-CUT, which we proved to

More information

Modeling Workflow Patterns

Modeling Workflow Patterns Modeling Workflow Patterns Bizagi Suite Workflow Patterns 1 Table of Contents Modeling workflow patterns... 4 Implementing the patterns... 4 Basic control flow patterns... 4 WCP 1- Sequence... 4 WCP 2-

More information

Goals of the Unit. spm - 2014 adolfo villafiorita - introduction to software project management

Goals of the Unit. spm - 2014 adolfo villafiorita - introduction to software project management Project Scheduling Goals of the Unit Making the WBS into a schedule Understanding dependencies between activities Learning the Critical Path technique Learning how to level resources!2 Initiate Plan Execute

More information

3. Scheduling issues. Common approaches /1. Common approaches /2. Common approaches /3. 2012/13 UniPD / T. Vardanega 23/01/2013. Real-Time Systems 1

3. Scheduling issues. Common approaches /1. Common approaches /2. Common approaches /3. 2012/13 UniPD / T. Vardanega 23/01/2013. Real-Time Systems 1 Common approaches /1 3. Scheduling issues Clock-driven (time-driven) scheduling Scheduling decisions are made beforehand (off line) and carried out at predefined time instants The time instants normally

More information

Commonly Used Approaches to Real-Time Scheduling

Commonly Used Approaches to Real-Time Scheduling Integre Technical Publishing Co., Inc. Liu January 13, 2000 8:46 a.m. chap4 page 60 C H A P T E R 4 Commonly Used Approaches to Real-Time Scheduling This chapter provides a brief overview of three commonly

More information

Workload Models for System-Level Timing Analysis: Expressiveness vs. Analysis Efficiency

Workload Models for System-Level Timing Analysis: Expressiveness vs. Analysis Efficiency Workload Models for System-Level Timing Analysis: Expressiveness vs. Analysis Efficiency Nan Guan, Martin Stigge and Wang Yi Uppsala University, Sweden Uppsala University, China Complex Real-Time Systems

More information

Real- Time Scheduling

Real- Time Scheduling Real- Time Scheduling Chenyang Lu CSE 467S Embedded Compu5ng Systems Readings Ø Single-Processor Scheduling: Hard Real-Time Computing Systems, by G. Buttazzo. q Chapter 4 Periodic Task Scheduling q Chapter

More information

Linear Programming. Solving LP Models Using MS Excel, 18

Linear Programming. Solving LP Models Using MS Excel, 18 SUPPLEMENT TO CHAPTER SIX Linear Programming SUPPLEMENT OUTLINE Introduction, 2 Linear Programming Models, 2 Model Formulation, 4 Graphical Linear Programming, 5 Outline of Graphical Procedure, 5 Plotting

More information

Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi

Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture - 9 Basic Scheduling with A-O-A Networks Today we are going to be talking

More information

The Rolling Stock Recovery Problem. Literature review. Julie Jespersen Groth *α, Jesper Larsen β and Jens Clausen *γ

The Rolling Stock Recovery Problem. Literature review. Julie Jespersen Groth *α, Jesper Larsen β and Jens Clausen *γ The Rolling Stock Recovery Problem Julie Jespersen Groth *α, Jesper Larsen β and Jens Clausen *γ DTU Management Engineering, The Technical University of Denmark, Produktionstorvet, DTU Building 424, 2800

More information

Measuring the Performance of an Agent

Measuring the Performance of an Agent 25 Measuring the Performance of an Agent The rational agent that we are aiming at should be successful in the task it is performing To assess the success we need to have a performance measure What is rational

More information

Guessing Game: NP-Complete?

Guessing Game: NP-Complete? Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES 2. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple

More information

A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems

A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems Vincenzo Grassi Università di Roma Tor Vergata, Italy Raffaela Mirandola {vgrassi, mirandola}@info.uniroma2.it Abstract.

More information

Dynamic programming formulation

Dynamic programming formulation 1.24 Lecture 14 Dynamic programming: Job scheduling Dynamic programming formulation To formulate a problem as a dynamic program: Sort by a criterion that will allow infeasible combinations to be eli minated

More information

Compositional Real-Time Scheduling Framework with Periodic Model

Compositional Real-Time Scheduling Framework with Periodic Model Compositional Real-Time Scheduling Framework with Periodic Model INSIK SHIN and INSUP LEE University of Pennsylvania It is desirable to develop large complex systems using components based on systematic

More information

Today. Intro to real-time scheduling Cyclic executives. Scheduling tables Frames Frame size constraints. Non-independent tasks Pros and cons

Today. Intro to real-time scheduling Cyclic executives. Scheduling tables Frames Frame size constraints. Non-independent tasks Pros and cons Today Intro to real-time scheduling Cyclic executives Scheduling tables Frames Frame size constraints Generating schedules Non-independent tasks Pros and cons Real-Time Systems The correctness of a real-time

More information

Shortcut sets for plane Euclidean networks (Extended abstract) 1

Shortcut sets for plane Euclidean networks (Extended abstract) 1 Shortcut sets for plane Euclidean networks (Extended abstract) 1 J. Cáceres a D. Garijo b A. González b A. Márquez b M. L. Puertas a P. Ribeiro c a Departamento de Matemáticas, Universidad de Almería,

More information

Optimal Online-list Batch Scheduling

Optimal Online-list Batch Scheduling Optimal Online-list Batch Scheduling Jacob Jan Paulus a,, Deshi Ye b, Guochuan Zhang b a University of Twente, P.O. box 217, 7500AE Enschede, The Netherlands b Zhejiang University, Hangzhou 310027, China

More information

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses Overview of Real-Time Scheduling Embedded Real-Time Software Lecture 3 Lecture Outline Overview of real-time scheduling algorithms Clock-driven Weighted round-robin Priority-driven Dynamic vs. static Deadline

More information

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92.

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) 3 4 4 7 5 9 6 16 7 8 8 4 9 8 10 4 Total 92. Name: Email ID: CSE 326, Data Structures Section: Sample Final Exam Instructions: The exam is closed book, closed notes. Unless otherwise stated, N denotes the number of elements in the data structure

More information

A Constant-Approximate Feasibility Test for Multiprocessor Real-Time Scheduling

A Constant-Approximate Feasibility Test for Multiprocessor Real-Time Scheduling Algorithmica manuscript No. (will be inserted by the editor) A Constant-Approximate Feasibility Test for Multiprocessor Real-Time Scheduling Vincenzo Bonifaci Alberto Marchetti-Spaccamela Sebastian Stiller

More information

Project Time Management

Project Time Management Project Time Management Study Notes PMI, PMP, CAPM, PMBOK, PM Network and the PMI Registered Education Provider logo are registered marks of the Project Management Institute, Inc. Points to Note Please

More information

Load Balancing and Switch Scheduling

Load Balancing and Switch Scheduling EE384Y Project Final Report Load Balancing and Switch Scheduling Xiangheng Liu Department of Electrical Engineering Stanford University, Stanford CA 94305 Email: liuxh@systems.stanford.edu Abstract Load

More information

A Practical Scheme for Wireless Network Operation

A Practical Scheme for Wireless Network Operation A Practical Scheme for Wireless Network Operation Radhika Gowaikar, Amir F. Dana, Babak Hassibi, Michelle Effros June 21, 2004 Abstract In many problems in wireline networks, it is known that achieving

More information

3.1 Solving Systems Using Tables and Graphs

3.1 Solving Systems Using Tables and Graphs Algebra 2 Chapter 3 3.1 Solve Systems Using Tables & Graphs 3.1 Solving Systems Using Tables and Graphs A solution to a system of linear equations is an that makes all of the equations. To solve a system

More information

Dynamic Programming Problem Set Partial Solution CMPSC 465

Dynamic Programming Problem Set Partial Solution CMPSC 465 Dynamic Programming Problem Set Partial Solution CMPSC 465 I ve annotated this document with partial solutions to problems written more like a test solution. (I remind you again, though, that a formal

More information

Scheduling Single Machine Scheduling. Tim Nieberg

Scheduling Single Machine Scheduling. Tim Nieberg Scheduling Single Machine Scheduling Tim Nieberg Single machine models Observation: for non-preemptive problems and regular objectives, a sequence in which the jobs are processed is sufficient to describe

More information

2.3 Convex Constrained Optimization Problems

2.3 Convex Constrained Optimization Problems 42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions

More information

174: Scheduling Systems. Emil Michta University of Zielona Gora, Zielona Gora, Poland 1 TIMING ANALYSIS IN NETWORKED MEASUREMENT CONTROL SYSTEMS

174: Scheduling Systems. Emil Michta University of Zielona Gora, Zielona Gora, Poland 1 TIMING ANALYSIS IN NETWORKED MEASUREMENT CONTROL SYSTEMS 174: Scheduling Systems Emil Michta University of Zielona Gora, Zielona Gora, Poland 1 Timing Analysis in Networked Measurement Control Systems 1 2 Introduction to Scheduling Systems 2 3 Scheduling Theory

More information

Managing Time in Workflow Systems

Managing Time in Workflow Systems Managing Time in Workflow Systems Johann Eder Euthimios Panagos Department of Informatics Systems AT&T Labs -- Research University of Klagenfurt 180 Park Avenue A-900 Klagenfurt, Austria Florham Park,

More information

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina stefano.martina@stud.unifi.it

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina stefano.martina@stud.unifi.it Seminar Path planning using Voronoi diagrams and B-Splines Stefano Martina stefano.martina@stud.unifi.it 23 may 2016 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International

More information

MANY complex distributed embedded systems with time

MANY complex distributed embedded systems with time IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS 1 Optimizing the Software Architecture for Extensibility in Hard Real-Time Distributed Systems Qi Zhu, Yang Yang, Marco Di Natale, Eelco Scholte, and Alberto

More information

Scheduling Glossary Activity. A component of work performed during the course of a project.

Scheduling Glossary Activity. A component of work performed during the course of a project. Scheduling Glossary Activity. A component of work performed during the course of a project. Activity Attributes. Multiple attributes associated with each schedule activity that can be included within the

More information

Scheduling Imprecise Tasks in Real-Time Distributed Systems

Scheduling Imprecise Tasks in Real-Time Distributed Systems Scheduling Imprecise Tasks in Real-Time Distributed Systems Rômulo Silva de Oliveira, Joni da Silva Fraga and Jean-Marie Farines Universidade Federal de Santa Catarina LCMI-DAS-UFSC, Caixa Postal 476 Florianópolis-SC,

More information

INCIDENCE-BETWEENNESS GEOMETRY

INCIDENCE-BETWEENNESS GEOMETRY INCIDENCE-BETWEENNESS GEOMETRY MATH 410, CSUSM. SPRING 2008. PROFESSOR AITKEN This document covers the geometry that can be developed with just the axioms related to incidence and betweenness. The full

More information

Lecture 1: Course overview, circuits, and formulas

Lecture 1: Course overview, circuits, and formulas Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik

More information

Network Flow I. Lecture 16. 16.1 Overview. 16.2 The Network Flow Problem

Network Flow I. Lecture 16. 16.1 Overview. 16.2 The Network Flow Problem Lecture 6 Network Flow I 6. Overview In these next two lectures we are going to talk about an important algorithmic problem called the Network Flow Problem. Network flow is important because it can be

More information

Graph Theory Problems and Solutions

Graph Theory Problems and Solutions raph Theory Problems and Solutions Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles November, 005 Problems. Prove that the sum of the degrees of the vertices of any finite graph is

More information

Optimal Index Codes for a Class of Multicast Networks with Receiver Side Information

Optimal Index Codes for a Class of Multicast Networks with Receiver Side Information Optimal Index Codes for a Class of Multicast Networks with Receiver Side Information Lawrence Ong School of Electrical Engineering and Computer Science, The University of Newcastle, Australia Email: lawrence.ong@cantab.net

More information

The Trip Scheduling Problem

The Trip Scheduling Problem The Trip Scheduling Problem Claudia Archetti Department of Quantitative Methods, University of Brescia Contrada Santa Chiara 50, 25122 Brescia, Italy Martin Savelsbergh School of Industrial and Systems

More information

pm4dev, 2015 management for development series Project Schedule Management PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS

pm4dev, 2015 management for development series Project Schedule Management PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS pm4dev, 2015 management for development series Project Schedule Management PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS A methodology to manage development

More information

Reinforcement Learning

Reinforcement Learning Reinforcement Learning LU 2 - Markov Decision Problems and Dynamic Programming Dr. Martin Lauer AG Maschinelles Lernen und Natürlichsprachliche Systeme Albert-Ludwigs-Universität Freiburg martin.lauer@kit.edu

More information

Policy Analysis for Administrative Role Based Access Control without Separate Administration

Policy Analysis for Administrative Role Based Access Control without Separate Administration Policy nalysis for dministrative Role Based ccess Control without Separate dministration Ping Yang Department of Computer Science, State University of New York at Binghamton, US Mikhail I. Gofman Department

More information

Extremal Wiener Index of Trees with All Degrees Odd

Extremal Wiener Index of Trees with All Degrees Odd MATCH Communications in Mathematical and in Computer Chemistry MATCH Commun. Math. Comput. Chem. 70 (2013) 287-292 ISSN 0340-6253 Extremal Wiener Index of Trees with All Degrees Odd Hong Lin School of

More information

Main Points. Scheduling policy: what to do next, when there are multiple threads ready to run. Definitions. Uniprocessor policies

Main Points. Scheduling policy: what to do next, when there are multiple threads ready to run. Definitions. Uniprocessor policies Scheduling Main Points Scheduling policy: what to do next, when there are multiple threads ready to run Or multiple packets to send, or web requests to serve, or Definitions response time, throughput,

More information

Spring 2011 Prof. Hyesoon Kim

Spring 2011 Prof. Hyesoon Kim Spring 2011 Prof. Hyesoon Kim Today, we will study typical patterns of parallel programming This is just one of the ways. Materials are based on a book by Timothy. Decompose Into tasks Original Problem

More information

Dynamic Programming. Lecture 11. 11.1 Overview. 11.2 Introduction

Dynamic Programming. Lecture 11. 11.1 Overview. 11.2 Introduction Lecture 11 Dynamic Programming 11.1 Overview Dynamic Programming is a powerful technique that allows one to solve many different types of problems in time O(n 2 ) or O(n 3 ) for which a naive approach

More information

Project Management Multiple Resources Allocation

Project Management Multiple Resources Allocation EngOpt 2008 - International Conference on Engineering Optimization Rio de Janeiro, Brazil, 01-05 June 2008. Project Management Multiple Resources Allocation Anabela P. Tereso Madalena M. Araújo Rui S.

More information

Analysis of Algorithms, I

Analysis of Algorithms, I Analysis of Algorithms, I CSOR W4231.002 Eleni Drinea Computer Science Department Columbia University Thursday, February 26, 2015 Outline 1 Recap 2 Representing graphs 3 Breadth-first search (BFS) 4 Applications

More information

Part 2: Community Detection

Part 2: Community Detection Chapter 8: Graph Data Part 2: Community Detection Based on Leskovec, Rajaraman, Ullman 2014: Mining of Massive Datasets Big Data Management and Analytics Outline Community Detection - Social networks -

More information

2.8 An application of Dynamic Programming to machine renewal

2.8 An application of Dynamic Programming to machine renewal ex-.6-. Foundations of Operations Research Prof. E. Amaldi.6 Shortest paths with nonnegative costs Given the following graph, find a set of shortest paths from node to all the other nodes, using Dijkstra

More information