TOPICS IN COMPUTER ENGINEERING: Parallelism, Scalability, and Locality
ENGRECE 238, Course Code: 15853
Quarter: Fall Quarter 2002


Syllabus | Home

9/29/02

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.

  1. When emailing me, make sure the subject line begins with "ECE238"
  2. Use your UCI email to communicate with me or at least include your UCI email address in the message
  3. No "L33T Speak" or chatroom jargon ("ur" rather than "your," for example) in emails. They will be deleted without reply.
  4. Don't try to break security on any of the computers related to this class. Immediate failure will be the result of trying to break my cluster. I don't get paid to be a system administrator!

The Electronic Educational Environment http://eee.uci.edu/02f/15853/