subject
Intro

openHPI: Parallel Programming Concepts

 with  Dr. Peter Tröger
Sponsored
Project Management Certificate
Cornell University via eCornell
Sponsored
Complexity Tutorials
Santa Fe University via Complexity Explorer

Since the very beginning of computer technology, processors have been built with ever-increasing clock frequencies and smarter optimizations for achieving a faster software execution. Developers and the software industry are used to applications becoming faster by merely exchanging the underlying hardware. However, since the beginning of the century it has become apparent that this approach no longer works.

Moore's law about the ever-increasing number of transistors per chip is still valid, but power consumption, thermal management and memory latency issues are making make serial code acceleration increasingly harder. Instead, hardware vendors now use additional transistors for multiple processing elements (‘cores’) per processor chip and deeper memory hierarchies. Modern hardware has the capability to transform any desktop, server, or even mobile system into some kind of parallel computer. This makes parallel programming the new default for application development. The exploitation of any additional horsepower from hardware is now in the responsibility of the software.

The openHPI online course “Parallel Programming Concepts” presents relevant theoretical and practical foundations for parallel programming. We show crucial theoretical ideas such as semaphores and actors, the architecture of modern parallel hardware, different programming models such as task parallelism, message passing and functional programming, and several patterns and best practices.

The course is suitable for all participants who are interested in getting a broader overview of parallelism, especially beyond the usage of multiple threads. Participants should have knowledge in at least one programming language - other skills are not necessary.

Syllabus

  • Week 1: Terminology and fundamental concepts
  • Week 2: Shared Memory Parallelism - Basics
  • Week 3: Shared memory parallelism – Programming
  • Week 4: Accelerators
  • Week 5: Distributed memory parallelism
  • Week 6: Patterns, best practices and examples
  • Exam: Exam
5 Student
reviews
Cost Free Online Course
Pace Self Paced
Subject Programming
Provider openHPI
Language English
Certificates Certificate Available
Calendar

Disclosure: To support our site, Class Central may be compensated by some course providers.

+ Add to My Courses
FAQ View All
What are MOOCs?
MOOCs stand for Massive Open Online Courses. These are free online courses from universities around the world (eg. Stanford Harvard MIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you.  They also have student discussion forums, homework/assignments, and online quizzes or exams.

5 reviews for openHPI's Parallel Programming Concepts

Write a review
0 out of 2 people found the following review useful
3 years ago
Marat Minshin completed this course, spending 4 hours a week on it and found the course difficulty to be medium.
Was this review helpful to you? YES | NO
0 out of 2 people found the following review useful
3 years ago
Marat Minshin completed this course.
Was this review helpful to you? YES | NO
2 years ago
Colin Khein completed this course.
Was this review helpful to you? YES | NO
a year ago
Thomas Cherickal completed this course.
Was this review helpful to you? YES | NO
0 out of 3 people found the following review useful
Was this review helpful to you? YES | NO

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free