Time and Place: 3rd period (9:35-10:25am) MWF, 239 Larsen Hall.
Course Objective:
Students will gain fundamental knowledge and
understanding of principles and practice in parallel computer
architecture and computing, emphasizing both hardware and software
challenges and the interactions between them, through class lectures
and discussions, reading assignments, homework, and a major research
project.
Prerequisites by Topic: Topics covered in EEL5764, which include: fundamentals of computer design; performance and cost; instruction set principles, examples, and measurements; basic and advanced pipelining; superscalar and VLIW instruction-level parallelism; memory-hierarchy design; storage systems; and interconnect technology. More information for graduate students without the formal prequisites that may be interested in this course, such as engineering students outside of ECE and CISE, can be found here.
Required Textbook: D.E. Culler and J.P. Singh, Parallel Computer Architecture: A Hardware/Software Approach, Morgan Kaufmann Publishers Inc., San Francisco, CA, 1999, ISBN 1-55860-343-3. Click here and here to access errata for the first and second printings of this textbook, respectively. Readings from the textbook will be supplemented by readings from selected technical publications TBA.
Professor:
Topics:
Project: A major research project will be assigned in order to explore fundamental issues in parallel computer architectures, systems, and applications. This project will span most of the semester, and it will provide students the opportunity to more deeply explore fundamental issues in PCA. Students will form teams of one, two, or at most three persons (two is the preferred size) and propose then conduct an experimental or a simulative research project on a topic of PCA of their choosing (subject to professor approval). Each project will involve elements of both hardware and software in parallel computing, although the balance need not necessarily be 50-50. Facilities and tools to support these projects will be provided as needed and available by unique resources in the professor's research laboratory. The culmination of each project will be a clear and concise technical report suitable for publication discussing project concepts, development, experiments, results, and analyses. The most important outcome of each project will be the research results that are achieved, analyses rendered, and conclusions drawn with demonstrable insight.
POLICIES
Grading Policy:
Attendance Policy: A significant portion of the lectures in this course will be complimentary but not duplicative of the textbook. Therefore, students are strongly advised to attend all lectures and take good notes. Tardiness for lectures is NOT permitted.
Conduct Policy: We, the members of the University of Florida community, pledge to hold ourselves and our peers to the highest standards of honesty and integrity. All assignments are to be considered an individual effort unless otherwise specified by the instructor.
Academic Honesty: Your instructor in this course requires the utmost degree of academic honesty and violations will be handled most seriously. All students admitted to the University of Florida have signed a statement of academic honesty committing themselves to be honest in all academic work and understanding that failure to comply with this commitment will result in disciplinary action. This statement is a reminder to uphold your obligation as a student at the University of Florida and to be honest in all work submitted and exams taken in this class and all others. If at any time questions arise regarding what is or is not appropriate, the student should ask the instructor for guidance or clarification before proceeding.
Accommodation: From the university regarding accommodations for students with disabilities: "Students requesting classroom accommodation must first register with the Dean of Students Office. The Dean of Students Office will provide documentation to the student who must then provide this documentation to the Instructor when requesting accommodation."
| ASSIGNED | DESCRIPTION | MATERIALS |
| 01/08/07 Monday | Chapter 1 in Culler & Singh (Introduction) | PowerPoint file |
| 01/10/07 Wednesday | Crash Course on MPI (c/o Adam Jacobs) | PowerPoint file, Tutorial info |
| 01/17/06 Wednesday | Chapter 2 in Culler & Singh (Parallel Programs) | PowerPoint file |
| 01/26/07 Friday | Crash Course on UPC (c/o Adam Leko) | Presentation files, FAQ info |
| 01/31/07 Wednesday | Chapter 3 in Culler & Singh (Programming for Performance) | PowerPoint file, PDF example |
| 02/07/07 Wednesday | Chapter 4 in Culler & Singh (Workload-Driven Evaluation) | PowerPoint file, PDF example |
| 02/14/07 Wednesday | Chapter 5 in Culler & Singh (Shared-Memory Multiprocessors), and Section 6.1 | PowerPoint file |
| 03/02/07 Friday | Special Lecture on Performance Analysis (c/o Adam Leko) | Presentation and sample files for PPW |
| 03/07/07 Wednesday | Special Lecture on High-performance Linear Algebra on RC Systems (c/o Ling Zhuo, USC) | Presentation |
| 03/09/07 Friday | Chapter 7 in Culler & Singh (Scalable Multiprocessors) | PowerPoint file |
| 03/23/07 Friday | Chapter 8 in Culler & Singh (Directory-Based Cache Coherence) | PowerPoint file |
| 04/02/07 Monday | Guest Lecture on PCA Case Study (c/o Chris Conger) | Presentation |
| 04/04/07 Wednesday | Guest Lecture on PCA Case Study (c/o Brian Holland) | Presentation |
| 04/11/07 Wednesday | Chapter 10 in Culler & Singh (Interconnection Network Design) | PowerPoint file |
| NAME | ASSIGNED | DUE | DESCRIPTION |
| HW #1 | 01/08/07 Monday | 01/17/07 Wednesday | Carefully survey information in the literature and then write a 4-6 page technical paper (single-spaced, 11-point font) in your own words that provides an overview of the history of "supercomputing" (a.k.a. high-performance computing or HPC). Find and cite at least five scholarly references using the same citation format as that used in our textbooks. Based on the material you gather, render conclusions about the future of supercomputing in your opinion. |
| HW #2 | 01/22/07 Monday | 01/31/07 Wednesday | MPI assignment (see handout); FAQ on lab access |
| HW #3 | 02/02/07 Friday | 02/12/07 Monday | UPC assignment (see handout) |
| Class Project | 02/02/07 Friday | 02/16/07 Friday (proposal); 5/02/07 Wednesday (report) | Assignment, General project ideas, Sp07 project overviews (13 teams in all) |
| Practice Set #1 | 02/23/07 Friday | N/A | Exercises 1.3, 1.7, 1.8, 1.12, 1.13, 1.16, 2.2, 2.3, 2.5, 2.7a, 3.2, 3.3, 3.4, 3.13, 4.5, 4.6, 5.1, 5.2, 5.3 (note: "data 2 cycles after" should be "data 2 bus cycles after"), 5.4, 5.6, 5.11, 5.20, 5.25, 5.27, 5.28 (note: assume caches large enough to hold each processor's partition, and these partitions are in their processors' caches at start) |
| HW #4 | 04/02/07 Monday | 04/11/07 Wednesday | Performance analysis assignment (see handout) |
| Practice Set #2 | 04/16/07 Monday | N/A | Exercises 7.1-7.4, 7.6, 7.7, 7.13, 8.1-8.4, 8.7, 8.8, 8.10-8.12, 10.1, 10.2, 10.9 (note: unfortunately, the publisher does not provide a solution set for Chapter 10). |
| DAY AND TIME | TYPE |
| 03/05/07 Monday, in-class exam | Exam #1 |
| 04/20/07 Friday, in-class exam | Exam #2 |
Introduction
to Parallel Computing by LLNL
HCS Lab, CHREC Center
University HPC
Center
National Lambda Rail
and Florida Lambda
Rail