Distributed Programming CA107 Topics in Computing Series Martin Crane Karl Podesta.

10
Distributed Programming CA107 Topics in Computing Series Martin Crane Karl Podesta

Transcript of Distributed Programming CA107 Topics in Computing Series Martin Crane Karl Podesta.

Page 1: Distributed Programming CA107 Topics in Computing Series Martin Crane Karl Podesta.

Distributed ProgrammingCA107 Topics in Computing Series

Martin Crane

Karl Podesta

Page 2: Distributed Programming CA107 Topics in Computing Series Martin Crane Karl Podesta.

The Basics…..• What is a Distributed System (DS)?• How does it differ from a Parallel Computer (MPP)?

– differences become fuzzy…now called Supercomputers or High Performance Computers (HPC)

• Supercomputers and Supermodels:– both expensive

– both hard to deal with/prone to tantrums

– both look glamorous but...

– Both spend lots of time doing tedious tasks for others:• mostly matrix-vector products for Supercomputers• being live mannequins for Supermodels

Page 3: Distributed Programming CA107 Topics in Computing Series Martin Crane Karl Podesta.

Why High Performance Computing?• Solve larger and larger scientific problems

– advanced product design – economic analysis– weather prediction/ climate modelling

• Store and process huge amount of data – data mining and knowledge discovery – image processing, multi-media information– internet information storage and search (eg

GOOGLE)

Page 4: Distributed Programming CA107 Topics in Computing Series Martin Crane Karl Podesta.

Different Supercomputers (MPPs) in Your Neighbourhood

• Single Instruction, Multiple Data (SIMD)– as seen on PlayStation 2– very useful for processing large arrays eg

a(i) = b(i) + c(i)*d(i) {as are found in games}

• Multiple Instruction, Multiple Data (MIMD)– as seen in Deep Blue

• But these are dinosaurs - we want something more flexible

Page 5: Distributed Programming CA107 Topics in Computing Series Martin Crane Karl Podesta.

Problems with Traditional Supercomputer (ie MPP)

• Expensive – Very high starting cost ($10,000s per node)– Expensive software – High maintenance cost – Costly to upgrade

• Vendor dependent – lots of companies have come and gone (datacube, Connection

Machines etc.)

So, real/poor people cannot do HPC!

Page 6: Distributed Programming CA107 Topics in Computing Series Martin Crane Karl Podesta.

PC Cluster: a poor-man’s supercomputer!

• built from high-end PCs and high-speed comms network

• supports standard parallel programming based on message-passing model (MPI language)

• cheap (16 node cluster can cost less than $10k)

Page 7: Distributed Programming CA107 Topics in Computing Series Martin Crane Karl Podesta.

Cluster Diagram Here

Page 8: Distributed Programming CA107 Topics in Computing Series Martin Crane Karl Podesta.

DCU CA Cluster Resources• “John the Baptist” Cluster

– built by Redbrick using old CA machines – 24 individual 450MHz machines– connected by a fast ethernet switch– harbinger of better things….

• “The one that is to come”……– 24 SMP machines– each with 2 GHz– plus loadsa memory!– arrives about Xmas time, appropriately enough

Page 9: Distributed Programming CA107 Topics in Computing Series Martin Crane Karl Podesta.

What are the issues in HPC?• Communication Vs Computation

– size/ nature of problem– interconnect speed/ processor speed

• Fault tolerance– quality of hardware– nature of problem

• Load balancing– nature of problem/ quality of programmer– even an easy problem can be made difficult & slow

by a bad implementation

Page 10: Distributed Programming CA107 Topics in Computing Series Martin Crane Karl Podesta.

Influence of Nature of Problem on Speed

• What is speed?– speed up is better: Time on 1 node/ Time on n nodes

• Speed-up and Problems– very good: embarrassingly parallel problems– fair to middling: regular and synchronous problems

• a bit of cross-talk between nodes

– bad: irregular/ asynchronous problems• lots of cross-talk between nodes