Download presentation
Presentation is loading. Please wait.
Published byColeen Anthony Modified over 8 years ago
1
USEIMPROVEEVANGELIZE High-Performance Computing and OpenSolaris ● Silveira Neto ● Sun Campus Ambassador ● Federal University of Ceará ● ParGO - Paralellism, Graphs, and Combinatorial Optimization Research Group
2
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
3 USEIMPROVEEVANGELIZE Aplication Area Share stats fromTop500.org Application area share for November/2007
4
4 USEIMPROVEEVANGELIZE Computational fluid dynamics
5
5 USEIMPROVEEVANGELIZE Finite Element Analysis
6
6 USEIMPROVEEVANGELIZE Serial Computation problem instructions CP U
7
7 USEIMPROVEEVANGELIZE Serial Computation ● Single computer, single CPU. ● Problem broken into discrete series of instructions. ● One instruction per time. instructions CP U
8
8 USEIMPROVEEVANGELIZE Parallel Computing problem CP U parts instructions
9
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
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
11 USEIMPROVEEVANGELIZE SISD ● Single Instruction, Single Data LOAD A LOAD B C = A+B STORE C CPU
12
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
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
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
15 USEIMPROVEEVANGELIZE Parallel Programming Models ● Shared Memory ● Threads ● Message Passing ● Data Parallel ● Hybrid
16
16 USEIMPROVEEVANGELIZE Threads Model Memory CP U
17
17 USEIMPROVEEVANGELIZE Threads Model
18
18 USEIMPROVEEVANGELIZE Message Passing Model Memory CP U Memory CP U Memory CP U Memory CP U x=10
19
19 USEIMPROVEEVANGELIZE Hybrid Model Memory CPU Memory CPU x=10 Memory CPU Memory CPU
20
20 USEIMPROVEEVANGELIZE Amdahl's Law fraction of code that can be parallelized
21
21 USEIMPROVEEVANGELIZE Amdahl's Law parallel fraction number of processors serial fraction
22
22 USEIMPROVEEVANGELIZE CP U Integration a b c
23
23 USEIMPROVEEVANGELIZE Pi calculation ● Madhava of Sangamagrama (1350-1425) CP U
24
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
25 USEIMPROVEEVANGELIZE MPI Simplest Example $ mpicc hello.c -o hello $ mpirun -np 5 hi
26
26 USEIMPROVEEVANGELIZE MPI_Send
27
27 USEIMPROVEEVANGELIZE MPI_Recv
28
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
29 USEIMPROVEEVANGELIZE Creating a OpenMP Thread $ gcc -openmp hello.c -o hello $./hello
30
30 USEIMPROVEEVANGELIZE Creating multiples OpenMP Threads
31
31 USEIMPROVEEVANGELIZE Pthreads ● POSIX Threads ● POSIX standard for threads ● Defines an API for creating and manipulating threads
32
32 USEIMPROVEEVANGELIZE Pthreads g++ -o threads threads.cpp -lpthread./threads
33
33 USEIMPROVEEVANGELIZE Java Threads ● java.lang.Thread ● java.util.concurrent
34
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
35 USEIMPROVEEVANGELIZE Opensolaris ● ZFS ● Dtrace ● Containers ● HPC Tools ● opensolaris.org/os/community/hpcdev/ – Dtrace for Open MPI
36
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
37 USEIMPROVEEVANGELIZE Academy, industry and market
38
38 USEIMPROVEEVANGELIZE References ● Introduction to Parallel Computing, Blaise Barney, Livermore Computing, 2007. https://computing.llnl.gov/tutorials/parallel_comphttps://computing.llnl.gov/tutorials/parallel_comp ● Flynn, M., Some Computer Organizations and Their Effectiveness, IEEE Trans. Comput., Vol. C-21, pp. 948, 1972. ● Top500 Supercomputer sites, Application Area share for 11/2007, http://www.top500.org/charts/list/30/apparea http://www.top500.org/charts/list/30/apparea ● Wikipedia's article on Finite Element Analysis, http://en.wikipedia.org/wiki/Finite_element_analysis http://en.wikipedia.org/wiki/Finite_element_analysis ● Wikipedia's article on Computational Fluid Dynamics, http://en.wikipedia.org/wiki/Computational_fluid_dynamics http://en.wikipedia.org/wiki/Computational_fluid_dynamics ● Slides An Introduction to OpenSolaris, Peter Karlson. ● Wikipedia's article on OpenMP, http://en.wikipedia.org/wiki/Openmphttp://en.wikipedia.org/wiki/Openmp
39
39 USEIMPROVEEVANGELIZE References ● Wikipedia's article on MPI, http://en.wikipedia.org/wiki/Message_Passing_Interface http://en.wikipedia.org/wiki/Message_Passing_Interface ● Wikipedia's article on PThreads, http://en.wikipedia.org/wiki/Pthreadshttp://en.wikipedia.org/wiki/Pthreads ● Wikipedia's article on Madhave of Sangamagrama, http://en.wikipedia.org/wiki/Madhava_of_Sangamagrama http://en.wikipedia.org/wiki/Madhava_of_Sangamagrama ● Distributed Systems Programming, Heriot-Watt University http://www.macs.hw.ac.uk/~hamish/DSP/topic29.html http://www.macs.hw.ac.uk/~hamish/DSP/topic29.html
40
USEIMPROVEEVANGELIZE Thank you! José Maria Silveira Neto Sun Campus Ambassador jose.neto@sun.com http://silveiraneto.net “open” artwork and icons by chandan: http://blogs.sun.com/chandan http://blogs.sun.com/chandan
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.