CENG577 PARALLEL COMPUTING

Course Code:5710577
METU Credit (Theoretical-Laboratory hours/week):3 (3.00 - 0.00)
ECTS Credit:8.0
Department:Computer Engineering
Language of Instruction:English
Level of Study:Graduate
Course Coordinator:Prof.Dr. MURAT MANGUOĞLU
Offered Semester:Fall or Spring Semesters.

Course Objectives

To design and analyze parallel algorithms for large scale scientific and engineering problems,  and to get experience on parallel systems.

 


Course Content

Classification of computers and introduction to parallel architectures. Pipelining and vector processing. Organization of data and parallel storage. Design and analysis of parallel algorithms. Performance measures of parallel algorithms. Examples of parallel algorithms. Programming assignments for parallel solution of some problems on the PVM and the Transputer system.


Course Learning Outcomes

While the fastest computers are large parallel clusters today, programming them remains a challenge. The best algorithm and their implementation could be quite different than the sequential counterpart on a parallel platform. Programmer needs to consider multiple issues like how to load balance and how to effectively use multiple levels of caches and the communication network. Today parallel computing is every- where, it is not only the fastest computers, but also from your laptop to cellphone, most devices contain multiple processors. This course will focus on the architecture of the modern parallel computing platforms and the design, analysis and implementation of parallel algorithms for solving large scale science and engineering problems.


Program Outcomes Matrix

Contribution
#Program OutcomesNoYes
1Competence in fundamental and advanced knowledge of hardware and software Proficiency in problem solving.
2The ability to follow the contemporary technical development, and Initiative and aptitude for self-directed learning.
3They are capable of designing, and conducting experiments at advanced level.
4The ability to design and implement systems involving hardware, software, and the interaction between the two through challenging projects.
5Analyze and compare relative merits of alternative software design, algorithmic approaches and computer system organization, with respect to a variety of criteria relevant to the task (e. g. efficiency, scalability, security).
6Strong interpersonal skills needed for working effectively in small, diverse groups on medium to large scale technical projects.
7Strong oral communication skills essential for effectively presenting technical material to an audience and strong written communication skills and the ability to write technical documents that include specification, design, and implementation of a major project.