Miquel Angel Senar Unitat d’Arquitectura de Computadors i Sistemes Operatius Universitat Autònoma de Barcelona Self-Adjusting.

Slides:



Advertisements
Similar presentations
Operations Scheduling
Advertisements

© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
Practical techniques & Examples
LIBRA: Lightweight Data Skew Mitigation in MapReduce
SLA-Oriented Resource Provisioning for Cloud Computing
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Fundamentals of Python: From First Programs Through Data Structures
PARALLEL PROCESSING COMPARATIVE STUDY 1. CONTEXT How to finish a work in short time???? Solution To use quicker worker. Inconvenient: The speed of worker.
CISC October Goals for today: Foster’s parallel algorithm design –Partitioning –Task dependency graph Granularity Concurrency Collective communication.
Distributed Computations
High Performance Computing 1 Parallelization Strategies and Load Balancing Some material borrowed from lectures of J. Demmel, UC Berkeley.
Parallel Computation in Biological Sequence Analysis Xue Wu CMSC 838 Presentation.
Customized Dynamic Load Balancing for a Network of Workstations Taken from work done by: Mohammed Javeed Zaki, Wei Li, Srinivasan Parthasarathy Computer.
Advanced Topics: MapReduce ECE 454 Computer Systems Programming Topics: Reductions Implemented in Distributed Frameworks Distributed Key-Value Stores Hadoop.
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Introduction to Parallel Programming MapReduce Except where otherwise noted all portions of this work are Copyright (c) 2007 Google and are licensed under.
UAB Dynamic Monitoring and Tuning in Multicluster Environment Genaro Costa, Anna Morajko, Paola Caymes Scutari, Tomàs Margalef and Emilio Luque Universitat.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
DLS on Star (Single-level tree) Networks Background: A simple network model for DLS is the star network with a master-worker platform. It consists of a.
Xiao Liu CS3 -- Centre for Complex Software Systems and Services Swinburne University of Technology, Australia Key Research Issues in.
المحاضرة الاولى Operating Systems. The general objectives of this decision explain the concepts and the importance of operating systems and development.
MapReduce M/R slides adapted from those of Jeff Dean’s.
Performance David Monismith Jan. 16, 2015 Based on notes from Dr. Bill Siever and from the Patterson and Hennessy Text.
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
1 Using SchedFlow for Performance Evaluation of Workflow Applications Barton P. Miller University of Wisconsin Elisa Heyman Gustavo Martínez.
The Owner Share scheduler for a distributed system 2009 International Conference on Parallel Processing Workshops Reporter: 李長霖.
BOF: Megajobs Gracie: Grid Resource Virtualization and Customization Infrastructure How to execute hundreds of thousands tasks concurrently on distributed.
A Node and Load Allocation Algorithm for Resilient CPSs under Energy-Exhaustion Attack Tam Chantem and Ryan M. Gerdes Electrical and Computer Engineering.
UAB Dynamic Tuning of Master/Worker Applications Anna Morajko, Paola Caymes Scutari, Tomàs Margalef, Eduardo Cesar, Joan Sorribes and Emilio Luque Universitat.
Lecture 4 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
An Energy-efficient Task Scheduler for Multi-core Platforms with per-core DVFS Based on Task Characteristics Ching-Chi Lin Institute of Information Science,
SECTION 5: PERFORMANCE CHRIS ZINGRAF. OVERVIEW: This section measures the performance of MapReduce on two computations, Grep and Sort. These programs.
MW: A framework to support Master Worker Applications Sanjeev R. Kulkarni Computer Sciences Department University of Wisconsin-Madison
Scheduling MPI Workflow Applications on Computing Grids Juemin Zhang, Waleed Meleis, and David Kaeli Electrical and Computer Engineering Department, Northeastern.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Multiprocessor Systems Distributed.
Dynamic Tuning of Parallel Programs with DynInst Anna Morajko, Tomàs Margalef, Emilio Luque Universitat Autònoma de Barcelona Paradyn/Condor Week, March.
CSE 340 Computer Architecture Summer 2016 Understanding Performance.
Resource Specification Prediction Model Richard Huang joint work with Henri Casanova and Andrew Chien.
Applied Operating System Concepts
Chapter 1: Introduction
OpenPBS – Distributed Workload Management System
Chapter 1: Introduction
Chapter 1: Introduction
Parallel Programming By J. H. Wang May 2, 2017.
Parallel Algorithm Design
Chapter 1: Introduction
Chapter 1: Introduction
CSCE 212 Chapter 4: Assessing and Understanding Performance
Chapter 1: Introduction
Parallel Programming in C with MPI and OpenMP
湖南大学-信息科学与工程学院-计算机与科学系
CS110: Discussion about Spark
Operating System Concepts
Chap. 7 Regularization for Deep Learning (7.8~7.12 )
Chapter 1: Introduction
CPU SCHEDULING.
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Scheduling for MW applications
Chapter 1: Introduction
Parallel Programming in C with MPI and OpenMP
Operating System Overview
CS703 – Advanced Operating Systems
Operating System Concepts
Chapter 1: Introduction
IEEE Aerospace Conference 2019 Rob Richards, Ph.D.
Presentation transcript:

Miquel Angel Senar Unitat d’Arquitectura de Computadors i Sistemes Operatius Universitat Autònoma de Barcelona Self-Adjusting Scheduling of Master-Worker Applications on Opportunistic Environments

Self-Adjusting Scheduling of Master-Worker Applications Problem Backgroung › Parallel Application that follows the master-worker model › A master process is assigned several batches of tasks › The master process allocates worker processes to solve each batch › Batches are solved iteratively

Self-Adjusting Scheduling of Master-Worker Applications A simple example: an image thinning application Original 10 It. Latter 36 It. Latter

Self-Adjusting Scheduling of Master-Worker Applications Master Process Divides Image Workers Compute Concurrently Master Aggregates Image Image Thinning as a Master-Worker Application!

Self-Adjusting Scheduling of Master-Worker Applications Running the application with MW + Condor-PVM master tasks worker results worker PVM

Self-Adjusting Scheduling of Master-Worker Applications Challenges of master-worker applications › Task scheduling › Number of workers › Dealing with heterogeneous processor › Impact of preemption

Self-Adjusting Scheduling of Master-Worker Applications Our Self-Adjusting Strategy › Dynamically measures application performance and task execution times › Predicts the resource requirements from measured history › Schedules tasks on the resources according to that prediction in order to minimize the completion time of the application › Voluntary relinquishes resources when they are not plentifully utilized › Allocates more resources whenever a significant loss in speedup is detected.

Self-Adjusting Scheduling of Master-Worker Applications Influence of Task Scheduling

Self-Adjusting Scheduling of Master-Worker Applications How does our strategy work (1)? › Collects task execution times at each iteration › Sorts tasks according to their average execution time (Prediction) › At each iteration, tasks are scheduled according following the order of that list

Self-Adjusting Scheduling of Master-Worker Applications Influence of the Number of Workers

Self-Adjusting Scheduling of Master-Worker Applications Influence of the Number of Workers

Self-Adjusting Scheduling of Master-Worker Applications How does our strategy work (2)?  Initially, allocates 1 Worker per Task  Reduces the number of workers to  Allocates 1 more Worker if (ExecutionTime > (Largest Task + Threshold))  Releases 1 Worker if (Efficiency < 0.8)

Self-Adjusting Scheduling of Master-Worker Applications Sample Result: No. of Workers  Self-Adjusting  Non Self-Adjusting

Self-Adjusting Scheduling of Master-Worker Applications  Self-Adjusting  Non Self-Adjusting Sample Result: Efficiency

Self-Adjusting Scheduling of Master-Worker Applications Sample Result: Execution Time  Self-Adjusting  Non Self-Adjusting

Self-Adjusting Scheduling of Master-Worker Applications Dealing with heterogeneity › Problem: wall clock time reflects application code and resource performance › Master and Worker machines have a performance normalization factor  (i). (Benchmarking) › Task scheduling decisions are based on normalized task execution times (user time multiplied by  ’s) › Worker allocation decisions are based on wall clock time measured at the master process

Self-Adjusting Scheduling of Master-Worker Applications Dealing with heterogeneity  Self-Adjusting  Non Self-Adjusting

Self-Adjusting Scheduling of Master-Worker Applications Dealing with Preemption We expect this This is what happens And this is what we get

Self-Adjusting Scheduling of Master-Worker Applications Dealing with Preemption › SOLUTION (still working on it): Using extra machines › Complete Replication (extra machines running a copy of one of the largest tasks) usually performs better than No Replication › Every extra machines has a negative impact on overall efficiency (between 3% and 8%) › CR with 2 extra machines exhibits a good trade-off if one machine is lost at every iteration.

Self-Adjusting Scheduling of Master-Worker Applications And coming soon… delays

Miquel Angel Senar Unitat d’Arquitectura de Computadors i Sistemes Operatius Universitat Autònoma de Barcelona Self-Adjusting Scheduling of Master-Worker Applications on Opportunistic Environments