Top Banner
Course Outline • Introduction in software and applications. Parallel machines and architectures Overview of parallel machines Cluster computers (Myrinet) • Programming methods, languages and environments. – Message passing (SR, MPI, Java) – Higher-level languages: Linda, Orca, HPF • Applications • World-wide parallel computing (Globus)
18

Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Dec 26, 2015

Download

Documents

Dwain Lawrence
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Course Outline• Introduction in software and applications.

• Parallel machines and architectures– Overview of parallel machines– Cluster computers (Myrinet)

• Programming methods, languages and environments.– Message passing (SR, MPI, Java)– Higher-level languages: Linda, Orca, HPF

• Applications

• World-wide parallel computing (Globus)

Page 2: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Parallel Machines

Parallel Computing - Theory and Practice (2/e)

Chapter 3

Michael J. Quinn

mcGraw-Hill, Inc., 1994

Page 3: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Overview

• Processor organizations

• Types of parallel machines– Processor arrays– Shared-memory multiprocessors– Distributed-memory multicomputers

• Taxonomy parallel machines

• Network of workstations & processor pools

• Myrinet

• Performance metrics

Page 4: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Processor Organization

• Network topology is a graph– A node is a processor– An edge is a communication path

• Evaluation criteria– Diameter (maximum distance)– Bisection width (minimum number of edges that should be removed to split

the graph into 2 -almost- equal halves)– Number of edges per node– Maximum edge length

Page 5: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Mesh

q-dimensional lattice

q=2 -> 2-D grid

Number of nodes k²

Diameter 2(k - 1)

Bisection width k

Edges per node 4

Page 6: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Binary Tree

• Number of nodes 2k - 1• Diameter 2 (k -1)• Bisection width 1• Edges per node 3

Page 7: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Hypertree

• Tree with multiple roots (see Figure 3-3), gives better bisection width

• 4-ary tree:– Number of nodes 2k ( 2 k+1 - 1)– Diameter 2k– Bisection width 2 k+1

– Edges per node 6

Page 8: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Hypercube

• k-dimensional cube, each node has binary value, nodes that differ in 1 bit are connected

• Number of nodes 2k

• Diameter k

• Bisection width 2k-1

• Edges per node k

Page 9: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Hypercube

• Label nodes with binary value, connect nodes that differ in 1 coordinate

• Number of nodes 2k

• Diameter k

• Bisection width 2k-1

• Edges per node k

Page 10: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

3 types of parallel machines

• Processor arrays

• Shared-memory multiprocessors

• Distributed-memory multicomputers

Page 11: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Processor Arrays

• Instructions operate on scalars or vectors

• Processor array = front-end + synchronized processing elements

• Front-end– Sequential machine that executes program– Vector operations are broadcast to PEs

• Processing element– Performs operation on its part of the vector– Communicates with other PEs through a network

• Examples: CM-200, Maspar MP-1, MP-2, ICL DAP

Page 12: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Shared-Memory Multiprocessors

• Bus easily gets saturated => add caches to CPUs

• Central problem: cache coherency– Snooping cache: monitor bus, invalidate copy on write– Write-through or copy-back

• Bus-based multiprocessors do not scale

Page 13: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Other Multiprocessor Designs (1/2)

• Switch-based multiprocessors (e.g., crossbar)

• Expensive (requires many very fast components)

Page 14: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Other Multiprocessor Designs (2/2)

• Non-Uniform Memory Access (NUMA) multiprocessors• Memory is distributed• Some memory is faster to access than other memory• Example:

– Teras at Sara,Dutch NationalSupercomputer(1024-node SGI)

Page 15: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Distributed-Memory Multicomputers

• Each processor only has a local memory

• Processors communicate by sending messages over a network

• Routing of messages:– Store-and-forward (1st generation)– Circuit-switched message routing (2nd generation)

Page 16: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Store-and-forward Routing

• Messages are forwarded one node at a time

• Forwarding is done in software

• Every processor on path from source to destination is involved

• Latency linear to distance x message length

• Examples: Parsytec GCel (T800 transputers), Intel iPSC

Page 17: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Circuit-switched Message Routing

• Each node has a routing module

• Circuit set up between source and destination

• Latency linear to distance + message length

• Example: Intel iPSC/2

Page 18: Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)

Flynn's Taxonomy

• Instruction stream: sequence of instructions

• Data stream: sequence of data manipulated by instructions

Single Data Multiple DataSingle Instruction SISD SIMDMultiple Instruction MISD MIMD

SISD: Single Instruction Single Data Traditional uniprocessors

SIMD: Single Instruction Multiple Data Processor arrays

MISD: Multiple Instruction Single Data Nonexistent?

MIMD: Multiple Instruction Multiple Data Multiprocessors and multicomputers