Scaling to New Heights Retrospective IEEE/ACM SC2002 Conference Baltimore, MD.

Slides:



Advertisements
Similar presentations
MINJAE HWANG THAWAN KOOBURAT CS758 CLASS PROJECT FALL 2009 Extending Task-based Programming Model beyond Shared-memory Systems.
Advertisements

The Charm++ Programming Model and NAMD Abhinav S Bhatele Department of Computer Science University of Illinois at Urbana-Champaign
The Who, What, Why and How of High Performance Computing Applications in the Cloud Soheila Abrishami 1.
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
Computer Architecture Introduction to MIMD architectures Ola Flygt Växjö University
Introductory Courses in High Performance Computing at Illinois David Padua.
NUMA Tuning for Java Server Applications Mustafa M. Tikir.
Introduction to MIMD architectures
Small-World Graphs for High Performance Networking Reem Alshahrani Kent State University.
Hiperspace Lab University of Delaware Antony, Sara, Mike, Ben, Dave, Sreedevi, Emily, and Lori.
An Introduction To PARALLEL PROGRAMMING Ing. Andrea Marongiu
Components for high performance grid programming in the GRID.it project 1 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june.
Analysis and Performance Results of a Molecular Modeling Application on Merrimac Erez, et al. Stanford University 2004 Presented By: Daniel Killebrew.
Compiler Optimization-Space Exploration Adrian Pop IDA/PELAB Authors Spyridon Triantafyllis, Manish Vachharajani, Neil Vachharajani, David.
Implications for Programming Models Todd C. Mowry CS 495 September 12, 2002.
Ch4: Distributed Systems Architectures. Typically, system with several interconnected computers that do not share clock or memory. Motivation: tie together.
A Framework for Collective Personalized Communication Laxmikant V. Kale, Sameer Kumar, Krishnan Varadarajan.
© Fujitsu Laboratories of Europe 2009 HPC and Chaste: Towards Real-Time Simulation 24 March
1 Discussions on the next PAAP workshop, RIKEN. 2 Collaborations toward PAAP Several potential topics : 1.Applications (Wave Propagation, Climate, Reactor.
SOS7, Durango CO, 4-Mar-2003 Scaling to New Heights Retrospective IEEE/ACM SC2002 Conference Baltimore, MD Distilled [Trimmed & Distilled for SOS7 by M.
Managing Service Metadata as Context The 2005 Istanbul International Computational Science & Engineering Conference (ICCSE2005) Mehmet S. Aktas
Performance Evaluation of Parallel Processing. Why Performance?
Lecture 8: Design of Parallel Programs Part III Lecturer: Simon Winberg.
Network Aware Resource Allocation in Distributed Clouds.
Computational issues in Carbon nanotube simulation Ashok Srinivasan Department of Computer Science Florida State University.
Chapter 3 Parallel Algorithm Design. Outline Task/channel model Task/channel model Algorithm design methodology Algorithm design methodology Case studies.
Architectural Support for Fine-Grained Parallelism on Multi-core Architectures Sanjeev Kumar, Corporate Technology Group, Intel Corporation Christopher.
Uncovering the Multicore Processor Bottlenecks Server Design Summit Shay Gal-On Director of Technology, EEMBC.
Introduction, background, jargon Jakub Yaghob. Literature T.G.Mattson, B.A.Sanders, B.L.Massingill: Patterns for Parallel Programming, Addison- Wesley,
Performance Model & Tools Summary Hung-Hsun Su UPC Group, HCS lab 2/5/2004.
If Exascale by 2018, Really? Yes, if we want it, and here is how Laxmikant Kale.
Porting Irregular Reductions on Heterogeneous CPU-GPU Configurations Xin Huo, Vignesh T. Ravi, Gagan Agrawal Department of Computer Science and Engineering.
1 Parallel Applications Computer Architecture Ning Hu, Stefan Niculescu & Vahe Poladian November 22, 2002.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
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.
PARALLEL APPLICATIONS EE 524/CS 561 Kishore Dhaveji 01/09/2000.
Distributed Computing Systems CSCI 4780/6780. Geographical Scalability Challenges Synchronous communication –Waiting for a reply does not scale well!!
Overcoming Scaling Challenges in Bio-molecular Simulations Abhinav Bhatelé Sameer Kumar Chao Mei James C. Phillips Gengbin Zheng Laxmikant V. Kalé.
Embedded System Lab 김해천 Thread and Memory Placement on NUMA Systems: Asymmetry Matters.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
The Cosmic Cube Charles L. Seitz Presented By: Jason D. Robey 2 APR 03.
Summary Background –Why do we need parallel processing? Moore’s law. Applications. Introduction in algorithms and applications –Methodology to develop.
University of Illinois at Urbana-Champaign Memory Architectures for Protein Folding: MD on million PIM processors Fort Lauderdale, May 03,
DISTRIBUTED COMPUTING
Analysis of Cache Tuner Architectural Layouts for Multicore Embedded Systems + Also Affiliated with NSF Center for High- Performance Reconfigurable Computing.
Lecture 3 : Performance of Parallel Programs Courtesy : MIT Prof. Amarasinghe and Dr. Rabbah’s course note.
Programmability Hiroshi Nakashima Thomas Sterling.
Parallelizing Spacetime Discontinuous Galerkin Methods Jonathan Booth University of Illinois at Urbana/Champaign In conjunction with: L. Kale, R. Haber,
High Performance LU Factorization for Non-dedicated Clusters Toshio Endo, Kenji Kaneda, Kenjiro Taura, Akinori Yonezawa (University of Tokyo) and the future.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 2.
1 Parallel Applications Computer Architecture Ning Hu, Stefan Niculescu & Vahe Poladian November 22, 2002.
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-1.
Background Computer System Architectures Computer System Software.
Cyberinfrastructure Overview of Demos Townsville, AU 28 – 31 March 2006 CREON/GLEON.
Building PetaScale Applications and Tools on the TeraGrid Workshop December 11-12, 2007 Scott Lathrop and Sergiu Sanielevici.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Department of Computer Science, Johns Hopkins University Lecture 7 Finding Concurrency EN /420 Instructor: Randal Burns 26 February 2014.
Spark on Entropy : A Reliable & Efficient Scheduler for Low-latency Parallel Jobs in Heterogeneous Cloud Huankai Chen PhD Student at University of Kent.
These slides are based on the book:
Parallel Programming By J. H. Wang May 2, 2017.
Parallel Algorithm Design
EE 193: Parallel Computing
CMSC 611: Advanced Computer Architecture
Parallel and Multiprocessor Architectures – Shared Memory
Summary Background Introduction in algorithms and applications
The Globus Toolkit™: Information Services
COMP60611 Fundamentals of Parallel and Distributed Systems
Presentation transcript:

Scaling to New Heights Retrospective IEEE/ACM SC2002 Conference Baltimore, MD

Introduction More than 80 researchers from universities, research centers, and corporations around the country attended the first "Scaling to New Heights" workshop, May 20 and 21, at PSC. Sponsored by the NSF leading-edge centers (NCSA, PSC, SDSC) together with the Center for Computational Sciences (ORNL) and NERSC, the workshop included a poster session, invited and contributed talks, and a panel. Participants examined issues involved in adapting and developing research software to effectively exploit systems comprised of thousands of processors. The following slides represent a collection of ideas from the workshop

Basic Concepts All application components must scale Control granularity; Virtualize Incorporate latency tolerance Reduce dependency on synchronization Maintain per-process load; Facilitate balance Only new aspect is the degree to which these things matter

Issues and Remedies Granularity Latencies Synchronization Load Balancing Heterogeneous Considerations

Granularity Define problem in terms of a large number of small objects independent of the process count Object design considerations –Caching and other local effects –Communication-to-computation ratio Control granularity through virtualization –Maintain per-process load level –Manage comms within virtual blocks, e.g. Converse –Facilitate dynamic load balancing

Latencies Network –Latency reduction lags improvement in flop rates; Much easier to grow bandwidth –Overlap communications and computations; Pipeline larger messages –Don’t wait – Speculate! Software Overheads –Can be more significant than network delays –NUMA architectures Scalable designs must accommodate latencies

Synchronization Cost increases with the process count –Synchronization doesn’t scale well –Latencies come into play here too Distributed resource exacerbates problems –Heterogeneity another significant obstacle Regular communication patterns are often characterized by many synchronizations –Best suited to homogeneous co-located clusters Transition to asynchronous models?

Load Balancing Static load balancing –Reduces to granularity problem –Differences between processors and network segments are determined a priori Dynamic process management requires distributed monitoring capabilities –Must be scalable –System maps objects to processes

Heterogeneous Considerations Similar but different processors or network components configured within a single cluster –Different clock rates, NICs, etc. Distinct processors, networking segments, and operating systems operating at a distance –Grid resources Elevates significance of dynamic load balancing; Data-driven objects immediately adaptable

Poor Scalability? Processors Speedup

Good Scalability? Processors Speedup

Processors Speedup Performance Comparison

Tools Automated algorithm selection and performance tuning by empirical means, e.g. ATLAS –Generate space of algorithms and search for fastest implementations by running them Scalability prediction, e.g. PMaC Lab –Develop performance models (machine profiles; application signatures) and trending patterns Identify/fix bottlenecks; choose new methods?

Case Study: NAMD Scalable Molecular Dynamics Three-dimensional object-oriented code Message-driven execution capability Fixed problem sizes determined by biomolecular structures Embedded PME electrostatics processor Asynchronous communications

Case Study: Summary As more processes are used to solve the given fixed-size problems, benchmark times decrease to a few milliseconds –PME communication times and operating system loads are significant in this range Scaling to many thousands of processes is almost certainly achievable now given a large enough problem –700 atoms/process x 3,000 processes = 2.1M atoms

Contacts and References David O’Neal John Urbanic Sergiu Sanielevici Workshop materials:

Topics for Discussion How should large, scalable computational science problems be posed? Should existing algorithms and codes be modified or should new ones be developed? Should agencies explicitly fund collaborations to develop industrial-strength, efficient, scalable codes? What should cyber-infrastructure builders and operators do to help scientists develop and run good applications?