Parallel Computing

advertisement
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, 2006
outline.1
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
problems:
opportunity
to
tackle
larger
• Problems with higher precision, more
computational steps.
• Problems with more memory requirements.
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006
outline.2
Cluster Computing
A form of parallel computing in which the
computing platform is a group of
interconnected computers (a cluster).
We will concentrate
computing.
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006
upon
cluster
outline.3
Outline
In 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.
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006
outline.4
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).
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006
outline.5
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.
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006
outline.6
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.
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006
outline.7
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.
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006
outline.8
Home Pages
For course notes, assignments, announcements,
etc.:
http://www.cs.uncc.edu/~abw/ITCS4145F06/inde
x.html
Please check before each class.
For programming help:
http://www.cs.uncc.edu/par_prog/
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006
outline.9
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
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006
outline.10
New for Fall 2006
• Introduction to grid computing.
• Running an MPI job in grid computing
environment.
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006
outline.11
Assessment
ITCS 4145
• Class tests (2)
30%
• Assignments (5) 50%
• Final exam
20%
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006
Read small print
The assessment and percentages may be modified.
outline.12
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)
• Assignments (5)
• Paper
• Final exam
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006
30%
40%
10%
20%
The assessment and percentages may be modified.
outline.13
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.
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006
outline.14
Attendance
Attendance 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.
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006
outline.15
Instructor
Barry Wilkinson
Woodward, room 435G
Email: abw@uncc.edu
Office Hours
Mon/Wed: 11:00 am to 12 noon
1:00 pm to 3:00 pm
Tuesday 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.
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006
outline.16
Download