Motivation.
With the end of the ever-increasing clock frequency,
parallel processing has become the only option to expand
processing power. Moore's law now applies for the number of
on-chip processors. The course focuses on how the software
developer can exploit concurrent programming. |
Goal. The student will understand the
architecture of the various modern parallel systems. He will
be able to conceive, implement and analyze parallel
algorithms. He will understand why the utilization of
parallel resources is not for free, that parallel processing
out-of-the-box does not exist. The student will be able to
utilize modern parallel technology autonomously, in the
design of efficient parallel solutions for all kinds of
sequential algorithms. He will be able to apply his understanding of low-level processes and hardware characteristics to devise high-performant, scalable solutions. Since the quality of parallel programs is also determined by their genericity, usability and cost he will have learned to employ advanced principles of software engineering to design flexible and reusable parallel software. The student will have learned to look for twofold-generic parallel solutions. On the one hand, the solution should be appropriate to a wide variety of parallel systems, such as a dedicated cluster, a GRID environment or a multiprocessor. On the other hand, it should be easy-to-use and efficient for a broad class of similar algorithms. The student will understand the trade-off between genericity and performance. This integration of high-level software issues and low-level hardware characteristics will have sharpened his general IT-skills. By the practicum, the student will have demonstrated that he can make good judgments about complex situations and communicate his conclusions. Specific or complex parallel solutions are possible, but these are difficult to maintain and less generic. Only simple, clever solutions are feasible. The student will be able to participate to discussions about exploiting parallelism and the proper use of modern technology. |
- Back to the top -