1 Coscheduling in Clusters: Is it a Viable Alternative? Gyu Sang Choi, Jin-Ha Kim, Deniz Ersoz, Andy B. Yoo, Chita R. Das Presented by: Richard Huang.

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Multiple Processor Systems
Energy-efficient Task Scheduling in Heterogeneous Environment 2013/10/25.
CGrid 2005, slide 1 Empirical Evaluation of Shared Parallel Execution on Independently Scheduled Clusters Mala Ghanesh Satish Kumar Jaspal Subhlok University.
Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
CHAPTER 2 PROCESSOR SCHEDULING PART I By U ğ ur HALICI.
Introduction CSCI 444/544 Operating Systems Fall 2008.
Chapter 5 Processes and Threads Copyright © 2008.
Effectively Utilizing Global Cluster Memory for Large Data-Intensive Parallel Programs John Oleszkiewicz, Li Xiao, Yunhao Liu IEEE TRASACTION ON PARALLEL.
Chapter 2: Processes Topics –Processes –Threads –Process Scheduling –Inter Process Communication (IPC) Reference: Operating Systems Design and Implementation.
Chapter 9 – Real Memory Organization and Management
1: Operating Systems Overview
Memory Management 1 CS502 Spring 2006 Memory Management CS-502 Spring 2006.
CS-3013 & CS-502, Summer 2006 Memory Management1 CS-3013 & CS-502 Summer 2006.
Chapter 11 Operating Systems
5: CPU-Scheduling1 Jerry Breecher OPERATING SYSTEMS SCHEDULING.
Informationsteknologi Tuesday, October 9, 2007Computer Systems/Operating Systems - Class 141 Today’s class Scheduling.
Operating System Process Scheduling (Ch 4.2, )
The hybird approach to programming clusters of multi-core architetures.
Authors: Tong Li, Dan Baumberger, David A. Koufaty, and Scott Hahn [Systems Technology Lab, Intel Corporation] Source: 2007 ACM/IEEE conference on Supercomputing.
Simulation of Memory Management Using Paging Mechanism in Operating Systems Tarek M. Sobh and Yanchun Liu Presented by: Bei Wang University of Bridgeport.
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-3 CPU Scheduling Department of Computer Science and Software Engineering.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Lecture 5 Operating Systems.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
1. Memory Manager 2 Memory Management In an environment that supports dynamic memory allocation, the memory manager must keep a record of the usage of.
Lecture 2 Process Concepts, Performance Measures and Evaluation Techniques.
CS 153 Design of Operating Systems Spring 2015 Lecture 11: Scheduling & Deadlock.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Improving Capacity and Flexibility of Wireless Mesh Networks by Interface Switching Yunxia Feng, Minglu Li and Min-You Wu Presented by: Yunxia Feng Dept.
E X C E E D I N G E X P E C T A T I O N S Time Mgt Linux System Administration Dr. Hoganson Kennesaw State University OS Time Management Time management.
Challenges towards Elastic Power Management in Internet Data Center.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
1 Multiprocessor and Real-Time Scheduling Chapter 10 Real-Time scheduling will be covered in SYSC3303.
1 University of Maryland Linger-Longer: Fine-Grain Cycle Stealing in Networks of Workstations Kyung Dong Ryu © Copyright 2000, Kyung Dong Ryu, All Rights.
CPU Scheduling CSCI 444/544 Operating Systems Fall 2008.
April 26, CSE8380 Parallel and Distributed Processing Presentation Hong Yue Department of Computer Science & Engineering Southern Methodist University.
1 Scheduling The part of the OS that makes the choice of which process to run next is called the scheduler and the algorithm it uses is called the scheduling.
Performance Prediction for Random Write Reductions: A Case Study in Modelling Shared Memory Programs Ruoming Jin Gagan Agrawal Department of Computer and.
1 Process Scheduling in Multiprocessor and Multithreaded Systems Matt Davis CS5354/7/2003.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster computers –shared memory model ( access nsec) –message passing multiprocessor.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
DynamicMR: A Dynamic Slot Allocation Optimization Framework for MapReduce Clusters Nanyang Technological University Shanjiang Tang, Bu-Sung Lee, Bingsheng.
Design Issues of Prefetching Strategies for Heterogeneous Software DSM Author :Ssu-Hsuan Lu, Chien-Lung Chou, Kuang-Jui Wang, Hsiao-Hsi Wang, and Kuan-Ching.
An Energy-Efficient MAC Protocol for Wireless Sensor Networks Speaker: hsiwei Wei Ye, John Heidemann and Deborah Estrin. IEEE INFOCOM 2002 Page
Scalable and Coordinated Scheduling for Cloud-Scale computing
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
Operating Systems: Summary INF1060: Introduction to Operating Systems and Data Communication.
CPU Scheduling Operating Systems CS 550. Last Time Deadlock Detection and Recovery Methods to handle deadlock – Ignore it! – Detect and Recover – Avoidance.
Scheduling.
Memory Management.
OPERATING SYSTEMS CS 3502 Fall 2017
Processes and threads.
Copyright ©: Nahrstedt, Angrave, Abdelzaher
Copyright ©: Nahrstedt, Angrave, Abdelzaher
Operating Systems (CS 340 D)
Processes and Threads Processes and their scheduling
Parallel Programming By J. H. Wang May 2, 2017.
Chapter 9 – Real Memory Organization and Management
Chapter 2 Scheduling.
Operating Systems (CS 340 D)
Department of Computer Science University of California, Santa Barbara
CSE8380 Parallel and Distributed Processing Presentation
CPU SCHEDULING.
Fast Communication and User Level Parallelism
Department of Computer Science University of California, Santa Barbara
Presentation transcript:

1 Coscheduling in Clusters: Is it a Viable Alternative? Gyu Sang Choi, Jin-Ha Kim, Deniz Ersoz, Andy B. Yoo, Chita R. Das Presented by: Richard Huang

2 Outline Evaluation of scheduling alternatives Proposed HYBRID Coscheduling Evaluation Conclusions Discussion

3 Evaluation of Scheduling Alternatives Local Scheduling Processes of parallel job independently scheduled Batch Scheduling Most popular (Maui, PBS,etc.) Avoid memory swapping, but low utilization and high completion time Gang Scheduling All processes of job (gang) scheduled together for simultaneous execution Faster completion time, but global synchronization costs

4 Communication-Driven Coscheduling Dynamic Coscheduling (DCS) Uses incoming message to schedule processes for which messages are destined Spin Block (SB) Process waiting for message spins for fixed amount of time before blocking itself Periodic Boost (PB) Periodically boosts priority of process with un- consumed messages Co-ordinated Coscheduling (CC) Optimizes spinning time to improve performance at both sender and receiver

5 HYBRID Coscheduling Idea: Combines merits of both gang scheduling and communication-driven coscheduling Coschedule ALL processes like gang scheduler Boost process priority during communication phase Issues: How to differentiate between computation and communication phases? How to ensure fairness during boosting?

6 HYBRID Coscheduling Boost priority whenever parallel process enter collective communication phase Immediate blocking used at sender and receiver

7 Traditional and Generic Coscheduling Framework

8 Evaluation 16 node Linux cluster connected through 16- port Myrinet switch 100 mixed applications from NAS Two different job allocation PACKING: contiguous nodes assigned to a job to reduce system fragmentation and increase system utilization NO PACKING: parallel processes of job randomly allocated to available nodes in system

9 Performance Comparison

10 Observations Average performance gain for PACKING about 20% compared to NO PACKING Under high load, big differences due to waiting times Under light load, difference in execution time more pronounced Batch scheduler has lowest execution time, followed by HYBRID HYBRID has lowest completion time among all scheduling schemes

11 Explanations HYBRID avoids unnecessary spinning process immediately blocked if communication operation is not complete HYBRID reduces communication delay process wake up immediately upon receipt of message (since its priority boosted) HYBRID avoids interrupt overheads Frequent interrupts from NIC to CPU to boost process’s priority in CC, DCS, and PB HYBRID boosted only at beginning of an MPI collective communication HYBRID avoids global synchronization overhead like gang scheduling HYBRID follows implicit coscheduling

12 Other Results Communication-driven coscheduling should deploy memory aware allocator to avoid expensive disk activities Completing jobs faster can lead to energy savings by using dynamic voltage scaling or shutting down machines

13 Conclusions Can get significant performance improvement by using coscheduling mechanisms like HYBRID, SB, or CC Block-based scheduling techniques had better results because other processes in ready state can proceed HYBRID scheme is best performer and can be easily implemented on any platform with only modification in the message passing layer New techniques deployed on cluster should avoid expensive memory swapping Improved efficiency in scheduling algorithm can translate to better performance-energy ratio

14 Discussion Can it be true that blocking is always better than spinning? How likely is it to move away from batch scheduling in clusters and super computers? Do people try to save energy by improving scheduling algorithm?