High Performance Computing Course Notes 2006-2007 Course Administration.

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

1 VIRTUAL MACHINES By: Sai Siddharth Kumar Dantu.
Operating Systems: History 1 History Pre 1950 : the very first electronic computers –valves and relays –no OS –single program with dedicated function Pre.
C.Sc. 110 Computer Science 113: Computer Systems.
© DEEDS – OS Course WS11/12 Lecture 10 - Multiprocessing Support 1 Administrative Issues  Exam date candidates  CW 7 * Feb 14th (Tue): * Feb 16th.
Prepared 7/28/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
Distributed Systems CS
Class CS 775/875, Spring 2011 Amit H. Kumar, OCCS Old Dominion University.
A Dynamic World, what can Grids do for Multi-Core computing? Daniel Goodman, Anne Trefethen and Douglas Creager
Vector Processing. Vector Processors Combine vector operands (inputs) element by element to produce an output vector. Typical array-oriented operations.
Parallel Programming Yang Xianchun Department of Computer Science and Technology Nanjing University Introduction.
Zhao Lixing.  A supercomputer is a computer that is at the frontline of current processing capacity, particularly speed of calculation.  Supercomputers.
History of Distributed Systems Joseph Cordina
Parallel Programming Henri Bal Rob van Nieuwpoort Vrije Universiteit Amsterdam Faculty of Sciences.
Introduction CS 524 – High-Performance Computing.
COMS W1004 Introduction to Computer Science June 25, 2008.

OPERATING SYSTEM OVERVIEW
Chapter 17 Parallel Processing.
1 Computer Science, University of Warwick Architecture Classifications A taxonomy of parallel architectures: in 1972, Flynn categorised HPC architectures.
Parallel Programming Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences.
COM181 Computer Hardware Ian McCrumRoom 5B18,
CS 470/570:Introduction to Parallel and Distributed Computing.
Introduction to Programming G50PRO University of Nottingham Unit 1 : Introduction Paul Tennent
Introduction to Computer Architecture & Design Computer Architecture and Design Lecture 0.
Object-Oriented Programming Dr. Napoleon H. Reyes, Ph.D. Computer Science Institute of Information and Mathematical Sciences Rm QA, IIMS, Albany.
Reference: / Parallel Programming Paradigm Yeni Herdiyeni Dept of Computer Science, IPB.
1 Parallel computing and its recent topics. 2 Outline 1. Introduction of parallel processing (1)What is parallel processing (2)Classification of parallel.
Computer System Architectures Computer System Software
1 Programming Multicore Processors Aamir Shafi High Performance Computing Lab
 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.
Lappeenranta University of Technology / JP CT30A7001 Concurrent and Parallel Computing Introduction to concurrent and parallel computing.
Previously Fetch execute cycle Pipelining and others forms of parallelism Basic architecture This week we going to consider further some of the principles.
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson.
Introduction, background, jargon Jakub Yaghob. Literature T.G.Mattson, B.A.Sanders, B.L.Massingill: Patterns for Parallel Programming, Addison- Wesley,
Loosely Coupled Parallelism: Clusters. Context We have studied older archictures for loosely coupled parallelism, such as mesh’s, hypercubes etc, which.
Orange Coast College Business Division Computer Science Department CS 116- Computer Architecture Multiprocessors.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 8 Multiple Processor Systems Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Computing Environment The computing environment rapidly evolving ‑ you need to know not only the methods, but also How and when to apply them, Which computers.
Parallel Processing I’ve gotta spend at least 10 hours studying for the IT 344 final! I’m going to study with 9 friends… we’ll be done in an hour.
Vector and symbolic processors
+ Clusters Alternative to SMP as an approach to providing high performance and high availability Particularly attractive for server applications Defined.
Outline Why this subject? What is High Performance Computing?
Cheating The School of Network Computing, the Faculty of Information Technology and Monash as a whole regard cheating as a serious offence. Where assignments.
1 Lecture 1: Parallel Architecture Intro Course organization:  ~18 parallel architecture lectures (based on text)  ~10 (recent) paper presentations 
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 2.
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-1.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 1.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 May 2, 2006 Session 29.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 3.
Optimizing Parallel Programming with MPI Michael Chen TJHSST Computer Systems Lab Abstract: With more and more computationally- intense problems.
Introduction Computer Organization Spring 1436/37H (2015/16G) Dr. Mohammed Sinky Computer Architecture
Background Computer System Architectures Computer System Software.
Primitive Concepts of Distributed Systems Chapter 1.
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Group Members Hamza Zahid (131391) Fahad Nadeem khan Abdual Hannan AIR UNIVERSITY MULTAN CAMPUS.
These slides are based on the book:
Auburn University COMP8330/7330/7336 Advanced Parallel and Distributed Computing Parallel Hardware Dr. Xiao Qin Auburn.
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
CHAPTER SEVEN PARALLEL PROCESSING © Prepared By: Razif Razali.
Computer Science 2 What’s this course all about?
Web: Parallel Computing Rabie A. Ramadan , PhD Web:
Lecture 1: Parallel Architecture Intro
T Computer Architecture, Autumn 2005
CLUSTER COMPUTING.
Hybrid Programming with OpenMP and MPI
Vrije Universiteit Amsterdam
Presentation transcript:

High Performance Computing Course Notes Course Administration

2 Computer Science, University of Warwick Course Administration Course organiser: Dr. Ligang He Contact details Office hours: Monday: 2pm-3pm Wednesday: 2pm-3pm

3 Computer Science, University of Warwick Course Administration Course Format 15 CATs 30 hours Assessment: 70% examined, 30% coursework Coursework details announced in week 5 Coursework deadline in week 10

4 Computer Science, University of Warwick Learning Objectives By the end of the course, you should understand: The role of HPC in science and engineering Commonly used HPC platforms and parallel programming models The means by which to measure, analyse and assess the performance of HPC applications and their supporting hardware Mechanisms for evaluating the suitability of different HPC solutions to common problems in computational science The role of administration, scheduling, code portability and data management in an HPC environment, with particular reference to grid computing The potential benefits and pitfalls of Grid Computing

5 Computer Science, University of Warwick Materials The slides will be made available on-line after each lecture Relevant papers and on-line resources will be made available on-line throughout the course. Download and read suggested papers. Questions in the exam will be based on the content of the papers as well as details from the notes.

6 Computer Science, University of Warwick Coursework Coursework will involve the development of a parallel and distributed application using the Message Passing Interface (MPI). It will involve performance analysis and modelling. Your program will be assessed by a written report and a demo session. Please attend the C and MPI tutorials! Week 1-4, 9am-10am every Tuesday: introducing the C language in CS101 Week 5-6, 9am-10am every Tuesday: introducing how to write simple MPI programs in the MSc lab

High Performance Computing Course Notes HPC Fundamentals

8 Computer Science, University of Warwick Introduction What is High Performance Computing (HPC)? Difficult to define - its a moving target. Later 1980s, a supercomputer performs 100m FLOPS Today, a 2G Hz desktop/laptop performs a few giga FLOPS Today, a supercomputer performs tens of Tera FLOPS (Top500) High performance: O(1000) more powerful than the latest desktops Driven by demand of computation-intensive applications from various areas Medical and Biology (e.g. simulation of brains) Finance (e.g. modelling the world economy) Military and Defence (e.g. modelling explosion of nuclear weapons) Engineering (e.g. simulations of a car crash or a new airplane design)

9 Computer Science, University of Warwick An Example of Demands in Computing Capability Project: Blue Brain aim: construct a simulated brain Building blocks of a brain are neurocortical columns A column consists of about 60,000 neurons Human brain contains millions of such columns First stage: simulate a single column (each processor acting as one or two neurons) Then: simulate a small network of columns Ultimate goal: simulate the whole human brain IBM contributes Blue Gene supercomputer

10 Computer Science, University of Warwick Related Technologies HPC is an all-encompassing term for related technologies that continually push computing boundaries: computer architecture CPU, memory, VLSI Compilers Identify inefficient implementations Make use of the characteristics of the computer architecture Choose suitable compiler for a certain architecture Algorithms (for parallel and distributed systems) How to program on parallel and distributed systems Middleware From Grid computing technology Application->middleware->operating system Resource discovery and sharing

11 Computer Science, University of Warwick History of High Performance Computing 1960s: Scalar processor Process one data item at a time 1970s: Vector processor Can process an array of data items at one go Architecture Overhead Later 1980s: Massively Parallel Processing (MPP) Up to thousands of processors, each with its own memory and OS Break down a problem Later 1990s: Cluster Not a new term itself, but renewed interests Connecting stand-alone computers with high-speed network Later 1990s: Grid Tackle collaboration Draw an analogue from Power grid

12 Computer Science, University of Warwick Two Types of HPC Parallel Computing Breaking the problem to be computed into parts that can be run simultaneously in different processors Distributed Computing Parts of the work to be computed are computed in different places (Note: does not necessarily imply simultaneous processing) An example: C/S model Solve loosely-coupled problems (no much communication)

13 Computer Science, University of Warwick Parallel Computing Architectures of Parallel Computing SMP (Symmetric Multi-Processing) Multiple CPUs, single memory, shared I/O All resources in a SMP machine are equally available to each CPU Does not scale well to a large number of processors (less than 8) NUMA (Non-Uniform Memory Access) Multiple CPUs Each CPU has fast access to its local area of the memory, but slower access to other areas Scale well to a large number of processors Complicated memory access pattern MPP (Massively Parallel Processing) Cluster

14 Computer Science, University of Warwick Goals of HPC Minimise turn-around time to complete specific application problems (strong scaling) Maximise the problem size that can be solved given a set amount of time (weak scaling) Identify compromise between performance and cost. Most supercomputers are obsolete in terms of performance before the end of their physical life.

15 Computer Science, University of Warwick Maximising Performance How is performance maximised? Reduce the time per instruction (cycle time) [1]: clock rate. In crease the number of instructions executed per-cycle [2]: pipelining. Allow multiple processors to work on different parts of the same program at the same time [3]: parallel execution. When performance is gained from [1] and [2] There is a limit to how quick processors will operate. Speed of light and electricity. Heat dissipation. Power consumption A instruction processing procedure cannot be divided into infinite stages When performance improvements come from [3] Overhead of communications