Apollo Weize Sun Feb.17th, 2017.

Slides:



Advertisements
Similar presentations
© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
Advertisements

Big Data + SDN SDN Abstractions. The Story Thus Far Different types of traffic in clusters Background Traffic – Bulk transfers – Control messages Active.
Scheduling in Distributed Systems Gurmeet Singh CS 599 Lecture.
Copyright 2007, Information Builders. Slide 1 Workload Distribution for the Enterprise Mark Nesson, Vashti Ragoonath June, 2008.
Quincy: Fair Scheduling for Distributed Computing Clusters Microsoft Research Silicon Valley SOSP’09 Presented at the Big Data Reading Group by Babu Pillai.
The Role of Software Engineering Brief overview of relationship of SE to managing DSD risks 1.
Why static is bad! Hadoop Pregel MPI Shared cluster Today: static partitioningWant dynamic sharing.
Fall 2008Parallel Query Scheduling1. Fall 2008Parallel Query Scheduling2 Query Processing Queries submitted to the system are queued up and processed.
GridFlow: Workflow Management for Grid Computing Kavita Shinde.
Tao Yang, UCSB CS 240B’03 Unix Scheduling Multilevel feedback queues –128 priority queues (value: 0-127) –Round Robin per priority queue Every scheduling.
Supporting Time-sensitive Application on a Commodity OS Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, Jonathan Walpole Presented by Wen Sun Some Slides.
1 Service Scheduler in a Trustworthy Web Server Yinong Chen.
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
Informationsteknologi Tuesday, October 9, 2007Computer Systems/Operating Systems - Class 141 Today’s class Scheduling.
1 Operating Systems Ch An Overview. Architecture of Computer Hardware and Systems Software Irv Englander, John Wiley, Bare Bones Computer.
Dynamic Process Allocation in Apache Server Yu Cai.
DIANE Overview Germán Carrera, Alfredo Solano (CNB/CSIC) EMBRACE COURSE Monday 19th of February to Friday 23th. CNB-CSIC Madrid.
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-3 CPU Scheduling Department of Computer Science and Software Engineering.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
Sun Grid Engine. Grids Grids are collections of resources made available to customers. Compute grids make cycles available to customers from an access.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
1 Quincy: Fair Scheduling for Distributed Computing Clusters Michael Isard, Vijayan Prabhakaran, Jon Currey, Udi Wieder, Kunal Talwar, and Andrew Goldberg.
Production Activity Control
1 Distributed Process Scheduling: A System Performance Model Vijay Jain CSc 8320, Spring 2007.
Meta Scheduling Sathish Vadhiyar Sources/Credits/Taken from: Papers listed in “References” slide.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Combining the strengths of UMIST and The Victoria University of Manchester Utility Driven Adaptive Workflow Execution Kevin Lee School of Computer Science,
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
임규찬. 1. Abstract 2. Introduction 3. Design Goals 4. Sample-Based Scheduling for Parallel Jobs 5. Implements.
SOFTWARE / HARDWARE PARTITIONING TECHNIQUES SHaPES: A New Approach.
CE Operating Systems Lecture 7 Threads & Introduction to CPU Scheduling.
A Utility-based Approach to Scheduling Multimedia Streams in P2P Systems Fang Chen Computer Science Dept. University of California, Riverside
Using Map-reduce to Support MPMD Peng
Nanco: a large HPC cluster for RBNI (Russell Berrie Nanotechnology Institute) Anne Weill – Zrahia Technion,Computer Center October 2008.
Billy Timlen Mentor: Imran Saleemi.  Goal: Have an optimal matching  Given: List of key-points in each image/frame, Matrix of weights between nodes.
Virtualization and Databases Ashraf Aboulnaga University of Waterloo.
CS 484 Load Balancing. Goal: All processors working all the time Efficiency of 1 Distribute the load (work) to meet the goal Two types of load balancing.
DISTRIBUTED COMPUTING
Scalable and Coordinated Scheduling for Cloud-Scale computing
Static Process Scheduling
Pipelined and Parallel Computing Partition for 1 Hongtao Du AICIP Research Nov 3, 2005.
CDP Tutorial 3 Basics of Parallel Algorithm Design uses some of the slides for chapters 3 and 5 accompanying “Introduction to Parallel Computing”, Addison.
CSE 153 Design of Operating Systems Winter 2015 Midterm Review.
Lecture Topics: 11/15 CPU scheduling: –Scheduling goals and algorithms.
Ensieea Rizwani An energy-efficient management mechanism for large-scale server clusters By: Zhenghua Xue, Dong, Ma, Fan, Mei 1.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks InGRID: A Generic Autonomous Expert System.
MSF and MAGE: e-Science Middleware for BT Applications Sep 21, 2006 Jaeyoung Choi Soongsil University, Seoul Korea
Process Scheduling. Scheduling Strategies Scheduling strategies can broadly fall into two categories  Co-operative scheduling is where the currently.
Aalo Efficient Coflow Scheduling Without Prior Knowledge Mosharaf Chowdhury, Ion Stoica UC Berkeley.
Workload Management Workpackage
TensorFlow– A system for large-scale machine learning
SDN Network Updates Minimum updates within a single switch
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
Introduction to Load Balancing:
EEE Embedded Systems Design Process in Operating Systems 서강대학교 전자공학과
Chapter 10 Data Analytics for IoT
Simulation.
Apollo Weize Sun, Mar.10th, 2017.
Resource Elasticity for Large-Scale Machine Learning
Project Organization Chart Roles & Responsibilities Matrix
Mach Kernel Kris Ambrose Kris Ambrose 2003.
湖南大学-信息科学与工程学院-计算机与科学系
CPU scheduling decisions may take place when a process:
Laura Bright David Maier Portland State University
Boltzmann Machine (BM) (§6.4)
CS703 - Advanced Operating Systems
Shortest-Job-First (SJR) Scheduling
CSE 153 Design of Operating Systems Winter 2019
Inside the Database Engine
Inside the Database Engine
Presentation transcript:

Apollo Weize Sun Feb.17th, 2017

Critical properties of Apollo Distributed and coordinated scheduling framework Assign tasks to server with minimal estimated completion time Provide near-future states of servers Correction mechanism Opportunistic scheduling

Capacity Management and tokens Apollo uses a token-based mechanism. Each token is defined as a right to execute a task with predefined amount of resource. The more tokens a job has, the more tasks it can run.

Architectural Overview

Job Manager (Scheduler) Every JM is responsible for one job Receive global cluster information from the collaboration of RM and PNs

Process Node Manages a queue of tasks assigned to the server The cooperation between PNs and JM: When JM give a task to PN, it passes resource requirements, estimated time, required files to PN. PN provides feedbacks to JM to help improve accuracy of task runtime estimation.

Resource Monitor Provide global view of cluster status Collect information from PNs Build wait-time matrix Note: RM is not critical If RM is unfortunately down, it will not hurt the Apollo implementation too much. JM can still make a locally optimal decision based on the feedback of PNs

Task Priority and Stable matching JM will analysis the DAG of each task JM makes independent scheduling designs, and pick the best one. Note: breakdown of some scheduling does not hurt the overall optimal decision making JM use stable matching to limit the search space. What if two JMs make decision that has collision?

Correction Mechanism Unlike other systems, Apollo implements the correction process after the task is dispatched to the server. JM will reassign the task to the server if the wait time is too greater than estimated or a much better pattern is designed Apollo also use randomization to reduce the collision Apollo adds weight to different wait time matrix to check the accuracy.

Opportunistic Scheduling There are two kinds of tasks in Apollo– regular tasks & opportunistic tasks Apollo adapts randomized allocation Apollo runs regular tasks first, and uses the rest resources to run opportunistic tasks Resource Regular Tasks Opportunistic Tasks