Introduction to Cluster Computing Brian Vinter vinter@diku.dk - - PowerPoint PPT Presentation

introduction to cluster computing
SMART_READER_LITE
LIVE PREVIEW

Introduction to Cluster Computing Brian Vinter vinter@diku.dk - - PowerPoint PPT Presentation

Cluster Computing Introduction to Cluster Computing Brian Vinter vinter@diku.dk Overview Cluster Computing Introduction Goal/Idea Phases Assignments Tools Timeline/Exam General info Introduction Cluster Computing


slide-1
SLIDE 1

Cluster Computing

Introduction to Cluster Computing

Brian Vinter vinter@diku.dk

slide-2
SLIDE 2

Cluster Computing

Overview

  • Introduction
  • Goal/Idea
  • Phases
  • Assignments
  • Tools
  • Timeline/Exam
  • General info
slide-3
SLIDE 3

Cluster Computing

Introduction

  • Supercomputers are expensive
  • Workstations are cheap
  • Supercomputers from workstations are

cheap (but they may be hard to program)

  • Several approaches to this problem exist
slide-4
SLIDE 4

Cluster Computing

Goal/Idea

  • The goal is that after this class you will be

able to solve supercomputing class problems using a 'cheap' cluster solution

  • The idea is that the only real way to learn

this is by solving a set of problems - using a cluster

slide-5
SLIDE 5

Cluster Computing

Approach

  • Model classic supercomputer architectures

to clusters

  • Port the basic software from the SC

architectures

  • Emulate the hardware that might be

missing

slide-6
SLIDE 6

Cluster Computing

Phases

  • The class will cover five distinct approaches

to cluster computing:

  • Physical Shared Memory (not a cluster

actually)

  • Abstract Machines
  • Emulated Massively Parallel Processors
  • Emulating Remote Memory Machines
  • Distributed Shared Memory
slide-7
SLIDE 7

Cluster Computing

Evolution

slide-8
SLIDE 8

Cluster Computing

Tools

  • All the tools will be available in time (I hope)
  • We will (primarely) use Python for programming
  • In fact the choice of language is free but one language

will be recommended for each step

  • Other tools that will be covered are:
  • Parallel Virtual Machines
  • Message Passing Interface
  • Remote Method Invocation
  • Tspaces, PastSet and TMem
slide-9
SLIDE 9

Cluster Computing

Tools

  • Most tools are available in identical or

similar form for use with other languages

  • All the tools should be considered

experimental and problems should be reported to me ASAP

slide-10
SLIDE 10

Cluster Computing

Litterature

  • Notes
  • Papers
  • I can suggest books as they are needed 
slide-11
SLIDE 11

Cluster Computing

Assignments

  • There will be five (5) programming

assignments, one for each phase we cover

  • All assignments will be fun!
slide-12
SLIDE 12

Cluster Computing

Assignments

  • This is a class on cluster computing, thus the

assignments will be accompanied by a sequential version of the problem, that you can work from

  • Assignments must be documented and a report

(there will be a page limit) submitted with the code

  • In the end you only need to hand in 3

assignments

slide-13
SLIDE 13

Cluster Computing

Assignments

slide-14
SLIDE 14

Cluster Computing

General Idea

  • We cannot hope to implement one SC

application within one class – let alone five!

  • Most SC applications are based on a

computational kernel which is fairly small and which takes up as much as 99.999...% of the total runtime

  • You will port sequential verisons of such kernels

to run on clusters

  • To make it all fun we simulates cartoon traps
slide-15
SLIDE 15

Cluster Computing

Road Map

  • Fractals are examples of applications of

the type we call embarrassingly parallel

  • A typical example of an compute intensive

application with many independent sub- results

  • Very simple to write
  • Achieves very good speedup
slide-16
SLIDE 16

Cluster Computing

Road Map

slide-17
SLIDE 17

Cluster Computing

Race Trap

  • Traveling Salesman Problem is a classic

supercomputing problem

  • The chosen algorithm is a typical

Producer-Consumer approach

  • Is representative for global optimization

problems

  • May achieve good speedup
slide-18
SLIDE 18

Cluster Computing

Race Trap

slide-19
SLIDE 19

Cluster Computing

Wind Trap

  • Virtual wind-tunnel
  • An actual scientific application
  • 2D – but a 3D model exists that use the

same access pattern

  • Represents the pipelined application type
  • Can achieve really good speedup
slide-20
SLIDE 20

Cluster Computing

Wind Trap

slide-21
SLIDE 21

Cluster Computing

Frosty Trap

  • Successive Over Relaxation
  • A very common computational kernel in

many scientific applications

  • A typical example of grid-communication

applications

  • Can achieve very good speedup
slide-22
SLIDE 22

Cluster Computing

Frosty Trap

slide-23
SLIDE 23

Cluster Computing

Clone Machine

  • Ray tracing is a real computational

problem

  • An example of an application that can

achieve perfect speedup with small problems and good speedup on large (real) problems

slide-24
SLIDE 24

Cluster Computing

Clone Machine

slide-25
SLIDE 25

Cluster Computing

eScience Track

  • eScience is a new field at KU

– Masters of eScience (cand scient escience) will start September 1st

  • Starting next year this class will be given in the

eScience context

– Thus there are new assignments on their way

  • You can choose to do these assignments

instead of the original ones

– The older ones are well tested the new ones are not!!!

slide-26
SLIDE 26

Cluster Computing

Tumor treatment

  • Monte Carlo simulations are examples of

applications of the type we call embarrassingly parallel

  • A typical example of an compute intensive

application with many independent sub- results

  • Very simple to write
  • Achieves very good speedup
slide-27
SLIDE 27

Cluster Computing

Tumor treatment

slide-28
SLIDE 28

Cluster Computing

Tumor treatment

slide-29
SLIDE 29

Cluster Computing

Protein Folding

  • Protein is an actual supercomputing

problem

  • The chosen simplifications and algorithm is

a typical Producer-Consumer approach

  • Is representative for global optimization

problems

  • May achieve good speedup
slide-30
SLIDE 30

Cluster Computing

Protein folding

slide-31
SLIDE 31

Cluster Computing

Wind Tunnel

  • Virtual wind-tunnel
  • An actual scientific application
  • 2D – but a 3D model exists that use the

same access pattern

  • Represents the pipelined application type
  • Can achieve really good speedup
slide-32
SLIDE 32

Cluster Computing

Wind Tunnel

slide-33
SLIDE 33

Cluster Computing

Heat Equation

  • Successive Over Relaxation
  • A very common computational kernel in

many scientific applications

  • A typical example of grid-communication

applications

  • Can achieve very good speedup
slide-34
SLIDE 34

Cluster Computing

Heat Equation

slide-35
SLIDE 35

Cluster Computing

NBody Dynamics

  • An actual application
  • Widespread use with different forces
  • Can be pipelinede
  • And achieve really good speedup
slide-36
SLIDE 36

Cluster Computing

NBody Simulation

slide-37
SLIDE 37

Cluster Computing

Exam

  • 3 of your assignments written into one

delivery