Shrinking Your Execution Time with Concurrency and Parallelism in Python

Mahim Dashora (~mahim0)


3

Votes

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

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.

Speaker Links:

Github Twitter Linkedin Medium

Section: Concurrency
Type: Talks
Target Audience: Beginner
Last Updated: