It is expected that parallelism has to be exploited as the single-CPU technology will eventually slow down. The issue is at what level(s) of the technology. As of now, parallel architectures based on standard microprocessors and (less standard) interconnection networks still offer a viable alternative, although challenging issues, as well as opportunities, remain.
This course emphasizes parallel algorithms and their analysis. We will go over parallel architectures from time to time that make an impact. Most of the algorithms have applications or have implications for applications.
This will be a comprehensive course, as we will cover many grounds. This area is rich with ideas from diverse fields, from theory to technologies. It is also fast changing. I will also cover distributed algorithms. This class of algorithms should become more important as the Internet takes off.
This course complements Algorithms course and Discrete Mathematics course. To some extent, it is also relevant to Computer Architecture course.
I hope you will be rewarded with the ideas and challenges facing this field. I also wish that you can take some of the ideas and techniques learned here and apply them elsewhere.
The major results covered in the course, time permitting, are listed below
for your reference. The next classroom topics are in