Tuesday, 19 January 2016

CS 606 : Foundations of Parallel Computation

Motivation behind the course :
Importance of simultaneous use of multiple processing units to solve one computational problem. Understanding fundamental theoretical issues in designing parallel algorithms and architectures.

Instructor :
Prof. Abhiram Ranade

Course Content :
Parallel computers based on interconnection networks such as hypercubes, shuffle-exchanges, trees, meshes and butterfly networks. Parallel algorithms for arithmetic, linear algebra, sorting, Fourier Transform, recurrence evaluation, and dense graph problems. Use of graph embedding techniques to compare different networks. Shared memory based parallel computers. Algorithms for list ranking, maximal independent set, arithmetic expression evaluation, convex hull problems and others. Message routing on multidimensional meshes, Butterfly networks, Hypercubes, Shuffle Exchange networks, Fat-trees and others. Simulation of shared memory on networks. Routing on expander-based networks. Limits to parallelizability and P-completeness. Thompson grid model for VLSI. Layouts for standard interconnection networks. Lower bound techniques for area and area time-squared tradeoffs. Area-Universal networks.

Who will find it interesting :
Any one who likes designing algorithms and theorem proving.

Logistics

Prerequisites :
Design and Analysis of Algorithms

Difficulty level : ⅘. Moderately tough. Requires effort to be put in by students and self study.

Lectures :
The pace of lectures was moderate. Attending them at time of new topic introduction and problem solving will help. Sometimes you might get bored if you don’t like proofs.

References:
Just focus on the things taught in class and consolidated notes(detailed lecture slides).


No comments:

Post a Comment