YoVDO

Python Parallel and Concurrent Programming Part 2

Offered By: LinkedIn Learning

Tags

Python Courses Merge Sort Courses Parallel Programming Courses Concurrent Programming Courses Matrix Multiplication Courses

Course Description

Overview

Write more effective programs that execute multiple instructions simultaneously. Learn advanced techniques for parallel and concurrent programming in Python.

Syllabus

Introduction
  • Learn parallel programming basics
  • What you should know
  • Exercise files
1. Synchronization
  • Condition variable
  • Condition variable: Python demo
  • Producer-consumer
  • Producer-consumer threads: Python demo
  • Producer-consumer processes: Python demo
  • Semaphore
  • Semaphore: Python demo
2. Barriers
  • Race condition
  • Race condition: Python demo
  • Barrier
  • Barrier: Python demo
3. Asynchronous Tasks
  • Computational graph
  • Thread pool
  • Thread pool: Python demo
  • Process pool: Python demo
  • Future
  • Future: Python demo
  • Divide and conquer
  • Divide and conquer: Python demo
4. Evaluating Parallel Performance
  • Speedup, latency, and throughput
  • Amdahl's law
  • Measure speedup
  • Measure speedup: Python demo
5. Designing Parallel Programs
  • Partitioning
  • Communication
  • Agglomeration
  • Mapping
6. Challenge Problems
  • Welcome to the challenges
  • Challenge: Matrix multiply in Python
  • Solution: Matrix multiply in Python
  • Challenge: Merge sort in Python
  • Solution: Merge sort in Python
  • Challenge: Download images in Python
  • Solution: Download images in Python
Conclusion
  • Additional resources
  • Next steps

Taught by

Olivia Chiu Stone and Barron Stone

Related Courses

Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems
Vanderbilt University via Coursera
Paradigms of Computer Programming
Université catholique de Louvain via edX
Introduction to Operating Systems
Georgia Institute of Technology via Udacity
Programming Mobile Services for Android Handheld Systems: Content
Vanderbilt University via Coursera
Advanced Software Construction in Java
Massachusetts Institute of Technology via edX