Instructor: Prof. Stephen Jenks, 444E Engineering Tower, 949-824-9072, sjenks@uci.edu
Lectures: MW 3:00-4:20 PM, Social Science Plaza A (SSPA) 1165
Discussion: None (ignore what the Schedule of Classes says)
Office Hour: Wednesdays at 10:30 AM
Course Website: http://eee.uci.edu/02f/15853/
Textbook: Parallel Computer Architecture by Culler and Singh, Morgan Kaufmann Publishers
Recommended Book: Parallel Programming by Wilkinson and Allen, Prentice Hall. (Not in bookstore).
Lecture Notes: Slides may be made available on the website
Course Goals: This course will discuss the fundamental issues associated with parallel computing, with particular emphasis on scalability (of both hardware and software) and techniques to exploit available locality. The course will include topics from the textbook and papers and associated assignments. The course will include several project assignments, most of which will involve significant programming effort for parallel machines. In addition, a research-oriented project with written report will be required. Potential topics for this report will be announced in class.
Prerequisites: This is a graduate course, thus as a minimum, it requires understanding of the topics covered in ECE132 (Computer Organization) and ECE142 (Operating Systems). The preferred student will have taken ECE233 (Computer Architecture) and ECE231 (Advanced System Software) or equivalent. If you do not have strong understanding of computer architecture, including pipelining, caching, and superscalar, and operating systems, particularly threads and synchronization, or if you are not a strong programmer, you should not take this class. Most of the programming will be in C or C++, but some Python may be permitted. This will be a demanding course, intended for second-year graduate students, but you will get much satisfaction after completing the challenging project assignments.
Schedule: See Schedule page.
Grading Policy: The grades will primarily be computed from your project scores.
Item |
Percentage |
Programming Project 1: Shared Memory |
20% |
Programming Project 2: Distributed Memory with Much Communications |
20% |
Programming Project 3: Distributed Memory with Little Communications |
20% |
Research Report/Paper |
25% |
Quizzes, Class Participation, etc. |
15% |
Total |
100% |
Academic Honesty: UCI has an academic honesty policy that prohibits cheating and plagiarism. In this course, you will do the assignments, projects, quizzes, and exams (if any) by yourself. You can speak with your classmates about how to approach problems and about specific trouble you may have with an assignment, but you may not use someone else's code, nor can you use code or solutions from the web for programming projects. For your research report, you must use information from outside sources, so you need to provide proper attribution.
Other Rules: Please follow these rules to make our interactions more pleasant.
The Electronic Educational
Environment
http://eee.uci.edu/02f/15853/