Course Syllabus

PCA Introduction

Description:  Introduction to fundamental and newly developing hardware and software topics in parallel computer architecture (PCA) including concepts, models, methods, metrics, systems, and applications.  PCA has become one of the most challenging and important areas of ECE, and it is now a dominant theme throughout computer architecture, systems, and programming, from low-power embedded systems to high-end supercomputers, and featuring various forms of fixed-logic (e.g., CPU, DSP, GPU), reconfigurable-logic (e.g., FPGA), and hybrid (e.g., CPU+DSP, CPU+FPGA, CPU+GPU, CPU+FPGA+GPU) processing devices. 

Prerequisites: Passing grade (i.e., B or better) in EEL5764 Computer Architecture (c/o ECE) or CDA5155 Computer Architecture (c/o CISE), or consent of the professor.

Time and Place: 4th period (10:40-11:30am) MWF, Room 310, 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 their interactions, as well as exposure to research challenges in this field, through class lectures and discussions, reading assignments, homework exercises, pop quizzes, and a major research project.

Professor: Dr. Alan D. George, Professor of ECE, Founder & Director of the NSF CHREC Center, 327 Larsen Hall, ageorge@ufl.edu, (352) 392-5225, Office Periods = MF3 (9:35-10:25), W5 (11:45-12:35), or by appointment.

Teaching Assistant: Mr. Dhananjay (DJ) Kumar and Ms. Vandana Ravichandran, 331 Larsen Hall, djkumar@hcs.ufl.edu and ravichandran@hcs.ufl.edu, Office Periods = M7-8 (13:55-15:50), T8-9 (15:00-16:55), W7 & 9 (13:55-14:55 and 16:05-16:55), R3-5 (09:35-12:35), and F6 & 8-9 (12:50-13:40, 15:00-16:55), or by appointment.

Required Textbook:  A. Grama, A. Gupta, G. Karypis, and V. Kumar, Introduction to Parallel Computing, 2nd Edition, Pearson: Addison-Wesley, 2003. An errata list is available by John Kirk.  Also required is the textbook (i.e., Hennessy & Patterson) from our CA prerequisite course, which the student should already possess.

PCA Content

General Topics:

  • Basic concepts in PCA
  • Design concepts, methodologies, and strategies
  • Message-passing and shared-memory programming paradigms
  • Parallel programming languages and tools
  • Fixed, reconfigurable, and hybrid device architectures and options
  • Parallel algorithmic complexity
  • Performance prediction and evaluation and tools
  • Shared-memory architectures
  • Distributed-memory architectures
  • Cache coherency and consistency
  • Interconnection networks
  • Research challenges and opportunities
  • Case studies and special 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 provide students the opportunity to more deeply explore fundamental issues in PCA. Students will form small teams to propose and 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. 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.

PCA Policies

Grading Policy:

·  25% from Exam #1 (covers first half of semester) – Wednesday, February 24 (class #21)

·  25% from Exam #2 (covers second half of semester) – Monday, April 18 (class #41)

·  40% from Class Project (working in small teams)

·  10% from Homework, Quizzes, and Class Participation

·  In determining final grades, total scores in PCA will be sorted and converted into letter grades via a Gaussian curve, where scores in the upper half will equate to a B+ or better

Note: Graduate students must have an overall GPA of 3.0 (B) or better to graduate.  For example, a B- average, which equates to a GPA of 2.67, does not satisfy this requirement.

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. Late assignments and makeup exams will only be permitted in the case of documented medical emergencies.

Attendance Policy: Students are expected to regularly attend classes and participate with Q&A for the benefit of all.  While some lecture materials will be posted on-line, others (derivations, exercises, etc.) will likely not, and pop quizzes will be administered in this course, so attendance will be particularly important.

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

Academic Honesty: All work submitted in this course must be your own and produced exclusively for this course. The use of sources (ideas, quotations, paraphrases) must be properly acknowledged and documented. Your professor in this course requires the utmost degree of academic honesty and ethics, and thus any violations (e.g., plagiarism) will be treated and handled very 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 completely honest in all assignments and exams in this and all courses. If at any time questions arise regarding what is or is not appropriate, the student should ask the professor for guidance or clarification before proceeding. 

Accommodation 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 professor when requesting accommodation.

UF Counseling Services: Campus resources are available for students having personal problems or lacking clear career and academic goals. The resources include: (1) UF Counseling & Wellness Center, 3190 Radio Rd, 392-1575, psychological and psychiatric services; and (2) Career Resource Center, Reitz Union, 392-1601, career and job search services.

Software Use: All faculty, staff, and students of UF are required and expected to obey the laws and legal agreements governing software use. Failure to do so can lead to monetary damages and/or criminal penalties for the individual violator. Because such violations are also against University policies and rules, disciplinary action may be taken as appropriate.

PCA References

Suggested Reference Books:

·  D. Culler and J. Singh, Parallel Computer Architecture: A Hardware/Software Approach, Morgan Kaufmann, 1999.

·  P. Pacheco, An Introduction to Parallel Programming, Morgan Kaufmann, 2011.

·  B. Gaster, L. Howes, D. Kaeli, P. Mistry, and D. Schaa, Heterogeneous Computing with OpenCL, Morgan Kaufmann, 2011.

·  T. El-Ghazawi, W. Carlson, T. Sterling, and K. Yelik, UPC: Distributed Shared Memory Programming, Wiley, 2005.

·  R. Bisseling, Parallel Scientific Computation: A Structured Approach using BSP and MPI, Oxford Univ. Press, 2004.

·  H. Jordan and G. Alaghband, Fundamentals of Parallel Processing, Prentice Hall, 2003.

·  T. Mattson, B. Sanders, and B. Massingill, Patterns for Parallel Programming, Addison-Wesley, 2004.

·  R. Miller and L. Boxer, Algorithms Sequential and Parallel: A Unified Approach, Prentice Hall, 2000.

·  V. Eijkhout, Introduction to Scientific and Technical Computing, http://tacc-web.austin.utexas.edu/veijkhout/public_html/istc/istc.html.

·  D. Kirk and W. Hwu, Programming Massively Parallel Processors: A Hands-on Approach, 2/e, Newnes, 2012.

 

Course Summary:

Course Summary
Date Details Due