Group Mission and Approach To enhance Performance and Productivity in programming complex parallel applications –Performance: scalable to thousands of.

Slides:



Advertisements
Similar presentations
M. Muztaba Fuad Masters in Computer Science Department of Computer Science Adelaide University Supervised By Dr. Michael J. Oudshoorn Associate Professor.
Advertisements

SLA-Oriented Resource Provisioning for Cloud Computing
Dynamic Load Balancing for VORPAL Viktor Przebinda Center for Integrated Plasma Studies.
Chap 4 Multithreaded Programming. Thread A thread is a basic unit of CPU utilization It comprises a thread ID, a program counter, a register set and a.
Introduction CSCI 444/544 Operating Systems Fall 2008.
Chapter 5 CPU Scheduling. CPU Scheduling Topics: Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
Resource Management of Grid Computing
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
CoreGRID Workpackage 5 Virtual Institute on Grid Information and Monitoring Services Authorizing Grid Resource Access and Consumption Erik Elmroth, Michał.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Processes.
ThreadsThreads operating systems. ThreadsThreads A Thread, or thread of execution, is the sequence of instructions being executed. A process may have.
PPL-Dept of Computer Science, UIUC Component Frameworks: Laxmikant (Sanjay) Kale Parallel Programming Laboratory Department of Computer Science University.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
1CPSD NSF/DARPA OPAAL Adaptive Parallelization Strategies using Data-driven Objects Laxmikant Kale First Annual Review October 1999, Iowa City.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
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:
Part one. overview  Operating system is the software that controls the overall operation of a computer.  It provide the interface by which a user can.
Supporting Multi-domain decomposition for MPI programs Laxmikant Kale Computer Science 18 May 2000 ©1999 Board of Trustees of the University of Illinois.
◦ What is an Operating System? What is an Operating System? ◦ Operating System Objectives Operating System Objectives ◦ Services Provided by the Operating.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems CSCI-6140 – Computer Operating Systems David Goldschmidt, Ph.D.
(Superficial!) Review of Uniprocessor Architecture Parallel Architectures and Related concepts CS 433 Laxmikant Kale University of Illinois at Urbana-Champaign.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
Programming Models & Runtime Systems Breakout Report MICS PI Meeting, June 27, 2002.
1 Multiprocessor and Real-Time Scheduling Chapter 10 Real-Time scheduling will be covered in SYSC3303.
October 18, 2005 Charm++ Workshop Faucets A Framework for Developing Cluster and Grid Scheduling Solutions Presented by Esteban Pauli Parallel Programming.
Process by Dr. Amin Danial Asham. References Operating System Concepts ABRAHAM SILBERSCHATZ, PETER BAER GALVIN, and GREG GAGNE.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
NIH Resource for Biomolecular Modeling and Bioinformatics Beckman Institute, UIUC NAMD Development Goals L.V. (Sanjay) Kale Professor.
NIH Resource for Biomolecular Modeling and Bioinformatics Beckman Institute, UIUC NAMD Development Goals L.V. (Sanjay) Kale Professor.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
INFORMATION SYSTEM-SOFTWARE Topic: OPERATING SYSTEM CONCEPTS.
1 A Steering Portal for Condor/DAGMAN Naoya Maruyama on behalf of Akiko Iino Hidemoto Nakada, Satoshi Matsuoka Tokyo Institute of Technology.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
Faucets Queuing System Presented by, Sameer Kumar.
Charm++ Data-driven Objects L. V. Kale. Parallel Programming Decomposition – what to do in parallel Mapping: –Which processor does each task Scheduling.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
Parallel Molecular Dynamics Application Oriented Computer Science Research Laxmikant Kale
Timeshared Parallel Machines Need resource management Need resource management Shrink and expand individual jobs to available sets of processors Shrink.
Parallelization Strategies Laxmikant Kale. Overview OpenMP Strategies Need for adaptive strategies –Object migration based dynamic load balancing –Minimal.
NGS/IBM: April2002PPL-Dept of Computer Science, UIUC Programming Environment and Performance Modeling for million-processor machines Laxmikant (Sanjay)
NGS Workshop: Feb 2002PPL-Dept of Computer Science, UIUC Programming Environment and Performance Modeling for million-processor machines Laxmikant (Sanjay)
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 OS 1.
Motivation: dynamic apps Rocket center applications: –exhibit irregular structure, dynamic behavior, and need adaptive control strategies. Geometries are.
1 Why Threads are a Bad Idea (for most purposes) based on a presentation by John Ousterhout Sun Microsystems Laboratories Threads!
UDI Technology Benefits Slide 1 Uniform Driver Interface UDI Technology Benefits.
Page 1 2P13 Week 1. Page 2 Page 3 Page 4 Page 5.
Holding slide prior to starting show. Scheduling Parametric Jobs on the Grid Jonathan Giddy
Parallel Molecular Dynamics A case study : Programming for performance Laxmikant Kale
COMP7330/7336 Advanced Parallel and Distributed Computing MapReduce - Introduction Dr. Xiao Qin Auburn University
Threads by Dr. Amin Danial Asham. References Operating System Concepts ABRAHAM SILBERSCHATZ, PETER BAER GALVIN, and GREG GAGNE.
Flexibility and Interoperability in a Parallel MD code Robert Brunner, Laxmikant Kale, Jim Phillips University of Illinois at Urbana-Champaign.
Productive Performance Tools for Heterogeneous Parallel Computing
Processes and Threads Processes and their scheduling
Parallel Objects: Virtualization & In-Process Components
Grid Computing.
Performance Evaluation of Adaptive MPI
Class project by Piyush Ranjan Satapathy & Van Lepham
Milind A. Bhandarkar Adaptive MPI Milind A. Bhandarkar
Summary Background Introduction in algorithms and applications
CGS 3763 Operating Systems Concepts Spring 2013
TDC 311 Process Scheduling.
Multithreaded Programming
Faucets: Efficient Utilization of Multiple Clusters
Introduction to OS (concept, evolution, some keywords)
Introduction to OS (concept, evolution, some keywords)
Presentation transcript:

Group Mission and Approach To enhance Performance and Productivity in programming complex parallel applications –Performance: scalable to thousands of processors –Productivity: of human programmers –complex: irregular structure, dynamic variations Approach: Application Oriented yet CS centered research –Develop enabling technology, for a wide collection of apps. –Develop, use and test it in the context of real applications –Optimal division of labor between “system” and programmer: decomposition done by programmer, everything else automated Develop standard library for parallel programming of reusable components

Charm++ Converse

Anonymous Compute power What is needed to make this metaphor work? –Timeshared parallel machines in the background effective resource management –Quality of computational service contracts/guarantees –Front ends that will allow agents to submit jobs on user’s behalf: Computational Faucets

What does a Computational faucet do? –Submit requests to “the grid” –Evaluate bids and decide whom to assign work –Monitor applications (for performance and correctness) –Provide interface to users: Interacting with jobs, and monitoring behavior What does it look like? A browser!

Timeshared parallel machines Need resource management –Shrink and expand individual jobs to available sets of processors –Example: Machine with 100 processors Job1 arrives, can use processors Assign 100 processors to it Job2 arrives, can use processors, –and will pay more if we meet its deadline Make resource allocation decisions

Multiple parallel machines faucet submits a request: –CPU seconds, min-max cpus, deadline, interacive? Parallel machines submit bids: –A job for 100 cpu hours may get a lower price bid if: It has less tight deadline, more flexible PE range –A job that requires 15 cpu minutes and a deadline of 1 minute Will generate a variety of bids A machine with idle time on its hand: low bid

How to make all of this work? The key: fine-grained resource management model –Work units are objects and threads rather than processes –Data units are object data, thread stacks,.. Rather than pages –Work/Data units can be migrated automatically during a run

Converse use in NAMD

Charm++ Data Driven Objects Object Groups: –global object with a “representative” on each PE Asynchronous method invocation Prioritized scheduling Mature, robust, portable

Data driven execution Scheduler Message Q