Parallel Numerical Algorithms

Size: px
Start display at page:

Download "Parallel Numerical Algorithms"

Transcription

1 Parallel Numerical Algorithms [ 4 ] Scheduling Theory Parallel Numerical Algorithms / IST / UTokyo 1

2 PNA16 Lecture Plan General Topics 1. Architecture and Performance 2. Dependency 3. Locality 4. Scheduling MIMD / Distributed Memory 5. MPI: Message Passing Interface 6. Collective Communication 7. Distributed Data Structure MIMD / Shared Memory 8. OpenMP 9. Cache Performance Special Lectures 5/30 How to use FX10 (Prof. Ohshima) 6/6 Dynamic Parallelism (Prof. Peri) SIMD / Shared Memory 10. GPU and CUDA 11. SIMD Performance Parallel Numerical Algorithms / IST / UTokyo 2

3 Scheduling Window Curtain Design Base Build Door Lock Complete Furniture Carpet Parallel Numerical Algorithms / IST / UTokyo 3

4 In Parallel Computing Problem Analyze Locality Choose Algorithm Define Subtasks Analyze Parallelism Scheduling Algorithm Assign tasks to processors Order tasks in computations Parallel Numerical Algorithms / IST / UTokyo 4

5 Definitions Set of Tasks or Jobs TT 1, TT 2,, TT nn nn represents number of tasks ii and jj are used for task indices Set of Processors or Machines PP 1, PP 2,, PP mm mm represents the number of processors pp and qq are used for processor indices pp iiii : Processing Time of task ii on processor pp Parallel Numerical Algorithms / IST / UTokyo 5

6 Processor Types Identical Processors (P) pp iiii = pp ii Processing time is same for all processors Uniform Processors (Q) pp iiii = ww ii /ss pp ww ii : Work of task ii ss pp : Speed of processor pp Unrelated Processors (R) No restrictions on pp iiii pp iiii = means, processor pp cannot compute task ii Homogeneous Heterogeneous Parallel Numerical Algorithms / IST / UTokyo 6

7 Processor Types Examples Q (uniform) P (identical) TT 11 TT 22 TT 33 PP PP PP TT 11 TT 22 TT 33 PP PP PP R (unrelated) TT 11 TT 22 TT 33 PP PP PP Parallel Numerical Algorithms / IST / UTokyo 7

8 Precedence Precedence TT ii TT jj Task jj cannot start before task ii finishes TT ii TT jj time Independent Tasks There is no precedence constraints among the tasks Parallel Numerical Algorithms / IST / UTokyo 8

9 Schedule A schedule consists of: Task Assignment Which processor computes each task Task Ordering In which order each processor computes assigned tasks Must meet all constraints Completion Time CC ii Time when the task ii finishes Makespan or Schedule Length CC mmmmmm CC mmmmmm = max{cc ii } Parallel Numerical Algorithms / IST / UTokyo 9

10 1 Gantt Chart pp CC 1 CC 4 CC 6 CC 8 0 CC 7 Parallel Numerical Algorithms / IST / UTokyo 10

11 Graham s Notation αα ββ γγ αα : processor type P for identical parallel processors Q for uniform parallel processors R for unrelated parallel processors Number of processors may be specified ββ : constraints Empty for independent tasks prec for existence of precedence constraints Other constraints can be inserted here γγ : criterion CC mmmmmm for (minimizing) makespan Parallel Numerical Algorithms / IST / UTokyo 11

12 PP CC mmmmmm Independent tasks on identical parallel processors No need of ordering: only assignment Theorem: PP2 CC mmmmmm is NP-hard There are 2 nn possible assignments Approximate algorithms! Parallel Numerical Algorithms / IST / UTokyo 12

13 List Scheduling PP CC mmmmmm Put tasks into a list Assign task to processor, one by one Assign the task to the processor that can start it at earliest time Parallel Numerical Algorithms / IST / UTokyo 13

14 List Scheduling PP CC mmmmmm What happens if the last task is long? Parallel Numerical Algorithms / IST / UTokyo 14

15 LPT PP CC mmmmmm Longest Processing Time first Sort tasks in decreasing order of processing time Parallel Numerical Algorithms / IST / UTokyo 15

16 How good? PP CC mmmmmm Let makespan by LPT be CC LLLLLL Let the optimal makespan be CC oooooo (unknown) Theorem (Graham): LPT for PP CC mmmmmm gives CC LLLLLL mm CC oooooo Only 33% worse than the optimal Coefficient is called Worse-Case Performance Ratio There are algorithms of better performance ratios Parallel Numerical Algorithms / IST / UTokyo 16

17 PP pppppppp CC mmmmmm List scheduling Now we cannot sort the tasks by their length List must consistent with precedence relation Parallel Numerical Algorithms / IST / UTokyo 17

18 How good? PP pppppppp CC mmmmmm Theorem (Graham): Any list scheduling for PP pppppppp CC mmmmmm gives CC llllllll 2 1 mm CC oooooo Not worse than twice of the optimal Parallel Numerical Algorithms / IST / UTokyo 18

19 PP iiiiiiiiiiii, pp jj = 1 CC mmmmmm The processing time of all the tasks are equal (UET : Unit Execution Time) Precedence graph is a tree (in-tree or out-tree) Parallel Numerical Algorithms / IST / UTokyo 19

20 Level and Critical Path Length of a path = sum of processing times Level of a task = length of the path from the task to the end task Critical Path = longest path Level 5 Level 4 Level 3 Level 2 Level 1 Parallel Numerical Algorithms / IST / UTokyo 20

21 Level Scheduling repeat All predecessors have been finished Make a list of Ready Tasks sorted by levels Assign first mm tasks to the processors Remove assigned tasks until all tasks have been scheduled Parallel Numerical Algorithms / IST / UTokyo 21

22 Level Scheduling repeat All predecessors have been finished Make a list of Ready Tasks sorted by levels Assign first mm tasks to the processors Remove assigned tasks until all tasks have been scheduled Parallel Numerical Algorithms / IST / UTokyo 22

23 Level Scheduling repeat All predecessors have been finished Make a list of Ready Tasks sorted by levels Assign first mm tasks to the processors Remove assigned tasks until all tasks have been scheduled Parallel Numerical Algorithms / IST / UTokyo 23

24 Level Scheduling repeat All predecessors have been finished Make a list of Ready Tasks sorted by levels Assign first mm tasks to the processors Remove assigned tasks until all tasks have been scheduled Parallel Numerical Algorithms / IST / UTokyo 24

25 Level Scheduling repeat All predecessors have been finished Make a list of Ready Tasks sorted by levels Assign first mm tasks to the processors Remove assigned tasks until all tasks have been scheduled Parallel Numerical Algorithms / IST / UTokyo 25

26 UET results Level Scheduling (Hu s Algorithm) is optimal for PP iiiiiiiiiiii, pp jj = 1 CC mmmmmm and PP oooooooooooooo, pp jj = 1 CC mmmmmm PPP pppppppp, pp jj = 1 CC mmmmmm can be solved in OO nn 2 PP pppppppp, pp jj = 1 CC mmmmmm is NP-hard PP pp jj = 1 CC mmmmmm is trivial Parallel Numerical Algorithms / IST / UTokyo 26

27 5 minutes break Parallel Numerical Algorithms / IST / UTokyo 27

28 Clustering approach Second major approach (next to list scheduling) Theorem: PPP pppppppp CC mmmmmm is solvable in polynomial time Infinite processors: use as many processors as we need Makespan is determined by the critical path Assign a critical to a processor, etc. Parallel Numerical Algorithms / IST / UTokyo 28

29 Some Techniques Task insertion In list scheduling If there is an idle time slot for a task, then insert the task (so the order of tasks is different from the list) Task duplication Communication time can be reduced Without duplication With duplication Parallel Numerical Algorithms / IST / UTokyo 29

30 Heterogeneous Processors PPPP, QQQQ or RRRR mm is arbitrary but fixed (treated as a constant) Q: Uniform processors QQQQ CC mmmmmm : FPTAS exists QQ CC mmmmmm : LPT is approx.; PTAS exists QQ pppppppp CC mmmmmm : an OO log mm -approx. algorithm (F)PTAS: (Fully) Polynomial Time Approximation Scheme R: Unrelated processors RRRR CC mmmmmm : FPTAS exists RR CC mmmmmm : a 2-approx. algorithm exists RR pppppppp CC mmmmmm : almost no theoretical result, many heuristics such as MH, GDL, BIL, HEFT and LDBS Parallel Numerical Algorithms / IST / UTokyo 30

31 Online Scheduling All of the tasks are not always known a priori Dynamic scheduling (in HPC terminology) Several versions of problem definitions Competitive Ratio ρρ Worst case ratio of the resulting makespan to optimal (omniscient) makespan PP pppppppp, oooooooooooo CC mmmmmm : list scheduling ρρ = 2 1 mm QQ oooooooooooo CC mmmmmm : an algorithm ρρ = 5.8 RR oooooooooooo CC mmmmmm : an algorithm ρρ = OO log mm Parallel Numerical Algorithms / IST / UTokyo 31

32 Simpler models as task scheduling is so hard Parallel Numerical Algorithms / IST / UTokyo 32

33 Divisible Load Theory Assume: tasks are identical and really many Approximate it as if a continuous material You can divide the task into arbitrary size Communication time is proportional to task size Usually Manager-Worker Model as follows Parallel Numerical Algorithms / IST / UTokyo 33

34 Single-round scheme Manager send send send Worker1 recv Worker2 recv Worker3 recv Optimal solution: all processors completes at the same time Closed formula can be derived Parallel Numerical Algorithms / IST / UTokyo 34

35 Multi-round scheme Manager Worker1 Worker2 Worker3 Worker can start earlier, better than single round Hard to optimize: number of rounds, task sizes Parallel Numerical Algorithms / IST / UTokyo 35

36 Repeat identical rounds Manager Prologue Steady-state rounds Epilogue kk = 4 Worker1 Worker2 Worker3 Schedule steady-state rounds so that it takes time CC oooooo /kk + αα (kk: number of rounds, αα: constant) Total makespan CC mmmmmm 1 + 1/kk CC oooooo + kkkk By letting kk = CC oooooo αα, we have CC mmmmmm CC oooooo = 1 + OO 1 CC oooooo Parallel Numerical Algorithms / IST / UTokyo 36

37 Loop Scheduling Almost identical tasks, but time varies a little 1. Equal sized subtasks time variation 2. Divide tasks into many chunks, and use dynamic assignment subtask overheads Parallel Numerical Algorithms / IST / UTokyo 37

38 Loop Scheduling 3. Divide task into decreasing size of subtasks Guided Self Scheduling Chunk size = remaining size / num. processors Factoring Chunk size = remaining size / (αα num. processors) αα: constant 2 Parallel Numerical Algorithms / IST / UTokyo 38

39 Summary Task scheduling Combinatorial problem, NP-hard in many cases Good approximate algorithms with guaranteed performance exist There is much room to improve Simpler models Divisible Load Theory, and Loop scheduling Rough approximation, but practically useful Parallel Numerical Algorithms / IST / UTokyo 39

40 Proof of Graham s Theorem Th: Let CC max and CC oooooo be makespans of list scheduling and minimum for a PP CC max problem. Then CC mmmmmm 2 1 mm CC oooooo Proof: Let pp tttttt = ii pp ii be the sum of execution times. As it is processed by mm processors, it takes at least pp tttttt /mm, which implies pp tttttt /mm CC oooooo Let TT ll be the task that completes last: CC ll = CC mmmmmm. Starting time of TT ll is SS ll = CC mmmmmm pp ll. Before SS ll, there were no idle processor, otherwise TT ll could start earlier. So all processors were busy till SS ll to process tasks other than TT ll. So we have mmss ll pp tttttt pp ll. Of course we have CC mmmmmm pp ll. Combining these inequalities we have the result we want. Parallel Numerical Algorithms / IST / UTokyo 40

41 Optimality of Hu s algorithm Hu s algorithm gives optimal schedule for PP iiii tttttttt, pp jj = 1 CC mmmmmm. Proof: Note that the number of ready tasks monotonically decreases. At some time, the number of ready tasks becomes less than mm. After that, it continues to be less than mm, and the highest level decreases by one for each step. Before that, all processors are busy, so there is no way to reduce the time. (incomplete) Parallel Numerical Algorithms / IST / UTokyo 41

42 PNA16 Lecture Plan General Topics 1. Architecture and Performance 2. Dependency 3. Locality 4. Scheduling MIMD / Distributed Memory 5. MPI: Message Passing Interface 6. Collective Communication 7. Distributed Data Structure MIMD / Shared Memory 8. OpenMP 9. Cache Performance Special Lectures 5/30 How to use FX10 (Prof. Ohshima) 6/6 Dynamic Parallelism (Prof. Peri) SIMD / Shared Memory 10. GPU and CUDA 11. SIMD Performance Parallel Numerical Algorithms / IST / UTokyo 42

Parallel Numerical Algorithms

Parallel Numerical Algorithms Parallel Numerical Algorithms http://sudalab.is.s.u-tokyo.ac.jp/~reiji/pna16/ [ 9 ] Shared Memory Performance Parallel Numerical Algorithms / IST / UTokyo 1 PNA16 Lecture Plan General Topics 1. Architecture

More information

Scheduling on clusters and grids

Scheduling on clusters and grids Some basics on scheduling theory Grégory Mounié, Yves Robert et Denis Trystram ID-IMAG 6 mars 2006 Some basics on scheduling theory 1 Some basics on scheduling theory Notations and Definitions List scheduling

More information

Parallel Numerical Algorithms

Parallel Numerical Algorithms Parallel Numerical Algorithms http://sudalabissu-tokyoacjp/~reiji/pna16/ [ 5 ] MPI: Message Passing Interface Parallel Numerical Algorithms / IST / UTokyo 1 PNA16 Lecture Plan General Topics 1 Architecture

More information

Similar Polygons Date: Per:

Similar Polygons Date: Per: Math 2 Unit 6 Worksheet 1 Name: Similar Polygons Date: Per: [1-2] List the pairs of congruent angles and the extended proportion that relates the corresponding sides for the similar polygons. 1. AA BB

More information

Section 6: Triangles Part 1

Section 6: Triangles Part 1 Section 6: Triangles Part 1 Topic 1: Introduction to Triangles Part 1... 125 Topic 2: Introduction to Triangles Part 2... 127 Topic 3: rea and Perimeter in the Coordinate Plane Part 1... 130 Topic 4: rea

More information

Parallel Numerical Algorithms

Parallel Numerical Algorithms Parallel Numerical Algorithms http://sudalab.is.s.u-tokyo.ac.jp/~reiji/pna16/ [ 8 ] OpenMP Parallel Numerical Algorithms / IST / UTokyo 1 PNA16 Lecture Plan General Topics 1. Architecture and Performance

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Given an NP-hard problem, what should be done? Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one of three desired features. Solve problem to optimality.

More information

Spectrum Collaboration Challenge

Spectrum Collaboration Challenge Spectrum Collaboration Challenge Preliminary Event 1 DRAFT Scoring Procedures October 31, 2017 Defense Advanced Research Projects Agency 675 North Randolph Street Arlington, VA 22203 1 Revision Summary

More information

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018 CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved.

More information

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory CSC2420 Fall 2012: Algorithm Design, Analysis and Theory Allan Borodin September 20, 2012 1 / 1 Lecture 2 We continue where we left off last lecture, namely we are considering a PTAS for the the knapsack

More information

Eureka Math. Grade 7, Module 6. Student File_A. Contains copy-ready classwork and homework

Eureka Math. Grade 7, Module 6. Student File_A. Contains copy-ready classwork and homework A Story of Ratios Eureka Math Grade 7, Module 6 Student File_A Contains copy-ready classwork and homework Published by the non-profit Great Minds. Copyright 2015 Great Minds. No part of this work may be

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 29 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/7/2016 Approximation

More information

INDIAN INSTITUTE OF TECHNOLOGY GUWAHATI

INDIAN INSTITUTE OF TECHNOLOGY GUWAHATI INDIAN INSTITUTE OF TECHNOLOGY GUWAHATI COMPUTER SCIENCE AND ENGINEERING Course: CS341 (Operating System), Model Solution Mid Semester Exam 1. [System Architecture, Structure, Service and Design: 5 Lectures

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Sequence alignment is an essential concept for bioinformatics, as most of our data analysis and interpretation techniques make use of it.

Sequence alignment is an essential concept for bioinformatics, as most of our data analysis and interpretation techniques make use of it. Sequence Alignments Overview Sequence alignment is an essential concept for bioinformatics, as most of our data analysis and interpretation techniques make use of it. Sequence alignment means arranging

More information

Lecture 9: Load Balancing & Resource Allocation

Lecture 9: Load Balancing & Resource Allocation Lecture 9: Load Balancing & Resource Allocation Introduction Moler s law, Sullivan s theorem give upper bounds on the speed-up that can be achieved using multiple processors. But to get these need to efficiently

More information

The History of I/O Models Erik Demaine

The History of I/O Models Erik Demaine The History of I/O Models Erik Demaine MASSACHUSETTS INSTITUTE OF TECHNOLOGY Memory Hierarchies in Practice CPU 750 ps Registers 100B Level 1 Cache 100KB Level 2 Cache 1MB 10GB 14 ns Main Memory 1EB-1ZB

More information

Approximation Basics

Approximation Basics Milestones, Concepts, and Examples Xiaofeng Gao Department of Computer Science and Engineering Shanghai Jiao Tong University, P.R.China Spring 2015 Spring, 2015 Xiaofeng Gao 1/53 Outline History NP Optimization

More information

Coping with NP-Completeness

Coping with NP-Completeness Coping with NP-Completeness Siddhartha Sen Questions: sssix@cs.princeton.edu Some figures obtained from Introduction to Algorithms, nd ed., by CLRS Coping with intractability Many NPC problems are important

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005

More information

Lecture 2. 1 Introduction. 2 The Set Cover Problem. COMPSCI 632: Approximation Algorithms August 30, 2017

Lecture 2. 1 Introduction. 2 The Set Cover Problem. COMPSCI 632: Approximation Algorithms August 30, 2017 COMPSCI 632: Approximation Algorithms August 30, 2017 Lecturer: Debmalya Panigrahi Lecture 2 Scribe: Nat Kell 1 Introduction In this lecture, we examine a variety of problems for which we give greedy approximation

More information

Lecture 3.3 Robust estimation with RANSAC. Thomas Opsahl

Lecture 3.3 Robust estimation with RANSAC. Thomas Opsahl Lecture 3.3 Robust estimation with RANSAC Thomas Opsahl Motivation If two perspective cameras captures an image of a planar scene, their images are related by a homography HH 2 Motivation If two perspective

More information

Eureka Math. Geometry, Module 4. Student File_B. Contains Exit Ticket, and Assessment Materials

Eureka Math. Geometry, Module 4. Student File_B. Contains Exit Ticket, and Assessment Materials A Story of Functions Eureka Math Geometry, Module 4 Student File_B Contains Exit Ticket, and Assessment Materials Published by the non-profit Great Minds. Copyright 2015 Great Minds. No part of this work

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Subhash Suri June 5, 2018 1 Figure of Merit: Performance Ratio Suppose we are working on an optimization problem in which each potential solution has a positive cost, and we want

More information

A Level-wise Priority Based Task Scheduling for Heterogeneous Systems

A Level-wise Priority Based Task Scheduling for Heterogeneous Systems International Journal of Information and Education Technology, Vol., No. 5, December A Level-wise Priority Based Task Scheduling for Heterogeneous Systems R. Eswari and S. Nickolas, Member IACSIT Abstract

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS Coping with NP-completeness 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: weighted vertex cover LP rounding: weighted vertex cover generalized load balancing knapsack problem

More information

Visit MathNation.com or search "Math Nation" in your phone or tablet's app store to watch the videos that go along with this workbook!

Visit MathNation.com or search Math Nation in your phone or tablet's app store to watch the videos that go along with this workbook! Topic 1: Introduction to Angles - Part 1... 47 Topic 2: Introduction to Angles Part 2... 50 Topic 3: Angle Pairs Part 1... 53 Topic 4: Angle Pairs Part 2... 56 Topic 5: Special Types of Angle Pairs Formed

More information

EECS 203 Spring 2016 Lecture 8 Page 1 of 6

EECS 203 Spring 2016 Lecture 8 Page 1 of 6 EECS 203 Spring 2016 Lecture 8 Page 1 of 6 Algorithms (3.1-3.3) Algorithms are a huge topic. In CSE we have 2 theory classes purely dedicated to algorithms (EECS 477 and EECS 586) and a number of classes

More information

Section 1: Introduction to Geometry Points, Lines, and Planes

Section 1: Introduction to Geometry Points, Lines, and Planes Section 1: Introduction to Geometry Points, Lines, and Planes Topic 1: Basics of Geometry - Part 1... 3 Topic 2: Basics of Geometry Part 2... 5 Topic 3: Midpoint and Distance in the Coordinate Plane Part

More information

Scheduling. Job Shop Scheduling. Example JSP. JSP (cont.)

Scheduling. Job Shop Scheduling. Example JSP. JSP (cont.) Scheduling Scheduling is the problem of allocating scarce resources to activities over time. [Baker 1974] Typically, planning is deciding what to do, and scheduling is deciding when to do it. Generally,

More information

Start of Lecture: February 10, Chapter 6: Scheduling

Start of Lecture: February 10, Chapter 6: Scheduling Start of Lecture: February 10, 2014 1 Reminders Exercise 2 due this Wednesday before class Any questions or comments? 2 Scheduling so far First-Come-First Serve FIFO scheduling in queue without preempting

More information

Gaussian Mixture Models For Clustering Data. Soft Clustering and the EM Algorithm

Gaussian Mixture Models For Clustering Data. Soft Clustering and the EM Algorithm Gaussian Mixture Models For Clustering Data Soft Clustering and the EM Algorithm K-Means Clustering Input: Observations: xx ii R dd ii {1,., NN} Number of Clusters: kk Output: Cluster Assignments. Cluster

More information

Scheduling Algorithms in Large Scale Distributed Systems

Scheduling Algorithms in Large Scale Distributed Systems Scheduling Algorithms in Large Scale Distributed Systems Prof.dr.ing. Florin Pop University Politehnica of Bucharest, Faculty of Automatic Control and Computers (ACS-UPB) National Institute for Research

More information

CMPSCI611: Approximating SET-COVER Lecture 21

CMPSCI611: Approximating SET-COVER Lecture 21 CMPSCI611: Approximating SET-COVER Lecture 21 Today we look at two more examples of approximation algorithms for NP-hard optimization problems. The first, for the SET-COVER problem, has an approximation

More information

Chapter 3. Planning and Scheduling. Chapter Objectives. Check off these skills when you feel that you have mastered them.

Chapter 3. Planning and Scheduling. Chapter Objectives. Check off these skills when you feel that you have mastered them. Chapter Objectives Check off these skills when you feel that you have mastered them. State the assumptions for the scheduling model. Compute the lower bound on the completion time for a list of independent

More information

Section 4: Introduction to Polygons Part 1

Section 4: Introduction to Polygons Part 1 Section 4: Introduction to Polygons Part 1 Topic 1: Introduction to Polygons Part 1... 85 Topic 2: Introduction to Polygons Part 2... 88 Topic 3: ngles of Polygons... 90 Topic 4: Translation of Polygons...

More information

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph. Trees 1 Introduction Trees are very special kind of (undirected) graphs. Formally speaking, a tree is a connected graph that is acyclic. 1 This definition has some drawbacks: given a graph it is not trivial

More information

n Given: n set of resources/machines M := {M 1 n satisfies constraints n minimizes objective function n Single-Stage:

n Given: n set of resources/machines M := {M 1 n satisfies constraints n minimizes objective function n Single-Stage: Scheduling Scheduling is the problem of allocating scarce resources to activities over time. [Baker 1974] Typically, planning is deciding what to do, and scheduling is deciding when to do it. Generally,

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005

More information

Event-Driven Scheduling. (closely following Jane Liu s Book)

Event-Driven Scheduling. (closely following Jane Liu s Book) Event-Driven Scheduling (closely following Jane Liu s Book) Real-Time Systems, 2006 Event-Driven Systems, 1 Principles Assign priorities to Jobs At events, jobs are scheduled according to their priorities

More information

TRIGONOMETRY. T.1 Angles and Degree Measure

TRIGONOMETRY. T.1 Angles and Degree Measure 1 TRIGONOMETRY Trigonometry is the branch of mathematics that studies the relations between the sides and angles of triangles. The word trigonometry comes from the Greek trigōnon (triangle) and metron

More information

CSE373: Data Structures & Algorithms Lecture 17: Hash Collisions. Kevin Quinn Fall 2015

CSE373: Data Structures & Algorithms Lecture 17: Hash Collisions. Kevin Quinn Fall 2015 CSE373: Data Structures & Algorithms Lecture 17: Hash Collisions Kevin Quinn Fall 2015 Hash Tables: Review Aim for constant-time (i.e., O(1)) find, insert, and delete On average under some reasonable assumptions

More information

Unit 1. Name. Basics of Geometry Part 1. 2 Section 1: Introduction to Geometry Points, Lines and Planes

Unit 1. Name. Basics of Geometry Part 1. 2 Section 1: Introduction to Geometry Points, Lines and Planes Name Period Date Points, lines, and planes are the building blocks of geometry. What is geometry? Unit 1 Basics of Geometry Part 1 Geometry means, and it involves the properties of points, lines, planes

More information

recruitment Logo Typography Colourways Mechanism Usage Pip Recruitment Brand Toolkit

recruitment Logo Typography Colourways Mechanism Usage Pip Recruitment Brand Toolkit Logo Typography Colourways Mechanism Usage Primary; Secondary; Silhouette; Favicon; Additional Notes; Where possible, use the logo with the striped mechanism behind. Only when it is required to be stripped

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Sanjit A. Seshia UC Berkeley EECS 9/9A Fall 0 008-0: E. A. Lee, A. L. Sangiovanni-Vincentelli, S. A. Seshia. All rights reserved. Chapter : Operating Systems, Microkernels,

More information

15-854: Approximations Algorithms Lecturer: Anupam Gupta Topic: Direct Rounding of LP Relaxations Date: 10/31/2005 Scribe: Varun Gupta

15-854: Approximations Algorithms Lecturer: Anupam Gupta Topic: Direct Rounding of LP Relaxations Date: 10/31/2005 Scribe: Varun Gupta 15-854: Approximations Algorithms Lecturer: Anupam Gupta Topic: Direct Rounding of LP Relaxations Date: 10/31/2005 Scribe: Varun Gupta 15.1 Introduction In the last lecture we saw how to formulate optimization

More information

Similarity and Model Testing

Similarity and Model Testing Similarity and Model Testing 11. 5. 014 Hyunse Yoon, Ph.D. Assistant Research Scientist IIHR-Hydroscience & Engineering e-mail: hyun-se-yoon@uiowa.edu Modeling Model: A representation of a physical system

More information

Mechanism Synthesis. Introduction: Design of a slider-crank mechanism

Mechanism Synthesis. Introduction: Design of a slider-crank mechanism Mechanism Synthesis Introduction: Mechanism synthesis is the procedure by which upon identification of the desired motion a specific mechanism (synthesis type), and appropriate dimensions of the linkages

More information

Course Introduction. Scheduling: Terminology and Classification

Course Introduction. Scheduling: Terminology and Classification Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 1 Course Introduction. Scheduling: Terminology and Classification 1. Course Introduction 2. Scheduling Problem Classification Marco Chiarandini

More information

Denis TRYSTRAM Grenoble INP - IUF (labo LIG) octobre, 2013

Denis TRYSTRAM Grenoble INP - IUF (labo LIG) octobre, 2013 Coopération en Informatique Parallèle Denis TRYSTRAM Grenoble INP - IUF (labo LIG) octobre, 2013 1 / 84 Outline 1 Introduction: parallelism and resource management 2 Classical Scheduling 3 Strip Packing

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

3D Modelling: Animation Fundamentals & Unit Quaternions

3D Modelling: Animation Fundamentals & Unit Quaternions 3D Modelling: Animation Fundamentals & Unit Quaternions CITS3003 Graphics & Animation Thanks to both Richard McKenna and Marco Gillies for permission to use their slides as a base. Static objects are boring

More information

Polynomial Functions I

Polynomial Functions I Name Student ID Number Group Name Group Members Polnomial Functions I 1. Sketch mm() =, nn() = 3, ss() =, and tt() = 5 on the set of aes below. Label each function on the graph. 15 5 3 1 1 3 5 15 Defn:

More information

Cryptography CS 555. Topic 8: Modes of Encryption, The Penguin and CCA security

Cryptography CS 555. Topic 8: Modes of Encryption, The Penguin and CCA security Cryptography CS 555 Topic 8: Modes of Encryption, The Penguin and CCA security 1 Reminder: Homework 1 Due on Friday at the beginning of class Please typeset your solutions 2 Recap Pseudorandom Functions

More information

Aperiodic Task Scheduling

Aperiodic Task Scheduling Aperiodic Task Scheduling Radek Pelánek Preemptive Scheduling: The Problem 1 processor arbitrary arrival times of tasks preemption performance measure: maximum lateness no resources, no precedence constraints

More information

PLB-HeC: A Profile-based Load-Balancing Algorithm for Heterogeneous CPU-GPU Clusters

PLB-HeC: A Profile-based Load-Balancing Algorithm for Heterogeneous CPU-GPU Clusters PLB-HeC: A Profile-based Load-Balancing Algorithm for Heterogeneous CPU-GPU Clusters IEEE CLUSTER 2015 Chicago, IL, USA Luis Sant Ana 1, Daniel Cordeiro 2, Raphael Camargo 1 1 Federal University of ABC,

More information

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time

More information

Lecture 2 The k-means clustering problem

Lecture 2 The k-means clustering problem CSE 29: Unsupervised learning Spring 2008 Lecture 2 The -means clustering problem 2. The -means cost function Last time we saw the -center problem, in which the input is a set S of data points and the

More information

Applied Algorithm Design Lecture 3

Applied Algorithm Design Lecture 3 Applied Algorithm Design Lecture 3 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 1 / 75 PART I : GREEDY ALGORITHMS Pietro Michiardi (Eurecom) Applied Algorithm

More information

Parallel Numerical Algorithms

Parallel Numerical Algorithms Parallel Numerical Algorithms http://sudalab.is.s.u-tokyo.ac.jp/~reiji/pna14/ [ 10 ] GPU and CUDA Parallel Numerical Algorithms / IST / UTokyo 1 PNA16 Lecture Plan General Topics 1. Architecture and Performance

More information

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017 CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017 Reading: Section 9.2 of DPV. Section 11.3 of KT presents a different approximation algorithm for Vertex Cover. Coping

More information

Introduction to High-Performance Computing

Introduction to High-Performance Computing Introduction to High-Performance Computing Simon D. Levy BIOL 274 17 November 2010 Chapter 12 12.1: Concurrent Processing High-Performance Computing A fancy term for computers significantly faster than

More information

DDS Dynamic Search Trees

DDS Dynamic Search Trees DDS Dynamic Search Trees 1 Data structures l A data structure models some abstract object. It implements a number of operations on this object, which usually can be classified into l creation and deletion

More information

TORSCHE SCHEDULING TOOLBOX: LIST SCHEDULING

TORSCHE SCHEDULING TOOLBOX: LIST SCHEDULING TORSCHE SCHEDULING TOOLBOX: LIST SCHEDULING STIBOR MILOSLAV, KUTIL MICHAL Department of Control Engineering, Czech Technical University in Prague, Technicka 2, 166 27 Prague 6, Czech Republic phone: +420

More information

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS)

COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section (CLRS) COMP 355 Advanced Algorithms Approximation Algorithms: VC and TSP Chapter 11 (KT) Section 35.1-35.2(CLRS) 1 Coping with NP-Completeness Brute-force search: This is usually only a viable option for small

More information

Simplified design flow for embedded systems

Simplified design flow for embedded systems Simplified design flow for embedded systems 2005/12/02-1- Reuse of standard software components Knowledge from previous designs to be made available in the form of intellectual property (IP, for SW & HW).

More information

CSC2420: Algorithm Design, Analysis and Theory Fall 2017

CSC2420: Algorithm Design, Analysis and Theory Fall 2017 CSC2420: Algorithm Design, Analysis and Theory Fall 2017 Allan Borodin and Nisarg Shah September 13, 2017 1 / 1 Lecture 1 Course Organization: 1 Sources: No one text; lots of sources including specialized

More information

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

Optimally Scheduling Small Numbers of Identical Parallel Machines

Optimally Scheduling Small Numbers of Identical Parallel Machines Proceedings of the Twenty-Third International Conference on Automated Planning and Scheduling Optimally Scheduling Small Numbers of Identical Parallel Machines Richard E. Korf and Ethan L. Schreiber Computer

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 22.1 Introduction We spent the last two lectures proving that for certain problems, we can

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Subhash Suri November 27, 2017 1 Bin Packing Algorithms A classical problem, with long and interesting history. One of the early problems shown to be intractable. Lends to simple

More information

Parallel Job Scheduling

Parallel Job Scheduling Parallel Job Scheduling Lectured by: Nguyễn Đức Thái Prepared by: Thoại Nam -1- Scheduling on UMA Multiprocessors Schedule: allocation of tasks to processors Dynamic scheduling A single queue of ready

More information

Advanced Algorithms. On-line Algorithms

Advanced Algorithms. On-line Algorithms Advanced Algorithms On-line Algorithms 1 Introduction Online Algorithms are algorithms that need to make decisions without full knowledge of the input. They have full knowledge of the past but no (or partial)

More information

LIST BASED SCHEDULING ALGORITHM FOR HETEROGENEOUS SYSYTEM

LIST BASED SCHEDULING ALGORITHM FOR HETEROGENEOUS SYSYTEM LIST BASED SCHEDULING ALGORITHM FOR HETEROGENEOUS SYSYTEM C. Subramanian 1, N.Rajkumar 2, S. Karthikeyan 3, Vinothkumar 4 1 Assoc.Professor, Department of Computer Applications, Dr. MGR Educational and

More information

BRANDING AND STYLE GUIDELINES

BRANDING AND STYLE GUIDELINES BRANDING AND STYLE GUIDELINES INTRODUCTION The Dodd family brand is designed for clarity of communication and consistency within departments. Bold colors and photographs are set on simple and clean backdrops

More information

Robust Linear Regression (Passing- Bablok Median-Slope)

Robust Linear Regression (Passing- Bablok Median-Slope) Chapter 314 Robust Linear Regression (Passing- Bablok Median-Slope) Introduction This procedure performs robust linear regression estimation using the Passing-Bablok (1988) median-slope algorithm. Their

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A new 4 credit unit course Part of Theoretical Computer Science courses at the Department of Mathematics There will be 4 hours

More information

Solving Linear Recurrence Relations (8.2)

Solving Linear Recurrence Relations (8.2) EECS 203 Spring 2016 Lecture 18 Page 1 of 10 Review: Recurrence relations (Chapter 8) Last time we started in on recurrence relations. In computer science, one of the primary reasons we look at solving

More information

Chapter 5: Distributed Process Scheduling. Ju Wang, 2003 Fall Virginia Commonwealth University

Chapter 5: Distributed Process Scheduling. Ju Wang, 2003 Fall Virginia Commonwealth University Chapter 5: Distributed Process Scheduling CMSC 602 Advanced Operating Systems Static Process Scheduling Dynamic Load Sharing and Balancing Real-Time Scheduling Section 5.2, 5.3, and 5.5 Additional reading:

More information

FINAL EXAM REVIEW CH Determine the most precise name for each quadrilateral.

FINAL EXAM REVIEW CH Determine the most precise name for each quadrilateral. FINAL EXAM REVIEW CH 6 1. Determine the most precise name for each quadrilateral. 2. Find the measures of the numbered angle for the following parallelogram a. A(-5,7), B(2,6), C(-4,0), D(5,-3) 1 3 2 35

More information

Polynomial Approximation and Interpolation Chapter 4

Polynomial Approximation and Interpolation Chapter 4 4.4 LAGRANGE POLYNOMIALS The direct fit polynomial presented in Section 4.3, while quite straightforward in principle, has several disadvantages. It requires a considerable amount of effort to solve the

More information

Fresnel Reflection. angle of transmission. Snell s law relates these according to the

Fresnel Reflection. angle of transmission. Snell s law relates these according to the Fresnel Reflection 1. Reflectivity of polarized light The reflection of a polarized beam of light from a dielectric material such as air/glass was described by Augustin Jean Fresnel in 1823. While his

More information

Analysis and Experimental Study of Heuristics for Job Scheduling Reoptimization Problems

Analysis and Experimental Study of Heuristics for Job Scheduling Reoptimization Problems Analysis and Experimental Study of Heuristics for Job Scheduling Reoptimization Problems Elad Iwanir and Tami Tamir Abstract Many real-life applications involve systems that change dynamically over time.

More information

On the Max Coloring Problem

On the Max Coloring Problem On the Max Coloring Problem Leah Epstein Asaf Levin May 22, 2010 Abstract We consider max coloring on hereditary graph classes. The problem is defined as follows. Given a graph G = (V, E) and positive

More information

Low Latency Clustering & Mapping Algorithm with Task Duplication Technique on Cluster-Based NoC

Low Latency Clustering & Mapping Algorithm with Task Duplication Technique on Cluster-Based NoC Low Latency Clustering & Mapping Algorithm with Task Duplication Technique on Cluster-Based NoC Fangfa Fu, Yuxin Bai, Xin an Hu, Jinxiang Wang, Mingyan Yu Abstract A Clustering & Mapping (CM) Algorithm,

More information

8 Matroid Intersection

8 Matroid Intersection 8 Matroid Intersection 8.1 Definition and examples 8.2 Matroid Intersection Algorithm 8.1 Definitions Given two matroids M 1 = (X, I 1 ) and M 2 = (X, I 2 ) on the same set X, their intersection is M 1

More information

Transform Extreme Point Multi-Objective Linear Programming Problem to Extreme Point Single Objective Linear Programming Problem by Using Harmonic Mean

Transform Extreme Point Multi-Objective Linear Programming Problem to Extreme Point Single Objective Linear Programming Problem by Using Harmonic Mean Applied Mathematics 2016, 6(5): 95-99 DOI: 10.5923/j.am.20160605.01 Transform Extreme Point Multi-Objective Linear Programming Problem to Extreme Point Single Objective Linear Programming Problem by Using

More information

Announcements. CSEP 521 Applied Algorithms. Announcements. Polynomial time efficiency. Definitions of efficiency 1/14/2013

Announcements. CSEP 521 Applied Algorithms. Announcements. Polynomial time efficiency. Definitions of efficiency 1/14/2013 Announcements CSEP 51 Applied Algorithms Richard Anderson Winter 013 Lecture Reading Chapter.1,. Chapter 3 Chapter Homework Guidelines Prove that your algorithm works A proof is a convincing argument Give

More information

CS6841: Advanced Algorithms IIT Madras, Spring 2016 Lecture #1: Properties of LP Optimal Solutions + Machine Scheduling February 24, 2016

CS6841: Advanced Algorithms IIT Madras, Spring 2016 Lecture #1: Properties of LP Optimal Solutions + Machine Scheduling February 24, 2016 CS6841: Advanced Algorithms IIT Madras, Spring 2016 Lecture #1: Properties of LP Optimal Solutions + Machine Scheduling February 24, 2016 Lecturer: Ravishankar Krishnaswamy Scribe: Anand Kumar(CS15M010)

More information

Equivalence between miles and kilometres. 8km 5 miles

Equivalence between miles and kilometres. 8km 5 miles Equivalence between miles and kilometres 8km 5 miles Fraction, decimal and percentage equivalents Vertically opposite angles Fraction Decimal Percentage 2 0.5 50 0. 3 33. 3 3 4 5 8 0 Vertically opposite

More information

Pearls of Algorithms

Pearls of Algorithms Part 3: Randomized Algorithms and Probabilistic Analysis Prof. Dr. Institut für Informatik Winter 2013/14 Efficient Algorithms When is an algorithm considered efficient? Efficient Algorithms When is an

More information

COMP 322: Fundamentals of Parallel Programming. Lecture 3: Multiprocessor Scheduling

COMP 322: Fundamentals of Parallel Programming. Lecture 3: Multiprocessor Scheduling COMP 322: Fundamentals of Parallel Programming Lecture 3: Multiprocessor Scheduling Instructors: Vivek Sarkar, Mack Joyner Department of Computer Science, Rice University {vsarkar, mjoyner}@rice.edu http://comp322.rice.edu

More information

Figure : Example Precedence Graph

Figure : Example Precedence Graph CS787: Advanced Algorithms Topic: Scheduling with Precedence Constraints Presenter(s): James Jolly, Pratima Kolan 17.5.1 Motivation 17.5.1.1 Objective Consider the problem of scheduling a collection of

More information

BRAND STANDARD GUIDELINES 2014

BRAND STANDARD GUIDELINES 2014 BRAND STANDARD GUIDELINES 2014 LOGO USAGE & TYPEFACES Logo Usage The Lackawanna College School of Petroleum & Natural Gas logo utilizes typography, two simple rule lines and the Lackawanna College graphic

More information

Local-Deadline Assignment for Distributed Real-Time Systems

Local-Deadline Assignment for Distributed Real-Time Systems Local-Deadline Assignment for Distributed Real-Time Systems Shengyan Hong, Thidapat Chantem, Member, IEEE, and Xiaobo Sharon Hu, Senior Member, IEEE Abstract In a distributed real-time system (DRTS), jobs

More information

1 Overview. 2 Applications of submodular maximization. AM 221: Advanced Optimization Spring 2016

1 Overview. 2 Applications of submodular maximization. AM 221: Advanced Optimization Spring 2016 AM : Advanced Optimization Spring 06 Prof. Yaron Singer Lecture 0 April th Overview Last time we saw the problem of Combinatorial Auctions and framed it as a submodular maximization problem under a partition

More information

Chapter 16. Greedy Algorithms

Chapter 16. Greedy Algorithms Chapter 16. Greedy Algorithms Algorithms for optimization problems (minimization or maximization problems) typically go through a sequence of steps, with a set of choices at each step. A greedy algorithm

More information

Foundations of Computing

Foundations of Computing Foundations of Computing Darmstadt University of Technology Dept. Computer Science Winter Term 2005 / 2006 Copyright c 2004 by Matthias Müller-Hannemann and Karsten Weihe All rights reserved http://www.algo.informatik.tu-darmstadt.de/

More information

CPU-GPU Heterogeneous Computing

CPU-GPU Heterogeneous Computing CPU-GPU Heterogeneous Computing Advanced Seminar "Computer Engineering Winter-Term 2015/16 Steffen Lammel 1 Content Introduction Motivation Characteristics of CPUs and GPUs Heterogeneous Computing Systems

More information