MS 9/19/97 implicit coord 1 Implicit Coordination in Clusters David E. Culler Andrea Arpaci-Dusseau Computer Science Division U.C. Berkeley.

Slides:



Advertisements
Similar presentations
SE-292 High Performance Computing
Advertisements

WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
A system Performance Model Instructor: Dr. Yanqing Zhang Presented by: Rajapaksage Jayampthi S.
Development of Parallel Simulator for Wireless WCDMA Network Hong Zhang Communication lab of HUT.
Multiple Processor Systems
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
Presented by: Priti Lohani
Unique Opportunities in Experimental Computer Systems Research - the Berkeley Testbeds David Culler U.C. Berkeley Grad.
Understanding Application Scaling NAS Parallel Benchmarks 2.2 on NOW and SGI Origin 2000 Frederick Wong, Rich Martin, Remzi Arpaci-Dusseau, David Wu, and.
Scaling Distributed Machine Learning with the BASED ON THE PAPER AND PRESENTATION: SCALING DISTRIBUTED MACHINE LEARNING WITH THE PARAMETER SERVER – GOOGLE,
The Organic Grid: Self- Organizing Computation on a Peer-to-Peer Network Presented by : Xuan Lin.
GridFlow: Workflow Management for Grid Computing Kavita Shinde.
PEDS September 18, 2006 Power Efficient System for Sensor Networks1 S. Coleri, A. Puri and P. Varaiya UC Berkeley Eighth IEEE International Symposium on.
Trends in Cluster Architecture Steve Lumetta David Culler University of California at Berkeley Computer Science Division.
OS Spring ’ 04 Scheduling Operating Systems Spring 2004.
IPPS 981 What’s So Different about Cluster Architectures? David E. Culler Computer Science Division U.C. Berkeley
1 Lecture 1: Parallel Architecture Intro Course organization:  ~5 lectures based on Culler-Singh textbook  ~5 lectures based on Larus-Rajwar textbook.
NOW 1 Berkeley NOW Project David E. Culler Sun Visit May 1, 1998.
6/28/98SPAA/PODC1 High-Performance Clusters part 2: Generality David E. Culler Computer Science Division U.C. Berkeley PODC/SPAA Tutorial Sunday, June.
Chapter 1 Introduction 1.1A Brief Overview - Parallel Databases and Grid Databases 1.2Parallel Query Processing: Motivations 1.3Parallel Query Processing:
NOW and Beyond Workshop on Clusters and Computational Grids for Scientific Computing David E. Culler Computer Science Division Univ. of California, Berkeley.
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
IPPS 981 Berkeley FY98 Resource Working Group David E. Culler Computer Science Division U.C. Berkeley
PRASHANTHI NARAYAN NETTEM.
COM S 614 Advanced Systems Novel Communications U-Net and Active Messages.
1 Computer Science, University of Warwick Architecture Classifications A taxonomy of parallel architectures: in 1972, Flynn categorised HPC architectures.
1 04/18/2005 Flux Flux: An Adaptive Partitioning Operator for Continuous Query Systems M.A. Shah, J.M. Hellerstein, S. Chandrasekaran, M.J. Franklin UC.
NPACI: National Partnership for Advanced Computational Infrastructure August 17-21, 1998 NPACI Parallel Computing Institute 1 Cluster Archtectures and.
MULTICOMPUTER 1. MULTICOMPUTER, YANG DIPELAJARI Multiprocessors vs multicomputers Interconnection topologies Switching schemes Communication with messages.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
Client/Server Architectures
Synchronization and Scheduling in Multiprocessor Operating Systems
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services by, Matt Welsh, David Culler, and Eric Brewer Computer Science Division University.
Computer System Architectures Computer System Software
1 Parallel Computing Basics of Parallel Computers Shared Memory SMP / NUMA Architectures Message Passing Clusters.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
Chapter 6 Multiprocessor System. Introduction  Each processor in a multiprocessor system can be executing a different instruction at any time.  The.
Chapter 4 Realtime Widely Distributed Instrumention System.
Frank Casilio Computer Engineering May 15, 1997 Multithreaded Processors.
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.
High Performance Cluster Computing Architectures and Systems Hai Jin Internet and Cluster Computing Center.
1 University of Maryland Linger-Longer: Fine-Grain Cycle Stealing in Networks of Workstations Kyung Dong Ryu © Copyright 2000, Kyung Dong Ryu, All Rights.
MATRIX MULTIPLY WITH DRYAD B649 Course Project Introduction.
Chapter 8-2 : Multicomputers Multiprocessors vs multicomputers Multiprocessors vs multicomputers Interconnection topologies Interconnection topologies.
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.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
Rassul Ayani 1 Performance of parallel and distributed systems  What is the purpose of measurement?  To evaluate a system (or an architecture)  To compare.
Computer Network Lab. Korea University Computer Networks Labs Se-Hee Whang.
CSC Multiprocessor Programming, Spring, 2012 Chapter 11 – Performance and Scalability Dr. Dale E. Parson, week 12.
Network Computing Laboratory 1 Vivaldi: A Decentralized Network Coordinate System Authors: Frank Dabek, Russ Cox, Frans Kaashoek, Robert Morris MIT Published.
COMP381 by M. Hamdi 1 Clusters: Networks of WS/PC.
HPC HPC-5 Systems Integration High Performance Computing 1 Application Resilience: Making Progress in Spite of Failure Nathan A. DeBardeleben and John.
1 Parallel Applications Computer Architecture Ning Hu, Stefan Niculescu & Vahe Poladian November 22, 2002.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
Background Computer System Architectures Computer System Software.
CMSC 611: Advanced Computer Architecture Shared Memory Most slides adapted from David Patterson. Some from Mohomed Younis.
Chapter 6: CPU Scheduling (Cont’d)
Scheduling in Distributed Systems
Alternative system models
Scaling for the Future Katherine Yelick U.C. Berkeley, EECS
Auburn University COMP7500 Advanced Operating Systems I/O-Aware Load Balancing Techniques (2) Dr. Xiao Qin Auburn University.
CMSC 611: Advanced Computer Architecture
Department of Computer Science University of California, Santa Barbara
Cluster Resource Management: A Scalable Approach
TimeTrader: Exploiting Latency Tail to Save Datacenter Energy for Online Search Balajee Vamanan, Hamza Bin Sohail, Jahangir Hasan, and T. N. Vijaykumar.
Department of Computer Science University of California, Santa Barbara
Performance-Robust Parallel I/O
CSC Multiprocessor Programming, Spring, 2011
Presentation transcript:

MS 9/19/97 implicit coord 1 Implicit Coordination in Clusters David E. Culler Andrea Arpaci-Dusseau Computer Science Division U.C. Berkeley

MS 9/19/97 implicit coord 2 The Berkeley NOW Project Large Scale: 100+ Sun Ultras, + PCs, +SMPs High-Performance –10-20  s latency, 35 MB/s per node, GB/s aggregate –world leader in disk-to-disk sort, top 500 list,... Operational –complete parallel programming environment –Glunix remote execution, load balancing, and partitioning Novel Technology –general purpose, fast communication with virtual networks –cooperative caching in XFS –clustered, interactive proportional share scheduling –implicit coscheduling Understanding of architectural trade-offs

MS 9/19/97 implicit coord 3 Clusters Means Coordination of Resources

MS 9/19/97 implicit coord 4 The Question To what extent can resource usage be coordinated implicitly through events that occur naturally in applications, rather than through explicit subsystem mechanisms?

MS 9/19/97 implicit coord 5 Typical Cluster Subsystem Structures A LS AA A A A M A A GS A LS GS A LS A GS LS A GS

MS 9/19/97 implicit coord 6 How we’d like to build cluster subsystems Obtain coordination without explicit subsystem interaction, only the events in the program –very easy to build –potentially very robust –inherently “on-demand” –scalable Local component can evolve A LS A GS A LS GS A LS A GS LS A GS

MS 9/19/97 implicit coord 7 Example: implicit coscheduling of parallel programs Parallel program runs on a collection of nodes –local scheduler doesn’t understand that it needs to run in parallel –slow-downs relative to dedicated on-at-time execution huge! => co-schedule (gang schedule) parallel job on the nodes Three approaches examined in NOW –GLUNIX explicit master-slave (user level) »matrix algorithm to pick PP »uses stops & signals to try to force desired PP to run –explicit peer-peer scheduling assist »co-scheduling daemons decide on PP and kick the solaris scheduler –implicit »modify the PP run-time library to allow it to get itself co-scheduled with standard scheduler A LS AA A A A M A A GS A LS GS A LS A GS LS A GS A LS A GS A LS GS A LS A GS LS A GS

MS 9/19/97 implicit coord 8 Problems with explicit coscheduling Implementation complexity need to identify PP in advance interacts poorly with interactive use and load imbalance introduces new potential faults scalability

MS 9/19/97 implicit coord 9 Why implicit coscheduling might work Active message request-reply model –like a read Program issues requests and knows when reply arrives (local information) –rapid response => partner probably scheduled –delayed response => partner probably not scheduled Program can take action in response –spin=> stay scheduled –block=> become unscheduled –wake-up=> ??? »Priority boost for process when waiting event is satisfied means that it like to become scheduled while partner is still scheduled

MS 9/19/97 implicit coord 10 Implicit Coscheduling Application run-time uses two-phase adaptive- spin waiting for response –sleeps on AM event Solaris TS scheduler raises job priority on wake- up –may preempt other process WS 1 Job A WS 2 Job BJob A WS 3 Job BJob A WS 4 Job BJob A spin sleep spin requestresponse

MS 9/19/97 implicit coord 11 Obvious Questions Does it work? How long do you spin? What are the requirements on the local scheduler?

MS 9/19/97 implicit coord 12 Simulation study 3 Parameterized synthetic bulk-synch. App’ns –communication pattern, granularity, load imbalance 2-phase globally adaptive spin –round-trip time + load imbalance (up to 10 x ctx switch)

MS 9/19/97 implicit coord 13 Real world: how long do you spin? Use poll operation as basic unit Microbenchmark in dedicated environment –get + synch: 140 polls –barrier: 380 polls Barrier: spin for load imbalance (up to ~5 ms)

MS 9/19/97 implicit coord 14 How does it work?

MS 9/19/97 implicit coord 15 Other implicit coordination successes Snooping based cache coherence –reading and writing data causes traffic to appear on the bus –cache controller observe and react to keep contents coordinated –no explicit cache-to-cache operations TCP window management –send data in bursts based on current expectations –observe loss and react AM NIC-NIC resynchronization Virtual network paging (???) –communicate with remote nodes –fault end-points onto NIC resources on miss ???

MS 9/19/97 implicit coord 16 The Real Question How broadly can implicit coordination be applied in the design of cluster subsystems? What are the fundamental requirements for it to work? –make local observations / react –local algorithm convergence toward common goal Where is it not applicable? –Competitive rather than cooperative situations »independent jobs compete for resources but have no natural coupling that would permit observations

MS 9/19/97 implicit coord 17 Further reading Extending Proportional-Share Scheduling to a Network of Workstations, Andrea C. Arpaci-Dusseau, David E. Culler, International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'97), June, Effective Distributed Scheduling of Parallel Workloads, Andrea C. Dusseau, Remzi H. Arpaci, David E. Culler, SIGMETRICS '96. The Interaction of Parallel and Sequential Workloads on a Network of Workstations, SIGMETRICS '95, 1995