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