Shrinking Your Execution Time with Concurrency and Parallelism in Python
Mahim Dashora (~mahim0) |
Description:
Abstract:
In this talk, we will explore the world of Python concurrency and delve into its three main modules: threading, multiprocessing, and asyncio. We'll uncover when and how to use each module effectively to tackle different types of tasks in your projects. This talk will also discuss the Global Interpreter Lock (GIL) and how it affects the performance of parallelly implemented applications. To ensure smooth parallel execution, we'll cover various approaches to inter-process communication, including locking mechanisms, shared data structures, and message passing. We'll gain practical insights into implementing these techniques to avoid race conditions and ensure data consistency in your multiprocessing programs.
Keywords: Python, concurrency, threading, multiprocessing, GIL, I/O bound tasks, CPU bound tasks
Benefits:
- Learn the different types of concurrency models available in Python
- Learn how to choose the right concurrency model for your task
- Understand the impact of the Global Interpreter Lock (GIL) on multithreaded applications
Prerequisites:
Basic Python , basic idea of Race conditions and Mutex locks
Video URL:
https://drive.google.com/file/d/1ulNkWzhyfjXdSURmwhE_9OHs3BAcFD_q/view?usp=sharing
Content URLs:
Blog 1: shrinking-your-execution-time-with-concurrency-and-parallelism-in-python
Blog 2: problems-arising-with-parallelism-read-write-conflicts-and-how-to-resolve-them
Speaker Info:
An upcoming Software Development Engineer at Cisco .Curious about Concurrency ,Devops ,Distributed Sytems , Machine Learning and regularly read regarding these topics . Extreme gamer, if away from the keyboard you can find him hiking or playing Table Tennis.