Parallel Programming Concepts (WT 2013/14)

Dr. Peter Tröger


Since the very beginning of computers, processors were build with ever-increasing clock frequencies and instruction-level optimizations for faster serial code execution, such as ILP, caches, or speculative engines. Software developers and industry got used to the fact that applications get faster by just exchanging the underlying hardware. For several years now, these rules are proven to be no longer valid. Moore's law about the ever-increasing number of transistors per die is still valid, but decreased structural sizes and increased power consumption demand stalling, or even reduced, clock frequencies. Due to this development, serial execution performance no longer improves automatically with the next processor generation.

In the 'many-core era' that happens now, additional transistors are used not to speed up serial code paths, but to offer multiple execution engines ('cores') per processor. This changes every desktop-, server-, or even mobile system into a parallel computer. The exploitation of additional transistors is therefore now the responsibility of software, which makes parallel programming a mandatory approach for all software with scalability demands.

Predecessor of this series: Parallel Programming Concepts (WT 2012/13)

Introduction

Introduction

Date: October 17, 2013
Language: English
Duration: 01:21:16

Terminology & Fundamental Concepts

Terminology & Fundamental Concepts

Date: October 21, 2013
Language: English
Duration: 01:24:14

Terminology & Metrics

Date: October 24, 2013
Language: English
Duration: 01:24:56

Metrics

Date: October 28, 2013
Language: English
Duration: 00:40:28

Workloads

Date: October 28, 2013
Language: English
Duration: 00:33:46

Foster Methodology

Date: November 4, 2013
Language: English
Duration: 00:37:42

Execution Environments

Shared-Memory Concurrency

Date: November 4, 2013
Language: English
Duration: 00:42:15

Shared Memory Concurrency (2)

Date: November 7, 2013
Language: English
Duration: 01:19:08

Shared-Memory Hardware

Date: November 11, 2013
Language: English
Duration: 01:19:24

Parallel Processing

Date: November 14, 2013
Language: English
Duration: 01:12:54

Shared-Memory Hardware & Shared-Memory Programming Models

Date: November 18, 2013
Language: English
Duration: 01:23:56

Assignment Feedback & C++

Date: November 21, 2013
Language: English
Duration: 01:25:55

OpenMP

Date: November 25, 2013
Language: English
Duration: 01:27:34

Cilk

Date: November 28, 2013
Language: English
Duration: 01:19:42

Advanced Shared-Memory Programming

Date: December 9, 2013
Language: English
Duration: 01:29:00

GPU Computing with OpenCL

GPU Computing with OpenCL

Date: December 2, 2013
Language: English
Duration: 01:19:12

Hardware Characteristics & Performance Tuning

Date: December 5, 2013
Language: English
Duration: 01:24:02

Shared Nothing Parallelism

Shared Nothing Parallelism

Date: December 12, 2013
Language: English
Duration: 01:24:15

Shared Nothing Parallelism - Theory

Date: December 16, 2013
Language: English
Duration: 01:21:16

Shared Nothing Parallelism - MPI

Date: January 6, 2014
Language: English
Duration: 01:26:52

Assignment Feedback 3

Date: January 9, 2014
Language: English
Duration: 00:37:30

Non-Blocking- & Collective Communication

Date: January 9, 2014
Language: English
Duration: 00:42:49

MPI

Date: January 13, 2014
Language: English
Duration: 00:33:59
MPI 00:33:59
Recap 00:12:55
MPI Prefix Scan 00:16:28
What Else 00:04:36

Recent Trends of Discussed Topics

Actors and Channels

Date: January 13, 2014
Language: English
Duration: 00:37:48

Erlang, Scala & Go

Date: January 16, 2014
Language: English
Duration: 01:24:55

Assignment Feedback 4

Date: January 20, 2014
Language: English
Duration: 01:23:31

What Will Future Hardware Look Like?

Date: January 23, 2014
Language: English
Duration: 01:22:33

Systems

Date: January 27, 2014
Language: English
Duration: 01:19:16

What are the (Computationally) Demanding Problems/Applications of the Future?

Date: January 30, 2014
Language: English
Duration: 01:24:30

What Kind of Programming Model Can Bridge the Gap?

Date: February 3, 2014
Language: English
Duration: 01:19:27

Assignment Feedback 5

Date: February 6, 2014
Language: English
Duration: 00:23:34

Summary

Summary

Date: February 7, 2014
Language: English
Duration: 00:56:32