CMSC 502. Parallel Algorithms. 3 Hours.

Semester course; 3 lecture hours. 3 credits. Prerequisites: CMSC 312 and CMSC 401, graduate student standing or acceptance into the five-year accelerated B.S. and M.S. program in computer science. Software and hardware mechanisms for providing mutual exclusion in uniprocessor and multiprocessor environments. Architectural issues including pipeline design, superscalar computers, multiprocessors, memory systems, peripherals, interfacing techniques, networks, performance and software issues. Design and uses of parallel algorithms to solve concurrency problems in a distributed environment including message passing and remote procedure calls. Students will work in teams (as well as on individual projects) to design and implement parallel algorithms.