Recommended for
Graduate (CUGS, CIS, ...) students with some background in parallel programming
interested in code quality metrics and analysis techniques for parallel
computing software, with special emphasis of multicore, heterogeneous
and cluster-level parallelism.
Organization and Schedule
The course will
run in weeks 2 and 3, i.e., mid january 2022.
The course was last given
This is a new course.
Goals/Contents
Software quality is a well-established subject of research for sequential programming,
but for work in parallel and heterogeneous computing it is still often
handled in an ad-hoc way, and there is little systematic research about it.
This course attempts to structure and elaborate on central concepts
and the state of the art in parallel software quality analysis.
We will consider the following quality aspects of programs for parallel, heterogeneous and cluster systems:
The course focuses on software for parallel, heterogeneous and cluster systems,
i.e., where performance and efficient resource utilization has traditionally had
a higher priority than "soft" metrics such as code readability.
The course does not consider correctness properties and their verification
for concurrent programs, such as race-freeness, nor of real-time programs,
such as schedulability, for which separate courses exist at the department (at master-level or PhD level).
Literature
Will be announced later.
Examination
Credit
3hp if all examination moments are fulfilled.
Comments
The course will be given under all circumstances, even with only one participant.
It may or may not be given on distance.
Related Courses
This course complements the IDA master-level courses on parallel programming (TDDC78, TDDD56) which are also open to PhD students.