CSCE 4253/590
Concurrent Computing
Spring, 2006
http://csce.uark.edu/~aapon/courses/concurrent/


The objectives of this course are to investigate programming issues in modern concurrent and distributed platforms, including symmetric multiprocessors, clusters of computers, and grids. By the end of the course, each student should understand and be able to apply several specific tradeoffs for application and algorithm development, performance, and management on commodity symmetric multiprocessing and cluster platforms. Each student will complete several programming exercises based on the concepts studied in the course.

Textbook readings will come from Barry Wilkinson and Michael Allen, Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers, 2nd Edition, Prentice Hall, New Jersey, 2004.

Prerequisites: You should have had a course in operating systems (e.g., CSCE 4413) before taking this course. Some previous exposure to networking concepts is encouraged. Programming examples will be given in the C programming language.

On-line Materials: The schedule and a class email list archive will be available on-line.
Course Outline: Topics to be covered include:
  • a preliminary introduction to essential networking concepts,
  • parallel computing and types of parallel computers,
  • basics of message-passing parallel computing,
  • embarrassingly parallel computations,
  • partitioning and divide-and-conquer strategies,
  • pipelined computations,
  • synchronous computations,
  • programming with shared memory, pthreads,
  • parallel sorting algorithms,
  • numerical algorithms,
  • searching and optimization,
  • distributed computing using grids,
  • networks for high-performance cluster computing, and
  • parallel I/O and parallel file systems.
Professor/Place: Amy W. Apon
Phone: 575-6794
Lecture: TR 11:00-12:20, Engr 304
Grading: Grades in the course will be based on tests, written homework, and programming exercises. The breakdown is as follows:
  • Two tests will be given throughout the semester. Tests will count for 40% of the final grade.
  • Approximately five written homework or programming exercises will be assigned. Late assignments are subject to a grading penalty. No assignments will be accepted after papers have been returned. Written homework and programming exercises will count for 40% of the final grade.
  • Exams (One required final exam or project will be given): 20% The final exam period is Tuesday, May 9, 2006, 12:30-2:30.
  • Higher expectations will be required of students enrolled in CSCE590. Each student enrolled in CSCE590 will be required to give at least one presentation to the class, which will count for additional homework exercises.
Helpful Links: The Cluster Computing Info Centre is a good source of information about cluster computing in general.
MPI The Complete Reference by Marc Snir, et. al., The MIT Press, 1995 is a good alternate source of MPI information.
Safety and Computer Use: All use of computer equipment at the University of Arkansas falls under the acceptable computer use guidelines of the University. Any violations of these guidelines will result in dismissal from the course with a failing grade, and possible punitive or legal action!
Inclement Weather Policy: If Fayetteville Public Schools are in session then we will have class. If Fayetteville Public Schools are not in session then I will send email to the class mail list by 10am if class will be held. If csce.uark.edu is down, or if for some other reason I cannot send email then I will send a message though the CSCE Department office if possible. If class is cancelled then we will discuss schedule changes during the next class period. If class is cancelled on the day that an assignment is due or a test is scheduled then the scheduled date will be the next class period.
Course Credit: CSCE 4253 is worth 3 hours of undergraduate credit. Graduate students should enroll in CSCE 590 for graduate credit.


Last modified: Sat Jan 14 22:52:06 Central Standard Time 2006