45
Sciama, the Software side 1

Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Sciama, the Software side

1

Page 2: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Agenda• Memory Models• Running Jobs, Selecting Packages and

Compiling• OpenMP• MPI• OpenMP / MPI mixed mode• Sciama Information

Page 3: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Memory Models

3

Page 4: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Basic Building Block

4

These are the building blocks of Sciama and similar commodity HPC’s.

Page 5: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Distributed Memory Model

5

Page 6: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Largest (sensible) job is 24Gbytes in this distributed

memory model

6

Page 7: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Shared Memory Model

Page 8: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Shared Memory Models Can Support very large processes

Page 9: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Shared Memory Model Supports OpenMP and MPI (and Hybrid)

Page 10: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Running Jobs, Selecting  Packages and Compiling

10

Page 11: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

ICG‐HPC Stack

11

RedHat Clone

(CERN)

Two main Enterprise Linux players:-

RedHat & SUSE Licensed

Stability is all important.No need for latest andgreatest (Fedora 16)

Page 12: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Running Jobs

• Run an application already loaded in the  environment.

– Use “module avail”

to check what is installed

• Get a new application installed so you can run it.– Contact [email protected]

to get the software installed

• Compile your own application from source code.– You will need to select the compiler(s) and libraries using the “module”

command described. Request dependencies to be installed but not always 

possible.

Page 13: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Running Jobs• You should never run any large processes on a login server. Login servers are 

shared by others so any intense processing will slow down the responsiveness 

others experience.

• All major applications / compilations should be done on a compute node

• There are two ways to do this both using the “qsub”

command to submit a job to a 

queue :‐

– Create an interactive shell on a compute node:‐qsub

–IX

# I=Interactive

X=allow X server windowsThis will give you a command prompt in the current

shell.

– Run a batch job on a compute node(s) :‐qsub

<job‐script>This will start / queue a job according to the directives specified in the job  script.

Page 14: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Installed S/W

14

Page 15: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Compiling

15

Page 16: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Sciama

Traffic

Page 17: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Compile Options

Page 18: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

“gdb”

GNU Debugger[burtong@login1 ~]$ gdbGNU gdb

(GDB) Red Hat Enterprise Linux (7.0.1‐23.el5_5.1)Copyright (C) 2009 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later 

<http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law.  Type "show 

copying"

and "show warranty" for details.This GDB was configured as "x86_64‐redhat‐linux‐gnu".For bug reporting instructions, please see:<http://www.gnu.org/software/gdb/bugs/>.(gdb) 

Page 19: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Intel Debugging

Page 20: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Vtune

Qsub –I -X Very good help

Page 21: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Inspector

Page 22: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

OpenMP ( Open Multi Processing) 

22

Page 23: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Largest (sensible) job is 24Gbytes  in this distributed memory model 

23

Page 24: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Multi Threading 

• Multiple cores allow for multi treaded applications.• OpenMP

is an enabler

24

Shared memory (cooperating threads)• OpenMP• POSIX Threads• Cilk• Threaded Building Blocks• etc, etc

Page 25: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

OpenMP

Identical instances ofparallel region spawnedAs threads

Page 26: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

OpenMP

“C”

or Fortran

Compiler looks for directives and creates a multi- threaded executable.

Use –fopenmp as a compiler option

Possibly several parallel sections in one program.

Page 27: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Running openmp.exe

Page 28: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

MPI ( Message Passing Interface )

28

Page 29: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Inter node memory sharing not  (usually ) possible 

• Gives rise to “distributed memory”

Model• Need the likes of OpenMPI

(Message Passing Interface)

Page 30: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

MPI allows parallel programming in  distributed memory model

• MPI enables parallel computation• Message Buffers are used to pass data between processes• Standard tcp-ip network used

Buffers also usedWithin same node.

Page 31: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

MPI Principles (1)

Page 32: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

MPI Principles (2)

Page 33: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

MPI Principles (3)

Page 34: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

First of all you need the a program …

Can be “C” or

Fortran .

Page 35: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Select Compiler

Page 36: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

The run script

Page 37: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Run the Job

Page 38: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

“mpitest”

Output

Page 39: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

OpenMP

/ MPI mixed mode and  memory models

39

Page 40: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Hybrid OpenMP

and MP programming  possible

Page 41: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

MPI – OpenMP Mix

Page 42: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Free Cores

Page 43: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Sciama

Information

43

Page 44: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Live Sciama

Information

Page 45: Sciama, the Software side · 3. Basic Building Block 4 These are the building blocks of Sciama and similar commodity HPC’s. Distributed Memory Model 5. Largest (sensible) job is

Sciama

Docs and A/c Request