SSE3054: Multicore Systems (Spring 2017)

[General information]

When: 10:30 - 11:45 (Monday) 09:00 - 10:15 (Wednesday)
Where: Lecture room #400112, Semiconductor Building
Instructor: Jinkyu Jeong
Assistant Professor
Computer Systems Laboratory
Course
Description:

Many modern processors provide multiple computing cores within a chip. From servers to embedded systems, multiple cores are favorable design alternative for higher performance. Parallel computing has a long history in Computer Science. Many interesting workloads today are parallel by nature. Parallel computing is on the verge of becomming highlighted in all fields of application areas. Architecture and compiler technology in parallel computing will be studied in this course.

Textbook:
  • A. Grama, A. Gupta, G. Karypis, V. Kumar, "Introduction to Parallel Computing", 2nd ed., Addison-Wesley, 2003 IPC
  • D. Culler, J.P. Singh, "Parallel Computer Architecture: A Hardware/Software Approach", Morgan Kaufmann, 2002 PCA
  • P. S. Pacheco, "An Introduction to Parallel Programming", Morgan Kaufmann, 2010 IPP
References:
  • M. Herlihy, N. Shavit, "The art of Multiprocessor Programming", Morgan Kaufmann, 2004
  • M. J. Quinn, "Parallel Programming in C with MPI and OpenMP"
  • J. A. Fisher, P. Faraboschi, C. Young, "Embedded Computing - A VLIW Approach to Architecture, Compilers, and Tools"
  • B. Chapman, G. Jost, R.v.d. Pas, D.J. Kuck, "Using OpenMP: Portable Shared Memory Parallel Programming"
  • W. Gropp, E. Lusk, A. Skjellum, "Using MPI: Portable Parallel Programming with the Message Passing Interface", 2nd edition.
Grading: (Subject to change)
  • Attendance 10%
  • Projects 40%
  • Mid-term exam 25%
  • Final-term exam 25%