Mapping Heuristics in Heterogeneous Computing

Similar documents
A Novel Task Scheduling Algorithm for Heterogeneous Computing

Grid Scheduler. Grid Information Service. Local Resource Manager L l Resource Manager. Single CPU (Time Shared Allocation) (Space Shared Allocation)

LIST BASED SCHEDULING ALGORITHM FOR HETEROGENEOUS SYSYTEM

A Level-wise Priority Based Task Scheduling for Heterogeneous Systems

Incorporating Data Movement into Grid Task Scheduling

Study of an Iterative Technique to Minimize Completion Times of Non-Makespan Machines

HETEROGENEOUS COMPUTING

Skewness-Based Min-Min Max-Min Heuristic for Grid Task Scheduling

Clustering based Max-Min Scheduling in Cloud Environment

An Experimental Investigation into the Rank Function of the Heterogeneous Earliest Finish Time Scheduling Algorithm

Simple Scheduling Algorithm with Load Balancing for Grid Computing

Scalable Computing: Practice and Experience Volume 8, Number 3, pp

Static Batch Mode Heuristic Algorithm for Mapping Independent Tasks in Computational Grid

Dynamic Resource Allocation Heuristics for Maximizing Robustness with an Overall Makespan Constraint in an Uncertain Environment

Curriculum Vitae Shoukat Ali

Linear Programming Based Affinity Scheduling for Heterogeneous Computing Systems

QoS Guided Min-Mean Task Scheduling Algorithm for Scheduling Dr.G.K.Kamalam

TODAY S computing systems are often heterogeneous

Grid Scheduling Strategy using GA (GSSGA)

Curriculum Vitae Shoukat Ali

An Improved Heft Algorithm Using Multi- Criterian Resource Factors

CLOUD WORKFLOW SCHEDULING BASED ON STANDARD DEVIATION OF PREDICTIVE RESOURCE AVAILABILITY

Load balancing with Modify Approach Ranjan Kumar Mondal 1, Enakshmi Nandi 2, Payel Ray 3, Debabrata Sarddar 4

Processing Identical Workflows on SOA Grids: Comparison of Three Approaches

A Duplication Based List Scheduling Genetic Algorithm for Scheduling Task on Parallel Processors

Processor Allocation for Tasks that is Robust Against Errors in Computation Time Estimates

Techniques for mapping tasks to machines in heterogeneous computing systems q

Comparative Study of Static Task Scheduling Algorithms for Heterogeneous Systems

Measuring the Robustness of Resource Allocations in a Stochastic Dynamic Environment

Dept of Comp. Sci & IT,Jamal Mohamed College(Autonomous), Trichirappalli, TN, India.

OPTIMIZED SCHEDULING OF TASKS USING HEURISTIC APPROACH WITH COST-EFFICIENCY IN CLOUD DATA CENTERS

ROBUST RESOURCE ALLOCATION IN HETEROGENEOUS PARALLEL AND DISTRIBUTED COMPUTING SYSTEMS INTRODUCTION

Scheduling Directed A-cyclic Task Graphs on a Bounded Set of Heterogeneous Processors Using Task Duplication

PERFOMANCE EVALUATION OF RESOURCE SCHEDULING TECHNIQUES IN CLUSTER COMPUTING

Australian Journal of Basic and Applied Sciences. Resource Fitness Task Scheduling Algorithm for Scheduling Tasks on Heterogeneous Grid Environment

Extended List Based HEFT Scheduling using BGA in Multiprocessor System

A Static Tasks Assignment For Grid Computing

FAIR RESOURCE SHARING FOR DYNAMIC SCHEDULING OF WORKFLOWS ON HETEROGENEOUS SYSTEMS

Chapter 16. Greedy Algorithms

UTILIZATION-BASED TECHNIQUES FOR STATICALLY MAPPING HETEROGENEOUS APPLICATIONS ONTO THE HIPER-D HETEROGENEOUS COMPUTING SYSTEM

A Dynamic Matching and Scheduling Algorithm for Heterogeneous Computing Systems

COMPARATIVE EVALUATION OF THE ROBUSTNESS OF DAG SCHEDULING HEURISTICS

Tasks Scheduling using Ant Colony Optimization

Models and Heuristics for Robust Resource Allocation in Parallel and Distributed Computing Systems

Workflow Scheduling Using Heuristics Based Ant Colony Optimization

A static mapping heuristics to map parallel applications to heterogeneous computing systems

Open Access LoBa-Min-Min-SPA: Grid Resources Scheduling Algorithm Based on Load Balance Using SPA

Dynamic Scheduling of Multi-Processor Tasks on Clusters of Clusters

Meta-heuristically Seeded Genetic Algorithm for Independent Job Scheduling in Grid Computing

Reference Point Based Evolutionary Approach for Workflow Grid Scheduling

SCHEDULING WORKFLOWS WITH BUDGET CONSTRAINTS

Scheduling tasks sharing files on heterogeneous master-slave platforms

Dynamic Task-Scheduling in Grid Computing using Prioritized Round Robin Algorithm

Task Scheduling Techniques for Minimizing Energy Consumption and Response Time in Cloud Computing

Scheduling directed a-cyclic task graphs on a bounded set of heterogeneous processors using task duplication

Controlled duplication for scheduling real-time precedence tasks on heterogeneous multiprocessors

Scheduling Tasks Sharing Files from Distributed Repositories

Scheduling on clusters and grids

High Reliable and Efficient Three Layer Cloud Dispatching Architecture in the Heterogeneous Cloud Computing Environment

APPENDIX C ADDITIONAL THEORETICAL RESULTS

A Task Scheduling Method for Data Intensive Jobs in Multicore Distributed System

Implementation of Dynamic Level Scheduling Algorithm using Genetic Operators

SIMULATION OF ADAPTIVE APPLICATIONS IN HETEROGENEOUS COMPUTING ENVIRONMENTS

THE space-based weather monitoring system considered

Complexity results for throughput and latency optimization of replicated and data-parallel workflows

PERFORMANCE ANALYSIS BASED RESOURCE ALLOCATION, DAFT AND PAYMENT MINIMIZATION FOR CLOUD COMPUTING

DYNAMIC AND ADAPTIVE WORKFLOW EXECUTION PLATFORM FOR SYMBOLIC COMPUTATIONS. Marc E. FRÎNCU, Georgiana MACARIU, Alexandru CÂRSTEA

7 Workflow Scheduling Algorithms for Grid Computing

SELF-CONSTRAINED RESOURCE ALLOCATION PROCEDURES FOR PARALLEL TASK GRAPH SCHEDULING ON SHARED COMPUTING GRIDS

Improved MACO approach for grid scheduling

DYNAMIC RESOURCE MANGEMENT USING ADAPTIVE WORKFLOW SCHEDULING AND NETWORK SECURITY VIRTUALIZATION TECHNOLOGY (NSVT) IN GRID COMPUTING

List-Based Task Scheduling for Cloud Computing

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

CS3733: Operating Systems

Proactive Economical Task Scheduling Algorithm for Grid

Performance Enhancement of Scheduling Algorithm in Heterogeneous Distributed Computing Systems

Multiprocessor Scheduling Using Task Duplication Based Scheduling Algorithms: A Review Paper

A resource-aware scheduling algorithm with reduced task duplication on heterogeneous computing systems

An Approach to Improve Task Scheduling in a Decentralized Cloud Computing Environment

Optimization Of Matching and Scheduling On Heterogeneous CPU/FPGA Architectures

LOW AND HIGH LEVEL HYBRIDIZATION OF ANT COLONY SYSTEM AND GENETIC ALGORITHM FOR JOB SCHEDULING IN GRID COMPUTING

Contention-Aware Scheduling with Task Duplication

Chapter 6: CPU Scheduling

Complexity Results for Throughput and Latency Optimization of Replicated and Data-parallel Workflows

A STUDY OF BNP PARALLEL TASK SCHEDULING ALGORITHMS METRIC S FOR DISTRIBUTED DATABASE SYSTEM Manik Sharma 1, Dr. Gurdev Singh 2 and Harsimran Kaur 3

Real-time operating systems and scheduling

The New Approach for Solving Task Scheduling in Cloud Computing Environment Using Combination of Genetic Algorithm and Tabu Search

Efficient Dynamic Heuristic Task Scheduling Algorithm for Commercial Cloud Environment

Greedy Algorithms CHAPTER 16

A Dynamic Critical Path Algorithm for Scheduling Scientific Workflow Applications on Global Grids

Principles of Parallel Algorithm Design: Concurrency and Decomposition

ETS: An Efficient Task Scheduling Algorithm for Grid Computing

Energy-aware task scheduling in heterogeneous computing environments

Scheduling Meta-tasks in Distributed Heterogeneous Computing Systems: A Meta-Heuristic Particle Swarm Optimization Approach

Robust Resource Allocation of DAGs in a Heterogeneous Multicore System

Toward the joint design of electronic and optical layer protection

Multiphase Scalable Grid Scheduler Based on Multi-QoS Using Min-Min Heuristic

A Min-Min Average Algorithm for Scheduling Transaction-Intensive Grid Workflows

Creating Meaningful Training Data for Dicult Job Shop Scheduling Instances for Ordinal Regression

Lecture 9: Load Balancing & Resource Allocation

Transcription:

Mapping Heuristics in Heterogeneous Computing Alexandru Samachisa Dmitriy Bekker Multiple Processor Systems (EECC756) May 18, 2006 Dr. Shaaban

Overview Introduction Mapping overview Homogenous computing vs. heterogeneous computing Task mapping heuristics (for HC) Overview (static, dynamic, online, batch) DAG used in examples Performance metrics Selected algorithms HEFT, CPOP, MCT, Min-min, Max-min, Sufferage Conclusion

Mapping Overview Mapping (matching and scheduling) of processes onto processors Goal Assign process to best suited machine Maximize performance NP-complete Heuristics exist to optimize mapping performance p 0 p 1 p 2 p 3 Parallel program M a p p i n g Best heuristic to use depends on Static or dynamic? Task arrival rate Number of tasks P 0 P 1 P 2 P 3 Processors

Homogenous vs. Heterogeneous Computing Homogenous computing Best for fixed task grain size (most common) Mapping much simpler in homogenous computing Known task size Support for single mode of parallelism Custom architecture Heterogeneous computing (HC) Known task execution time on any node In HC Task size and machine performance varies Variable task grain size Support for multiple modes of parallelism Mapping heuristic must find optimal (or sub-optimal) machine for each task Machines in cluster may be different

Mapping Heuristics Static Mapping Performed at compile time (off-line) Expected Time to Compute (ETC) is known for all tasks Dynamic Mapping Performed at run-time ETC only known for currently mapping tasks Two modes On-line (one task mapped at a time) Batch (acquire a number of tasks into meta-task and then map)

DAG used in examples

Performance Metrics Expected execution time (EET) Assumes no load on system Expected completion time (ECT) ECT = begin time + EET Makespan (maximum ECT) Average sharing penalty Based on waiting time of task Good measure of quality of service Schedule length ratio (SLR) Makespan normalized to sum of minimum computation costs on minimum critical path (for static mapping)

HEFT and CPOP Both static algorithms (know whole DAG) Prioritize based on ranks (recursive) Upward rank Downward rank

HEFT Goal: schedule task on best processor, minimize finish time Gives each task in the graph a priority based on the communication costs and computation (decreasing upward rank) Iterate through the tasks based on priority and assign the process with the earliest finish time for the task Complexity: O(ep) e = edges p = processors Order n 2 complexity for very dense graphs (n is number of tasks) n1 n3 n4 n2 n6 n5 n7 n8 n9 n10 0 10 20 30 50 60 70 80 90

CPOP Similar to HEFT Prioritizes the tasks based on communication and computation cost (summation of upward and downward ranks) Determines critical path processor (minimized cumulative computation costs of tasks on path) Assign critical path task to critical path processor If task not in critical path, assign it to processor which minimizes earliest execution finish time Same complexity as HEFT: O(ep) 0 10 20 30 50 60 70 80 90 n1 n2 n3 n4 n5 n7 n6 n8 n9 n10

On-line mode Each task is assigned as soon as received Usually easy to implement since the selection is based on a simple criteria Heuristics: Minimum completion time, minimum execution time, switching algorithm, K-percent best, etc. The on-line heuristics usually need O(m) time to assign the process

MCT 0 n1 N1 14 16 9 10 N3 45 44 34 27 44 37 20 30 n3 n7 n4 n6 n2 n5 N6 45 42 N7 N8 62 80 57 61 71 50 n8 N9 68 69 70 60 n9 N10 89 Assigns each task on arrival to the process that yields the MCT for that task Complexity: O(m) 88 97 70 80 90 n10

Batch mode The batch mode heuristics assume that tasks are independent The set of independent tasks that is being processed is called a Metatask All tasks get remapped at every mapping interval Our assumptions: Each level of dependency is constitutes a meta-task Once a task is assigned, it will not be remapped at the next mapping event Meta-task 1 Meta-task 2 Meta-task 3 Meta-task 4

Min-min (meta-task 2) n1 0 N3 31 34 27 28 N3 34 36 37 n4 n6 n5 10 20 33 19 28 n3 30 N6 36 18 n2 36 N3 34 47 n7 n8 50 N3 31 34 33 37 35 28 Complexity: O(S 2 m) per meta-task, where m is the number of machines and S is the number of tasks in the meta-task 45 n9 n10 60 70 80 90

Max-min (meta-task 2) 0 N3 34 27 28 53 45 n1 10 31 52 33 38 n3 20 N6 36 33 19 18 N6 53 37 n2 n5 n6 30 n4 n7 31 33 45 38 53 52 33 54 47 n8 50 60 N6 36 37 53 41 54 70 Complexity: O(S 2 m) per meta-task, where m is the number of machines and S is the number of tasks in the meta-task n9 n10 80 90

Sufferage (meta-task 2) N3 N6 N3 31 36 31 34 33 34 33 27 28 19 18 36 37 35 28 S 13 4 0 13 18 S 4 2 5 4 Complexity: O(S 2 m) per meta-task, where m is the number of machines and S is the number of tasks in the meta-task N3 45 44 45 36 37 28 36 28 S 4 7 4 S 9 11 S 1 0 10 20 30 50 60 70 80 90 n1 n6 n4 n5 n3 n2 n8 n7 n9 n10

Conclusion The static mapping heuristics tend to be dropped in favor of the dynamic ones due to their advantages The on-line heuristics are the easiest ones to implement and usually have good results when compared to other dynamic mapping heuristics The batch heuristics are harder to implement, and they also can present the problem of task starvation need to add an aging mechanism to solve this issue Which dynamic heuristics to use when? On-line when task arrival rate is low (tasks mapped immediately) Batch when task arrival rate is high (group tasks into metatasks, then map them)

Conclusion cont d The performance results for the example shown here does not reflect the actual performances of the presented heuristics However, the selected heuristics are among the best performing ones in their categories Mapping on heterogeneous systems is a lot more complex (if done correctly) than on homogenous systems

References T. D. Braun, H. J. Siegel, N. Beck, L. Boloni, M. Maheswaran, A. I. Reuther, J. P. Robertson, M. D. Theys, B. Yao, R. F. Freund, and D. Hensgen, A Comparison Study of Static Mapping Heuristics for a Class of Metatasks on Heterogeneous Computing Systems, 8th IEEE Heterogeneous Computing Workshop (HCW 99), Apr. 1999. M. Maheswaran, A. Shoukat, H. J. Siegel, D. Hensgen, and R. F. Freund, Dynamic Matching and Scheduling of a Class of Independent Tasks onto Heterogeneous Computing Systems, 8th IEEE Heterogeneous Computing Workshop (HCW 99), Apr. 1999. M. Shaaban, EECC756 Lecture Slides, Spring 2006. H. Topcuoglu, S. Hariri, M. Wu, Performance-effective and Low-complexity Task Scheduling for Heterogeneous Computing, IEEE Transaction on Parallel and Distributed Systems, vol. 13, no. 3, pp. 0 274, March 2002.