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


INTRODUCTION

Description: Prereq: EEL5764 Computer Architecture, CDA5155, or consent of the professor. Introduction to the fundamental and newly developing hardware and software topics in parallel computer architecture including models, metrics, systems, and applications. For a variety of reasons, parallel computer architecture has recently become one of the most challenging and important areas of ECE, and a dominant theme now in computer architecture, systems, and programming, where we wish to harness the potential of a broad range of new and emerging technologies ranging from multicore CPUs to reconfigurable devices.

Time and Place: 3rd period (9:35-10:25am) MWF, 202 NEB.

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, as well as exposure to research challenges in this field, 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.

Professor:

Suggested Reference Texts: General 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 two or three persons and propose then conduct an experimental research project on a topic in 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 via special resources in the professor's research laboratory. The culmination of each project will be a clear and concise technical report suitable for potential 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 complementary but not duplicative of the textbook. Therefore, students are strongly advised to attend all lectures and take good notes. Tardiness for lectures is disruptive and thus 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 thus 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 & CLASS MATERIALS TO DATE

ASSIGNED DESCRIPTION MATERIALS
01/07/09 Wednesday Chapter 1 in Culler & Singh (Introduction)Lecture notes
01/21/09 Wednesday Short Course on MPI (c/o Adam Jacobs)Lecture notes, Tutorials on web
01/23/09 Friday Chapter 2 in Culler & Singh (Parallel Programs)Lecture notes
01/30/09 Friday Short Course on UPC (c/o Max Billingsley)Lecture notes, Tutorials on web
02/04/09 Wednesday Chapter 3 in Culler & Singh (Programming for Performance)Lecture notes
02/04/09 Wednesday Tutorial on SHMEM (c/o Hung-Hsun Su)Lecture notes
02/13/09 Friday Overview of BSP, LogP, RAT (c/o Brian Holland)Lecture notes, RAT paper
02/18/09 Wednesday Chapter 4 in Culler & Singh (Workload-Driven Evaluation)Lecture notes
03/02/09 Monday Formulation Modeling (c/o Casey Reardon)Lecture notes
03/02/09 Monday Chapter 5 in Culler & Singh (Shared-Memory Multiprocessors) & Section 6.1Lecture notes
03/06/09 Friday Parallel Performance Wizard (c/o Max Billingsley)Lecture notes
03/16/09 Monday Nonconventional PCA Devices (c/o Vikas Aggarwal)Lecture notes
03/30/09 Monday Parallel Scientific Computing (c/o Greg Cieslewski)Lecture notes
04/01/09 Wednesday Chapter 7 in Culler & Singh (Scalable Multiprocessors)Lecture notes
04/06/09 Monday Chapter 8 in Culler & Singh (Directory-based Cache Coherence)Lecture notes
04/10/08 Friday Chapter 10 in Culler & Singh (Interconnection Network Design)Lecture notes

WRITTEN ASSIGNMENTS TO DATE

NAME ASSIGNED DUE DESCRIPTION
HW #101/07/09 Wednesday01/16/09 FridayCarefully survey the literature and then write a 4-6 page technical paper (single-spaced, 11-point font) in your own words that provides a concise 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 textbook. Based upon the material that you analyze, render conclusions about the future of computing and supercomputing in your opinion.
HW #201/26/09 Monday02/04/09 Wednesday MPI assignment (see handout); Wiki with access info for PCA students
HW #302/04/09 Wednesday02/13/09 Friday UPC assignment (see handout); Wiki with UPC info for PCA students
Class Project 02/06/09 Friday 02/23/09 Monday (proposal); 04/29/09 Wednesday (report) PCA project assignment (see handout)
Practice Set #102/20/09 FridayN/A Exercises 1.3, 1.7, 1.8, 1.12, 1.13, 1.16, 2.3a, 2.5, 2.7a, 3.2, 3.3, 3.4, 3.13, 4.5, 4.6
Practice Set #204/06/09 MondayN/A Exercises 5.1, 5.3 (note: "data 2 cycles after" should be "data 2 bus cycles after"), 5.4, 5.6ab, 5.11, 5.25, 5.27, 7.1-7.4, 7.6, 7.7, 7.13, 8.1, 8.3, 8.4, 8.7, 8.8, 8.10, 8.11, 10.1, 10.2, and 10.9.
NOTE: Each homework and project assignment is due at the beginning of class on the designated date.

EXAM SCHEDULE

DAY AND TIME TYPE
02/27/09 Friday, in-class exam Exam #1
04/17/09 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