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.