Concurrent and Parallel Programming in Python

In a big data project, a plethora of information is retrieved, big numbers are crunched on our machine, or both. If the coding is sequential or synchronous, our application will struggle to execute. Two mechanisms to alleviate such bottlenecks are concurrency and parallelism. In Python, concurrency is represented by threading, whereas multiprocessing achieves parallelism.

This course begins with an introduction about potential programming speed bottlenecks and solving them. You will delve into Python concepts and create a Wikipedia Reader, Yahoo Finance Reader, Queues, and Master Scheduler. You will build a multi-threaded program to grab data from the Internet and parse and save them into a local database. Implement multiprocessing in Python, which lets us use multiple CPUs in our code. Learn about threading, multiprocessing, asynchronous wait, locking, multiprocessing queues, Pool Map Multiple Arguments, writing asynchronous programs, and combining async and multiprocessing.

Upon completion, we can spread our workload over all cores available on the used machine. We will combine both elements, multiprocessing with asynchronous programming, to maximize benefit and CPU resource usage and minimize the time spent waiting for IO responses. You will create multi-threaded, asynchronous, multi-process programs to make programs run faster.

All resources are available at: https://github.com/PacktPublishing/Concurrent-and-Parallel-Programming-…

Type
video
Category
publication date
2022-11-22
what you will learn

Learn to use concurrency and parallelism in Python
Write multi-threaded programs in Python to reduce coding lengths
Write multi-process programs that execute even faster
Understand the differences between concurrency and parallelism
Create asynchronous programs in Python by adding concurrency
Spread workload over all the cores available on a machine being used

duration
367
key features
Understand where potential computing speed bottlenecks arise and how we can resolve them * Create multi-threaded, asynchronous, and multi-process programs to make your programs run faster * Combine multiprocessing with asynchronous programming to get maximum benefits of coding
approach
The author delivers the courses in an online classroom format using high-quality onscreen video lectures and PowerPoint presentations. Each class begins with a quick refresher to the previously learned topic followed by an engaging and interactive video session and a summarization at the end of each lecture, thus enabling the learner to hone their skillsets learned efficiently.
audience
This course is aimed at intermediate- to mastery-level seeking programmers, API developers, web developers, and application developers who know basic- to intermediate-level Python coding beforehand. The topics on concurrency and parallelism expect one to be aware of basic to intermediate understanding of coding on Python. Prior knowledge of basic Python coding is desirable for optimal benefit from this course.
meta description
Learn to create multi-threaded, asynchronous, and multi-process programs in Python, so you can make your programs run faster. Maximize your use of CPU resources and minimize the time spent idly waiting for an IO response
short description
This intermediate-level course will help you learn how to use multi-threading and asynchronous programming to speed up programs that are heavily bottlenecked by IO operations. The course covers core concepts such as implementing multiprocessing in Python, creating various readers and schedulers, and monitoring your coding progress.
subtitle
Speed up your programs with concurrency and parallelism in Python
keywords
Concurrency, parallelism, asynchronous programs, multi-threading, multiprocessing. Python coding IO response
Product ISBN
9781804611944