Skip to main content This is the website for an older EuroPython. Looking for the latest EuroPython? Click here!
EuroPython logo

From built-in concurrency primitives to large scale distributed computing

Track:
PyData: Data Engineering
Type:
Talk (long session)
Level:
intermediate
Room:
Terrace 2A
Start:
12:10 on 10 July 2024
Duration:
45 minutes

Abstract

This talk is specifically designed for Python developers and data practitioners who wish to deepen their skills in asynchronous code execution, from single CPU applications to complex distributed systems with thousands of cores. We’ll provide a detailed exploration and explanation of Python’s asynchronous execution models and concurrency primitives, focusing on Future and Executor interfaces within the concurrent.futures module, and the event-driven architecture of asyncio. Special attention will be given to the processing of large datasets, a common challenge in data science and engineering.

We will start with the fundamental concepts and then explore how they apply to large scale, distributed execution frameworks like Dask or Ray. On step-by-step examples, we aim to demonstrate simple function executions and map-reduce operations. We will illustrate efficient collaboration between different concurrency models. The session will cover the transition to large-scale, distributed execution frameworks, offering practical guidelines for scaling your computations effectively and addressing common hurdles like data serialization in distributed environments.

Attendees will leave with a solid understanding of asynchronous code execution underpinnings. This talk will empower you to make informed practical decisions about applying concurrency in your data processing workflows. You will be able to seamlessly integrate new libraries or frameworks into your projects, ensuring optimal development lifecycle, performance and scalability.

Recording

Play

Resources