Faucets Queuing System Presented by, Sameer Kumar.

Slides:



Advertisements
Similar presentations
CHAPTER 2 PROCESSOR SCHEDULING PART I By U ğ ur HALICI.
Advertisements

Processes CSCI 444/544 Operating Systems Fall 2008.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 5: Threads Overview Multithreading Models Threading Issues Pthreads Solaris.
Threads vs. Processes April 7, 2000 Instructor: Gary Kimura Slides courtesy of Hank Levy.
Review: Operating System Manages all system resources ALU Memory I/O Files Objectives: Security Efficiency Convenience.
1/28/2004CSCI 315 Operating Systems Design1 Operating System Structures & Processes Notice: The slides for this lecture have been largely based on those.
Process Concept An operating system executes a variety of programs
Phones OFF Please Processes Parminder Singh Kang Home:
Chapter 1. Introduction What is an Operating System? Mainframe Systems
Process Management. Processes Process Concept Process Scheduling Operations on Processes Interprocess Communication Examples of IPC Systems Communication.
Resource management system for distributed environment B4. Nguyen Tuan Duc.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
©Brooks/Cole, 2003 Chapter 7 Operating Systems. ©Brooks/Cole, 2003 Define the purpose and functions of an operating system. Understand the components.
October 19, 2005Charm++ Workshop, Faucets Tutorial Presented by Esteban Pauli and Greg Koenig Parallel Programming Lab, UIUC.
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.
المحاضرة الاولى Operating Systems. The general objectives of this decision explain the concepts and the importance of operating systems and development.
Processes and Threads CS550 Operating Systems. Processes and Threads These exist only at execution time They have fast state changes -> in memory and.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
1 University of Maryland Linger-Longer: Fine-Grain Cycle Stealing in Networks of Workstations Kyung Dong Ryu © Copyright 2000, Kyung Dong Ryu, All Rights.
October 18, 2005 Charm++ Workshop Faucets A Framework for Developing Cluster and Grid Scheduling Solutions Presented by Esteban Pauli Parallel Programming.
Chapter 7 Operating Systems. Define the purpose and functions of an operating system. Understand the components of an operating system. Understand the.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Chapter 2 Processes and Threads Introduction 2.2 Processes A Process is the execution of a Program More specifically… – A process is a program.
Nanco: a large HPC cluster for RBNI (Russell Berrie Nanotechnology Institute) Anne Weill – Zrahia Technion,Computer Center October 2008.
Operating System Structure A key concept of operating systems is multiprogramming. –Goal of multiprogramming is to efficiently utilize all of the computing.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
A System Performance Model Distributed Process Scheduling.
Group Mission and Approach To enhance Performance and Productivity in programming complex parallel applications –Performance: scalable to thousands of.
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
Cs431-cotter1 Processes and Threads Tanenbaum 2.1, 2.2 Crowley Chapters 3, 5 Stallings Chapter 3, 4 Silberschaz & Galvin 3, 4.
Multithreading The objectives of this chapter are: To understand the purpose of multithreading To describe Java's multithreading mechanism.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 4: Processes Process Concept Process Scheduling Types of shedulars Process.
Copyright © Curt Hill More on Operating Systems Continuation of Introduction.
Advanced Operating Systems CS6025 Spring 2016 Processes and Threads (Chapter 2)
1 Chapter 5: Threads Overview Multithreading Models & Issues Read Chapter 5 pages
Process Management Process Concept Why only the global variables?
EEE Embedded Systems Design Process in Operating Systems 서강대학교 전자공학과
Copyright ©: Nahrstedt, Angrave, Abdelzaher
Operating Systems (CS 340 D)
Sujata Ray Dey Maheshtala College Computer Science Department
Chapter 1: Introduction
Introduction to Operating System (OS)
Chapter 1: Introduction
Intro to Processes CSSE 332 Operating Systems
Operating Systems (CS 340 D)
Operating System Concepts
Chapter 6: CPU Scheduling
Faucets: the Charm++ Clusters Solution Tutorial
Module 5: CPU Scheduling
Lecture 21: Introduction to Process Scheduling
3: CPU Scheduling Basic Concepts Scheduling Criteria
Process & its States Lecture 5.
Chapter 6: CPU Scheduling
Operating System Concepts
Processes Hank Levy 1.
Sujata Ray Dey Maheshtala College Computer Science Department
Faucets: Efficient Utilization of Multiple Clusters
Operating System Introduction.
Lecture 21: Introduction to Process Scheduling
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
CS510 Operating System Foundations
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Processes Hank Levy 1.
Chapter 6: CPU Scheduling
Kajornsak Piyoungkorn,
Module 5: CPU Scheduling
Presentation transcript:

Faucets Queuing System Presented by, Sameer Kumar

Basic Idea Queuing System to manage Adaptive Jobs Adaptive jobs Jobs that can shrink and expand at runtime Simulations Provided encouraging results Also intended to be a general purpose queuing system that supports Generic, non-migratable Charm++ and MPI jobs

Adaptive Jobs Jobs that can dynamically increase (expand) or decrease (shrink) the number of processors they are running on Motivation Improve system utilization Decrease system response time Properties minpe, minimum number of processors required for the job, related to the memory requirements of the job maxpe, maximum number of processors, related to speedup profit, profit from running the job deadline, deadline before which the job should be finished

Adaptive Job Example Consider a 128 processor system Job A arrives and requests 80 Processors and is started on 80 processors Job B then arrives and requests 64 processors In traditional systems Job B will be queued and allocated 64 processors only after Job A finishes, while part of the system remains idle With adaptive jobs Job A can be shrunk to 64 processors and Job B can be started and after job A finishes Job B can expand and use all the processors

Adaptive Job Scheduler Adaptive Job Scheduler manages adaptive jobs Three major components Job Manager Accepts jobs, schedules them on the parallel system, and frees resources when the job is done Scheduling Strategy A plug-able component that makes decisions on which jobs to schedule Database Logs all events that occur in the scheduler and can be used in case of a crash

Adaptive Job Scheduler

Performance Simulation Results on 64 processors with mean job execution time of 64.5 sec for utilization maximizing strategy Experiments on Linux Cluster on 64 processors and mean job execution time of 60 sec λ=Arrival Rate MRT = Mean Response Time Utilization = Processor utilization Load Factor (lf) = Execution Time*λ

Features Multithreaded for fast response Logs all job related information to a database This helps in crash recovery and, Improves security of the system Uses Unix sockets for communication Unix Sockets improve the efficiency of the system The also restrict access to the scheduler Provides timed termination of the jobs

Features (continued) Accepts both batch and interactive jobs MaxPE and MaxTime are parameters to the system and can be used to restrict unlimited access to the parallel machine Tested on the cool Linux cluster at PPL Adaptive jobs currently implemented in Charm++ and MPI For more details check out

Super-user Access The Queuing system scheduler runs with super-user privileges When a new job arrives it is executed with the permissions of the user The code has been checked for stack overflows Direct Access to the parallel machine is blocked by removing the permissions for rsh, ssh etc To start a job the scheduler changes its group id to a Queuing System group which can access the cluster

Queuing System Commands Similar to current queuing systems fsub is the command to submit batch jobs to the queuing system frun runs jobs interactively fjobs lists the jobs fkill can be used to kill jobs

Conclusions and Future Work Queuing system has been tested and is ready to be installed on the Turing cluster Make the scheduler manage multiple heterogeneous clusters by supporting the concept of queues Some of the queues could be batch and others interactive Interactive queues would allocate multiple jobs to the same node depending on the utilization of the nodes Running the scheduler on SP2 and other multiprocessing architectures One of the solutions would be to run the faucets scheduler on top of a commercial queuing system