We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Python's Parallel Programming Possibilities - 4 levels of concurrency

Formale Metadaten

Titel
Python's Parallel Programming Possibilities - 4 levels of concurrency
Untertitel
multiple Machines, Processes, Threads and Asyncio - what they are and why you might use them
Serientitel
Anzahl der Teile
118
Autor
Lizenz
CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
I'm going to talk about the 4 main levels of parallelism in modern Computing: multiple (virtual) machines multiple processes multiple threads multiple green threads, aka asyncio Why you might use each of them, how to go about doing so with python and some of the pitfalls you might fall into along the way. To do so, I'll give short examples in code of achieving each level: leveraging multiple hosts using RQ, and also the possibility of RPC with HTTP multiprocessing and threading using their respective modules from the python standard library asyncio demonstrated with AIOHTTP That sounds great, but there are ""gotchas"" you should know about before you get started, for example: multiple machines can actually be multiple virtual machines on the same host effectively communicating between processes is hard, how can we go about making it easier? the limitations of threading and the GIL runemin/emexecutor - do we ever really need to use multiprocessing or threading directly again use of asyncio when dealing with both networking between hosts and between processes - you end up using two different kinds of concurrency at the same time. That can be confusing, but also awesome. I'll finish of by showcasing a library I built, arq which is a job queueing and RPC library for python which uses asyncio and Redis.
Schlagwörter