Introduction to Parallel Computing (CMSC 714 - F06) - Prof. Jeffrey K. Hollingsworth, Study notes of Computer Science

An introduction to parallel computing, covering topics such as hardware, applications, compilers, system software, and tools. Students are required to complete homework, programming assignments, a midterm, and a project. The class will also involve participation in a study of parallel programming. Parallel computing, as defined for this class, requires more than one processing element connected to a communication network, working together to solve a single problem. The document also discusses the benefits of parallelism in terms of speed and cost.

Typology: Study notes

Pre 2010

Uploaded on 02/13/2009

koofers-user-vl1
koofers-user-vl1 🇺🇸

3.7

(3)

9 documents

1 / 11

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
CMSC 714 – F06 (lect 1) copyright 2006 Jeffrey K. Hollingsworth
Introduction
zClass is an introduction to parallel computing
topics include: hardware, applications, compilers, system
software, and tools
zWill count for Masters/PhD Comp Credit
zWork required
1 homework
small programming assignments (two)
–midterm
classroom participation
–project
zWill be asked to participate in a study of parallel
programming
zThursday class next two weeks meets on Friday
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Introduction to Parallel Computing (CMSC 714 - F06) - Prof. Jeffrey K. Hollingsworth and more Study notes Computer Science in PDF only on Docsity!

Introduction copyright 2006 Jeffrey K. Hollingsworth

z^

Class is an introduction to parallel computing– topics include: hardware, applications, compilers, system

software, and tools

z^

Will count for Masters/PhD Comp Credit

z^

Work required– 1 homework– small programming assignments (two)– midterm– classroom participation– project

z^

Will be asked to participate in a study of parallelprogramming

z^

Thursday class next two weeks meets on Friday

copyright 2006 Jeffrey K. Hollingsworth

What is Parallel Computing?

z^

Does it include:– super-scalar processing (more than one instruction at once)?– client/server computing?

  • what if RPC calls are non-blocking?
    • vector processing (same instruction to several values)?– collection of PC’s

not

connected to a network?

z^

For this class, parallel computing requires:– more than one processing element– nodes connected to a communication network– nodes working together to solve a single problem.

copyright 2006 Jeffrey K. Hollingsworth

What Does a Parallel Computer Look

Like?

z^

Hardware– processors– communication– memory– coordination

z^

Software– programming model– communication libraries– operating system

copyright 2006 Jeffrey K. Hollingsworth

Processing Elements (PE)

z^

Key Processor Choices– How many?– How powerful?– Custom or off-the-shelf?

z^

Major Styles of Parallel Computing– SIMD - Single Instruction Multiple Data

  • one master program counter (PC)
    • MIMD - Multiple Instruction Multiple Data
      • separate code for each processor
        • SPMD - Single Program Multiple Data
          • same code on each processor, separate PC’s on each
            • Dataflow - instruction waits for operands
              • “automatically” finds parallelism

copyright 2006 Jeffrey K. Hollingsworth

MIMD Processors

Program Counter

Program Counter

Program Counter

Program #

Program #

Program #

copyright 2006 Jeffrey K. Hollingsworth

SPMDProcessors

Program Counter

Program Counter

Program Counter

Program

Program

Program

Program

copyright 2006 Jeffrey K. Hollingsworth

Communication Networks

z^

Connect– PE’s, memory, I/O

z^

Key Performance Issues– latency: time for first byte– throughput: average bytes/second

z^

Possible Topologies– bus - simple, but doesn’t scale– ring - orders delivery of messages

PE MEM

MEM MEM

PE

PE

MEM

PE

copyright 2006 Jeffrey K. Hollingsworth

Topologies (cont)

  • tree - needs to increase bandwidth near the top

PE^

PE^

PE

PE

PE

PE^ PE PE

PE PE PE

PE

PE^

PE PE

PE

PE^

PE PE

PEPE

PE

PE

PE

–mesh - two or three dimensions–hypercube - needs a power of number of nodes