In this Concurrent and Parallel Programming Concepts training course, expert author Martin Kalin will teach you everything you need to know to master concurrent and parallel programming. This course is designed for users that already a basic working knowledge of programming concepts.
You will start by learning about concurrency and parallelism, then jumping into learning the basics of multiprocessing. From there, Martin will teach …
Concurrent and Parallel Programming Concepts
Video description
In this Concurrent and Parallel Programming Concepts training course, expert author Martin Kalin will teach you everything you need to know to master concurrent and parallel programming. This course is designed for users that already a basic working knowledge of programming concepts.
You will start by learning about concurrency and parallelism, then jumping into learning the basics of multiprocessing. From there, Martin will teach you about multiprocessing through richer code examples, as well as multithreading through richer code examples. This video tutorial also covers thread-safety and high-level concurrent types in Java, options for thread synchronization and cooperation, and concurrency and non-blocking I/O. Finally, you will learn the basics of parallelism, parallelism and performance, and parallelism and distributed computing.
Once you have completed this computer based training course, you will have learned everything you need to know about concurrent and parallel programming. Working files are included, allowing you to follow along with the author throughout the lessons.
Overview Of Concurrency, Parallelism, And Non-Blocking I-O
00:07:05
About The Author
00:01:39
Technical Definitions Of Concurrency And Parallelism
00:04:05
Why Examples In Various Programming Languages?
00:04:48
The Big Picture - Apps, System Libraries, And Kernel Routines
00:06:16
Getting Started
00:04:46
Concurrency And Parallelism
Processes And Threads
00:06:54
Multiprocessing
00:06:14
Multithreading
00:05:10
Non-Blocking I-O
00:06:13
Chapter Review
00:05:53
Hybrid Approaches - The Rule, Not The Exception
00:08:15
Multiprocessing Basics
Overview Of The First Multiprocessing Example - Unnamed Pipes In C
00:07:15
Source Code For The First Multiprocessing Example
00:07:58
Overview Of The Second Multiprocessing Example - Named Pipes In C
00:04:25
Source Code For The Second Multiprocessing Example
00:04:33
Multiprocessing The Nginx Web Server
00:08:10
Overview Of Execing And Forking Options In Multiprocessing
00:05:13
Source Code For The Execing Multiprocessing Example
00:04:46
Process Tracking And Management
00:08:22
Multiprocessing Through Richer Code Examples
Multiprocessing In Node JS
00:06:03
Interprocess Communication Mechanisms - IPC
00:06:54
Overview Of The Shared-Memory IPC Example
00:06:01
Source Code For The Shared-Memory IPC Example
00:05:57
The Nginx Web Server And Unicorn App Server Architecture
00:07:03
Overview Of The Three Sample Web Servers
00:04:11
The Multiprocessing Web Server
00:07:47
Exercise - Which Process Prints What And Why?
00:04:48
Upsides And Downsides Of Multiprocessing
00:05:40
Multithreading Basics
Overview Of Multithreading
00:04:49
A Sample Race Condition In Java
00:06:51
Analysis Of The Race Condition Code
00:06:02
Overview Of Explicit Thread Locking
00:08:02
A Sample Deadlock In Java
00:07:16
High-Level Concurrency Management In Multithreading
00:05:28
Wrap Up Of Multithreading Basics
00:05:26
Exercise - Timing The Cost Of Explicit Locking
00:03:51
Multithreading Through Richer Code Examples
The Miser-Spendthrift Problem In C
00:09:22
Fixing The Miser-Spendthrift Problem In C
00:06:00
Overview Of The Miser-Spendthrift Problem In Java
00:04:57
Miser-Spendthrift Examples In Java
00:06:56
Thread Synchronization As Cooperation
00:06:47
The Thread-Safe Stack Example In Java
00:08:49
The Multithreading Web Server
00:07:29
Chapter Review
00:06:02
Exercise - Thread Pools And Thread Cooperation
00:06:33
Race Condition Exercise
00:01:28
Thread-Safety And High-Level Concurrent Types In Java
Thread Safety Through High-Level Thread-Safe Data Types
00:07:55
Overview Of The BlockingQueue Example In Java
00:05:17
The BlockingQueue Example - The Java Code
00:05:10
Overview Of The Semaphores Example
00:05:44
The Semaphore-Executor Code Example In Java
00:08:43
Overview Of The Fork-Join Framework In Java
00:06:58
The Filesearcher Example In Java
00:06:16
Futures And Callables In Java - A Code Example
00:06:03
Thread Safety Through Immutable Types And Pure Functions
00:07:53
Chapter Review
00:07:09
Exercise - A Producer-Consumer Program With Thread-Safe Channels
00:04:38
Options For Thread Synchronization And Cooperation
Locking Memory Versus Thread-Safe Channels And Memory Owners
00:05:19
Overview Of Goroutines And Channels
00:05:38
Explicit Locking In Go - The Miser-Spendthrift Problem Redux
00:06:27
Thread-Pooling And Thread-Safe Channels In Go - The Miser-Spendthrift Problem Yet Again
00:09:05
Chapter Review
00:08:13
Concurrency And Non-Blocking I-O
What Exactly Is Non-Blocking I-O?
00:07:15
Non-Blocking I-O As A Concurrency Mechanism
00:06:02
Overview Of The Epoller Example In C
00:05:08
The Epoller Code Modules In C
00:08:29
Overview Of The Non-Blocking I-O Example In Java
00:05:09
The Non-Blocking Server Code - Java
00:08:30
The Non-Blocking Client Code - Java
00:07:14
Overview Of The Polling Server Web Server
00:06:30
The Code For The Polling Server
00:06:38
Exercise - Polling Multiple Data Sources Using Non-Blocking I-O
00:04:31
Parallelism Basics
Overview Of Parallelism Beyond Concurrency
00:05:58
Flynn Taxonomy As A Starting Point
00:04:45
A SIMD Auto Vectorization Code Example In C
00:05:47
The Parallel Instructions Of The SIMD Example In The Assembly Code
00:08:22
Timing The Performance Boost From Parallelism - A Code Example
00:04:58
Overview Of The OpenMP Framework For Auto Vectorization
00:04:43
OpenMP Basics In A Code Example
00:04:37
The Miser-Spendthrift Problem In OpenMP
00:05:07
SIMD Programming In OpenMP
00:07:48
Wrap Up On Data Parallelism - SIMD Basics
00:04:53
Parallelism And Performance
How Can Performance Gains Through Parallelism Be Measured?
00:06:04
The ParallelSort Program In Java
00:04:12
Amdahls Law By Example
00:07:37
Exercise - Use Timings To Get Data On Performance Trends
00:03:03
Parallelism And Distributed Computing
Distributed Systems And Parallelism Overview
00:04:33
Map-Reduce Overview
00:04:11
Java 8 Support For Map-Reduce Operations
00:07:31
Map-Reduce Code Example - The Book Index Program In Java
00:07:22
OpenMPI Overview
00:04:49
OpenMPI Example - MPI Basics
00:05:22
OpenMPI Example - MPI Message Passing
00:07:31
Wrap Up Of Distributed Systems And Parallelism
00:05:35
Exercise - Code An OpenMPI Solution To The Book Index Map-Reduce Problem
00:03:15
Conclusion
Course Wrap Up
00:04:26
Start your Free Trial Self paced Go to the Course We have partnered with providers to bring you collection of courses, When you buy through links on our site, we may earn an affiliate commission from provider.
This site uses cookies. By continuing to use this website, you agree to their use.I Accept