Parallel processing systems are characterized fundamentally by the existence of multiple agents that cooperate in the execution of a task. A parallel processing system is usually called as a distributed system if its agents must rely on message passing as the only means for communicating with one another. This and the following course ( CS 6035 ) address two main aspects: (a) the study of various parallel/distributed computer architectures, and (b) the design and analysis of parallel/distributed algorithms. The emphasis in this course will be on the following topics: (a) architectures and simple computational models, (b) fundamental numeric and non-numeric algorithms, (c) applications (e.g. image processing, pattern recognition and relational databases), and (d) parallel/distributed programming using the message passing the interface (MPI) and openMP software on a PC Cluster. |