CSC 258/458 Parallel and Distributed Systems

Organization

Class
CSC 258/458 Parallel and Distributed Systems
Instructor
Sreepathi Pai
Lecture
TR 15:25-16:40 CSB 209 Hylan 201 (from 1/25)
E-mail
sree@cs.rochester.edu
Office Location
Wegmans Hall 3409
Office Hours
By appointment, though you're free to drop by my office between 10AM and 5PM on weekdays and see if I'm available
TA
Haichuan Yang
TA E-mail
hyang36@ur.rochester.edu
TA Office
Wegmans Hall 3207
TA Office Hours
Wednesdays 14:00--15:00, or by appointment
Links
Piazza

Academic Honesty

All assignments and activities associated with this course must be performed in accordance with the University of Rochester's Academic Honesty Policy. More information is available at: http://www.rochester.edu/college/honesty.

Description

(from CDCS) Principles of parallel and distributed systems, and the associated implementation and performance issues. Topics covered will include programming interfaces to parallel and distributed computing, interprocess communication, synchronization, and consistency models, fault tolerance and reliability, distributed process management, distributed file systems, multiprocessor architectures, parallel program optimization, and parallelizing compilers. Students taking this course at the 400 level will be required to complete additional readings and/or assignments.

See the Syllabus for more details.

Goals

Students who take this course will learn:

  • High-performance parallel programming on modern multicore shared memory systems
  • Building systems that distribute computation over many computers

Students will be expected to demonstrate mastery of these goals by building a project.

Pre-requisites

CDCS lists CSC 254 and CSC 256 as pre-requisites. I strongly recommend you review the parallel programming material in these courses.

This course will contain a significant number of programming assignments and strong maturity in C/C++ programming is expected.

Grading

The grades for this class will be determined by:
  • Homeworks: 15%
  • Assignments: 60%, comprising 6 assignments. Some assignments are worth more than others.
  • Project: 25% (can be in teams of up to 2)

The project will involve significant programming, a written project report and a short presentation. Detailed instructions for the project will be posted later.

Late submissions

Submissions within a day of deadline will be penalized up to 10%.

Submissions late beyond a day will not be graded except at instructor's discretion.

Inform the instructor in advance if circumstances beyond your control will make you miss a deadline.

Previous Incarnations

Here are links to the two most recent offerings of this course.