16
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson Department of Computer Science University of North Carolina at Charlotte Monday/Wednesday 3:30 pm - 4:50 pm Woodward 135

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

Embed Size (px)

Citation preview

Page 1: ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.1

ITCS 4145/5145 Parallel Programming(Cluster Computing)

Fall 2006

Barry WilkinsonDepartment of Computer Science

University of North Carolina at Charlotte

Monday/Wednesday3:30 pm - 4:50 pm Woodward 135

Page 2: ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.2

Parallel Computing

The use of multiple computers, or computers with multiple internal processors, to solve a problem at a greater computational speed than using a single computer.

Also offers opportunity to tackle larger problems:

• Problems with higher precision, more computational steps.• Problems with more memory requirements.

Page 3: ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.3

Cluster Computing

A form of parallel computing in which the computing platform is a group of interconnected computers (a cluster).

We will concentrate upon cluster computing.

Page 4: ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.4

OutlineIn this course, we will learn parallel computing techniques and algorithms, and have practical experiences writing parallel programs on a cluster of computers.

We will concentrate upon the message-passing method of parallel computing and use the standard parallel computing environment called MPI (Message Passing Interface).

Shared memory programming will be outlined.

Finally, computational grid computing will be introduced in which the computers are geographically distributed.

Page 5: ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.5

Prerequisites

Catalog prerequisites: ITCS 1214 and ITCS 3182. ITCS 3182 not strictly necessary.

Will need to learn basics of C if not already known. MPI Programming can be done in C or C++ (not Java with tools we will use).

Page 6: ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.6

Course Text

• Parallel Programming: Techniques and Application Using Networked Workstations and Parallel Computers, 2nd edition, by B. Wilkinson and M. Allen, Prentice Hall Inc., 2005, ISBN 0-13-140563-2.

• On-line notes are provided that are derived from the course text.

Page 7: ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.7

Royalties

• Students in the course who buy the course textbook (new) will be be returned approximately the amount received as royalties from the textbook by the instructor.

Page 8: ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.8

For reference

Beowulf Cluster Computing with Windows, T. Sterling (ed.), The MIT Press, Cambridge Massachusetts, 2002, ISBN 0-262-69275-9,

Beowulf Cluster Computing with Linux, T. Sterling (ed.), The MIT Press, Cambridge Massachusetts, 2002.

Page 9: ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.9

Home PagesFor course notes, assignments, announcements, etc.:

http://www.cs.uncc.edu/~abw/ITCS4145F06/index.html

Please check before each class.

For programming help:

http://www.cs.uncc.edu/par_prog/

Page 10: ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.10

Course Contents(See course slides/textbook for detailed description)

Parallel computers: architectural types, shared memory, message passing, interconnection networks, potential for increased speed.Basic techniques: embarrassingly parallel computations, partitioning and divide and conquer, pipelined computations, synchronous computations, load balancing and termination detection, shared memory programming.Algorithms and applications: sorting algorithms, searching algorithms, numerical algorithms, image processing algorithms

Page 11: ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.11

New for Fall 2006

• Introduction to grid computing.

• Running an MPI job in grid computing environment.

Page 12: ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.12

AssessmentITCS 4145

• Class tests (2) 30%

• Assignments (5) 50%• Final exam 20% The assessment and percentages may be modified.

Read small print

Page 13: ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.13

Graduate students (ITCS 5145)

Graduate students will be expected to make a more detailed performance analysis in the assignments and in addition to the tests and assignments, graduate students will be required to write a paper on high performance computing in a grid computing environment.

• Class tests (2) 30%

• Assignments (5) 40%

• Paper 10%• Final exam 20% The assessment and percentages may be modified.

Page 14: ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.14

All submitted assignments must be your own work. Copied work or work done by more than one person (unless specifically instructed) will not be accepted - at the very minimum, zero credit.

The UNC-C Code of Student Academic Integrity applies to both assignments and tests.

No work will be accepted after the due date without good reason.

Page 15: ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.15

AttendanceAttendance is expected. Attendance will be recorded. If you miss classes, it can have a deleterious effect on your grade:

After 4 missed classes without good reason:

2 marks off overall accumulated marks (out of 100) for each additional class missed.

If you must miss class, see me beforehand to avoid losing marks.

Page 16: ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson

ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006 outline.16

InstructorBarry Wilkinson

Woodward, room 435GEmail: [email protected]

Office HoursMon/Wed: 11:00 am to 12 noon

1:00 pm to 3:00 pmTuesday 3:00 pm – 4:00 pm

 Walk-in at other times ok if not busy,

or send me an email for a mutually convenient time.