ENGS 67 - Programming Parallel Systems

Description

Multi-core processors are now ubiquitous in most personal computers. These are the fundamental computer-engineering building blocks for high-performance servers, blade farms, and cloud computing. In order to utilize these devices in large systems they must be interconnected through networking and collectively programmed. This hands-on system-engineering course offers students the opportunity to explore problem-solving techniques on a high-performance multi-computer containing multi-core processors. The course involves weekly programming laboratories that teach POSIX thread, UDP and TCP network, and MPI style programming techniques. These techniques are explored in the context of scalable problem solving methods applied to typical problems in science and engineering ranging from client-server sensing and data repositories, to numerical methods, gaming and decision support. All laboratories will be conducted in the C programming language and proficiency in C is required. Enrollment is limited to 30 students.
Includes Lab
Culminating Experience

Prerequisites

Prerequisite: ENGS 20 or COSC 50

Cross Listed Courses

COSC 063

Distribution Code

TLA

Notes

Not offered 2021-2023

Offered

Term
Time
Location / Method
Instructor(s)
Term: 2023
Time:
Location:
Instructors:

A&S Staff


Term: 2024
Time:
Location:
Instructors:

A&S Staff