EEL6763
Parallel Computer Architecture
Spring Term 2007, 3 Credits
Section #0210


INTRODUCTION

Description: Prereq: EEL5764 Computer Architecture, CDA5155, or consent of the professor. Introduction to the fundamental hardware and software topics in parallel computer architecture including models, metrics, systems, and applications.

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:

Suggested References: Topics: Engineering Applications: Parallel computer architecture, software, and system design and analysis; high-performance computing; high-performance embedded computing; reconfigurable computing; parallel processing applications.

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: Deadline Policy: Much as you will often experience in your career after graduation, all assignments in this course will be given with a strict deadline, and students are required to submit their assignments on or before that deadline. In case of extenuating circumstances, students are advised to contact the professor immediately or as soon as practical.

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."


READING ASSIGNMENTS TO DATE

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

WRITTEN ASSIGNMENTS TO DATE

NAME ASSIGNED DUE DESCRIPTION
HW #101/08/07 Monday01/17/07 WednesdayCarefully 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 #201/22/07 Monday01/31/07 WednesdayMPI assignment (see handout); FAQ on lab access
HW #302/02/07 Friday02/12/07 MondayUPC 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 #102/23/07 FridayN/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 #404/02/07 Monday04/11/07 WednesdayPerformance analysis assignment (see handout)
Practice Set #204/16/07 MondayN/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).
NOTE: Each homework and project assignment is due at the beginning of class on the designated date.

EXAM SCHEDULE

DAY AND TIME TYPE
03/05/07 Monday, in-class exam Exam #1
04/20/07 Friday, in-class exam Exam #2



Sample of Related Web Sites

Introduction to Parallel Computing by LLNL
Introduction to Parallel Programming by MHPCC
Introduction to MPI Programming by ANL
IEEE Computer Society's ParaScope
Top500 Supercomputer Sites
Computer Architecture Home Page

HCS Lab, CHREC Center
University HPC Center
National Lambda Rail and Florida Lambda Rail