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 Outcomes | No | Yes | ||
1 | Competence in fundamental and advanced knowledge of hardware and software Proficiency in problem solving. | ✔ | |||
2 | The ability to follow the contemporary technical development, and Initiative and aptitude for self-directed learning. | ✔ | |||
3 | They are capable of designing, and conducting experiments at advanced level. | ✔ | |||
4 | The ability to design and implement systems involving hardware, software, and the interaction between the two through challenging projects. | ✔ | |||
5 | Analyze 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). | ✔ | |||
6 | Strong interpersonal skills needed for working effectively in small, diverse groups on medium to large scale technical projects. | ✔ | |||
7 | Strong 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. | ✔ |