Technological advances have resulted in increasing levels of on-chip functionality. Multi-core architectures have pervaded all levels of computing platforms, from smart phones to servers and high-performance computers. Extraction of parallelism from mainstream applications is thus even more imperative than in the past.
This seminar will examine new developments in the concurrency space - common (and new) programming platforms (languages and runtimes), scalable architectures that support concurrency, support for heterogeneous computing, energy and power-aware concurrency, and performance in the presence heterogeneity and imperfect reliability.
Basics about parallel and distributed systems will
be assumed (in other words, CSC 2/458 is a pre-requisite for this course). The list of papers we will read is still flexible, so input from anybody wanting to attend is welcome.