USEIMPROVEEVANGELIZE High-Performance Computing and OpenSolaris ● Silveira Neto ● Sun Campus Ambassador ● Federal University of Ceará ● ParGO - Paralellism,

Slides:



Advertisements
Similar presentations
© 2009 Fakultas Teknologi Informasi Universitas Budi Luhur Jl. Ciledug Raya Petukangan Utara Jakarta Selatan Website:
Advertisements

Prepared 7/28/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
Parallel Processing with OpenMP
Introduction to Openmp & openACC
1 Parallel Scientific Computing: Algorithms and Tools Lecture #3 APMA 2821A, Spring 2008 Instructors: George Em Karniadakis Leopold Grinberg.
Taxanomy of parallel machines. Taxonomy of parallel machines Memory – Shared mem. – Distributed mem. Control – SIMD – MIMD.
MULTICORE, PARALLELISM, AND MULTITHREADING By: Eric Boren, Charles Noneman, and Kristen Janick.
Tuesday, September 12, 2006 Nothing is impossible for people who don't have to do it themselves. - Weiler.
CISC 879 : Software Support for Multicore Architectures John Cavazos Dept of Computer & Information Sciences University of Delaware
 Parallel Computer Architecture Taylor Hearn, Fabrice Bokanya, Beenish Zafar, Mathew Simon, Tong Chen.
CPE 731 Advanced Computer Architecture Multiprocessor Introduction
1 Computer Science, University of Warwick Architecture Classifications A taxonomy of parallel architectures: in 1972, Flynn categorised HPC architectures.
Flynn’s Taxonomy of Computer Architectures Source: Wikipedia Michael Flynn 1966 CMPS 5433 – Parallel Processing.
CS 470/570:Introduction to Parallel and Distributed Computing.
Reference: / Parallel Programming Paradigm Yeni Herdiyeni Dept of Computer Science, IPB.
KUAS.EE Parallel Computing at a Glance. KUAS.EE History Parallel Computing.
Parallel Processing LAB NO 1.
1 Programming Multicore Processors Aamir Shafi High Performance Computing Lab
Parallel Computing Through MPI Technologies Author: Nyameko Lisa Supervisors: Prof. Elena Zemlyanaya, Prof Alexandr P. Sapozhnikov and Tatiana F. Sapozhnikov.
Flynn’s Taxonomy SISD: Although instruction execution may be pipelined, computers in this category can decode only a single instruction in unit time SIMD:
Introduction, background, jargon Jakub Yaghob. Literature T.G.Mattson, B.A.Sanders, B.L.Massingill: Patterns for Parallel Programming, Addison- Wesley,
Parallel Processing - introduction  Traditionally, the computer has been viewed as a sequential machine. This view of the computer has never been entirely.
An Introduction to Parallel Programming and MPICH Nikolaos Hatzopoulos.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Multiprocessing. Going Multi-core Helps Energy Efficiency William Holt, HOT Chips 2005 Adapted from UC Berkeley "The Beauty and Joy of Computing"
Parallel Computing.
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
Outline Why this subject? What is High Performance Computing?
CPS 258, Fall 2004 Introduction to Computational Science.
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-1.
Running Mantevo Benchmark on a Bare-metal Server Mohammad H. Mofrad January 28, 2016
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
Parallel Computing Presented by Justin Reschke
LECTURE #1 INTRODUCTON TO PARALLEL COMPUTING. 1.What is parallel computing? 2.Why we need parallel computing? 3.Why parallel computing is more difficult?
CDA-5155 Computer Architecture Principles Fall 2000 Multiprocessor Architectures.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.
PERFORMANCE OF THE OPENMP AND MPI IMPLEMENTATIONS ON ULTRASPARC SYSTEM Abstract Programmers and developers interested in utilizing parallel programming.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
USEIMPROVEEVANGELIZE ● Yue Chao ● Sun Campus Ambassador High-Performance Computing with Sun Studio 12.
HP-SEE Hybrid MPI+OpenMP Programming HPC Summer Training, Athens, July 2011 Antun Balaz Institute of Physics Belgrade - IPB antun at.
These slides are based on the book:
Auburn University COMP8330/7330/7336 Advanced Parallel and Distributed Computing Parallel Hardware Dr. Xiao Qin Auburn.
Flynn’s Taxonomy Many attempts have been made to come up with a way to categorize computer architectures. Flynn’s Taxonomy has been the most enduring of.
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
Parallel Programming pt.1
Introduction to Parallel Processing
CHAPTER SEVEN PARALLEL PROCESSING © Prepared By: Razif Razali.
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
18-447: Computer Architecture Lecture 30B: Multiprocessors
Introduction to parallel programming
buses, crossing switch, multistage network.
Parallel Processing - introduction
CS 147 – Parallel Processing
MPI Message Passing Interface
NGS computation services: APIs and Parallel Jobs
Team 1 Aakanksha Gupta, Solomon Walker, Guanghong Wang
Multi-Processing in High Performance Computer Architecture:
MIMD Multiple instruction, multiple data
Different Architectures
Chapter 17 Parallel Processing
Symmetric Multiprocessing (SMP)
buses, crossing switch, multistage network.
AN INTRODUCTION ON PARALLEL PROCESSING
Hybrid Programming with OpenMP and MPI
Part 2: Parallel Models (I)
Parallel Computing Team 4 Sahil arora | Rashmi Chaudhary
By Brandon, Ben, and Lee Parallel Computing.
Chapter 4 Multiprocessors
Introduction, background, jargon
Chapter 01: Introduction
Presentation transcript:

USEIMPROVEEVANGELIZE High-Performance Computing and OpenSolaris ● Silveira Neto ● Sun Campus Ambassador ● Federal University of Ceará ● ParGO - Paralellism, Graphs, and Combinatorial Optimization Research Group

2 USEIMPROVEEVANGELIZE Agenda ● Why programs should run faster? ● How programs can run faster? ● High Performance Computing – Motivating – Computer Models – Approachs ● OpenSolaris – What is, Advantages and Tools.

3 USEIMPROVEEVANGELIZE Aplication Area Share stats fromTop500.org Application area share for November/2007

4 USEIMPROVEEVANGELIZE Computational fluid dynamics

5 USEIMPROVEEVANGELIZE Finite Element Analysis

6 USEIMPROVEEVANGELIZE Serial Computation problem instructions CP U

7 USEIMPROVEEVANGELIZE Serial Computation ● Single computer, single CPU. ● Problem broken into discrete series of instructions. ● One instruction per time. instructions CP U

8 USEIMPROVEEVANGELIZE Parallel Computing problem CP U parts instructions

9 USEIMPROVEEVANGELIZE Parallel Computing ● Simultaneous use of multiple compute resources to solve a computational problem. ● Compute resources can include – Single computer with multiple processors – Multiple computers connected by a network – or both

10 USEIMPROVEEVANGELIZE Flynn's Taxonomy ● Instruction or Data ● Single or Multiple SISD Single Instruction, Single Data SIMD Single Instruction, Multiple Data MISD Multiple Instruction, Single Data MIMD Multiple Instruction, Multiple Data

11 USEIMPROVEEVANGELIZE SISD ● Single Instruction, Single Data LOAD A LOAD B C = A+B STORE C CPU

12 USEIMPROVEEVANGELIZE SIMD ● Single Instruction, Multiple Data LOAD A[0] LOAD B[0] C[0] = A[0]+B[0] STORE C[0] LOAD A[1] LOAD B[1] C[1] = A[1]+B[1] STORE C[1] LOAD A[n] LOAD B[n] C[n] = A[n]+B[n] STORE C[n] CPU 1 CPU 2 CPU n

13 USEIMPROVEEVANGELIZE MISD ● Multiple Instruction, Single Data LOAD A[0] C[0] = A[0] *1 STORE C[0] LOAD A[1] C[1] = A[1] *2 STORE C[1] LOAD A[n] C[n] = A[n] *n STORE C[n] CPU 1 CPU 2 CPU n

14 USEIMPROVEEVANGELIZE MIMD ● Multiple Instruction, Multiple Data LOAD A[0] C[0] = A[0] *1 STORE C[0] X=sqrt(2) C[1] = A[1] *X method(C[1]); something(); W = C[n]**X C[n] = 1/W CPU 1 CPU 2 CPU n

15 USEIMPROVEEVANGELIZE Parallel Programming Models ● Shared Memory ● Threads ● Message Passing ● Data Parallel ● Hybrid

16 USEIMPROVEEVANGELIZE Threads Model Memory CP U

17 USEIMPROVEEVANGELIZE Threads Model

18 USEIMPROVEEVANGELIZE Message Passing Model Memory CP U Memory CP U Memory CP U Memory CP U x=10

19 USEIMPROVEEVANGELIZE Hybrid Model Memory CPU Memory CPU x=10 Memory CPU Memory CPU

20 USEIMPROVEEVANGELIZE Amdahl's Law fraction of code that can be parallelized

21 USEIMPROVEEVANGELIZE Amdahl's Law parallel fraction number of processors serial fraction

22 USEIMPROVEEVANGELIZE CP U Integration a b c

23 USEIMPROVEEVANGELIZE Pi calculation ● Madhava of Sangamagrama ( ) CP U

24 USEIMPROVEEVANGELIZE MPI ● Message Passing Interface ● A computer specification ● An implementation that allows many computers to communicate with one another. It is used in computer clusters.

25 USEIMPROVEEVANGELIZE MPI Simplest Example $ mpicc hello.c -o hello $ mpirun -np 5 hi

26 USEIMPROVEEVANGELIZE MPI_Send

27 USEIMPROVEEVANGELIZE MPI_Recv

28 USEIMPROVEEVANGELIZE OpenMP ● Open Multi-Processing ● Multi-platform shared memory multiprocessing programming in C/C++ and Fortran on many architectures ● Available on GCC 4.2 ● C/C++/Fortran

29 USEIMPROVEEVANGELIZE Creating a OpenMP Thread $ gcc -openmp hello.c -o hello $./hello

30 USEIMPROVEEVANGELIZE Creating multiples OpenMP Threads

31 USEIMPROVEEVANGELIZE Pthreads ● POSIX Threads ● POSIX standard for threads ● Defines an API for creating and manipulating threads

32 USEIMPROVEEVANGELIZE Pthreads g++ -o threads threads.cpp -lpthread./threads

33 USEIMPROVEEVANGELIZE Java Threads ● java.lang.Thread ● java.util.concurrent

34 USEIMPROVEEVANGELIZE What is OpenSolaris? ● Open development effort based on the source code for the Solaris Operating System. ● Collection of source bases (consolidations) and projects.

35 USEIMPROVEEVANGELIZE Opensolaris ● ZFS ● Dtrace ● Containers ● HPC Tools ● opensolaris.org/os/community/hpcdev/ – Dtrace for Open MPI

36 USEIMPROVEEVANGELIZE Sun HPC ClusterTools ● Comprehensive set of capabilities for parallel computing. ● Integrated toolkit that allows developers to create and tune MPI applications that run on high performance clusters and SMPs. ● sun.com/clustertools

37 USEIMPROVEEVANGELIZE Academy, industry and market

38 USEIMPROVEEVANGELIZE References ● Introduction to Parallel Computing, Blaise Barney, Livermore Computing, ● Flynn, M., Some Computer Organizations and Their Effectiveness, IEEE Trans. Comput., Vol. C-21, pp. 948, ● Top500 Supercomputer sites, Application Area share for 11/2007, ● Wikipedia's article on Finite Element Analysis, ● Wikipedia's article on Computational Fluid Dynamics, ● Slides An Introduction to OpenSolaris, Peter Karlson. ● Wikipedia's article on OpenMP,

39 USEIMPROVEEVANGELIZE References ● Wikipedia's article on MPI, ● Wikipedia's article on PThreads, ● Wikipedia's article on Madhave of Sangamagrama, ● Distributed Systems Programming, Heriot-Watt University

USEIMPROVEEVANGELIZE Thank you! José Maria Silveira Neto Sun Campus Ambassador “open” artwork and icons by chandan: