PyconFr

Strasbourg, 26-29 Octobre

PyConFR 2013 - Strasbourg du 26 au 29 octobre 2013

samedi 12:00:00–12:30:00

Les effets de bord du Global Interpreter Lock

Adrien Guillo

Audience level:
Experienced

Description

Le GIL n’affecte pas seulement les threads CPU bound. Ce talk vise à présenter les effets secondaires du GIL sur: - la gestion des signaux - le scheduling des threads sur les processeurs multi-coeurs - les inversions de priorité entre threads CPU bound et threads I/O bound

Abstract

"C'est seulement dans le cas de programmes multi-threadés qui passent beaucoup de temps au sein du GIL à interpréter du bytecode CPython que le GIL devient un goulot d'étranglement"

C'est ainsi que le GIL est présenté sur wiki.python.org jusqu'en 2009. Suite aux travaux de David Beazley (http://www.dabeaz.com) en 2009 et 2010, la communauté Python découvre que les effets du GIL vont au delà.

En effet, l'implémentation du GIL met en oeuvre une mécanique complexe qui ajoute un overhead important d'appels systèmes, particulièrement sur les processeurs multi-coeurs. De plus, le GIL pertube la livraison des signaux. Enfin, le GIL peut provoquer le scheduling de threads CPU bound avant celui de threads I/O bound, provoquant une dégradation des performances.

Ce talk s'appuyant sur les travaux de David Beazley (avec son aimable autorisation) tentera de donner une explication claire et détaillée aux effets de bord du GIL mentionnés ci-dessus.

Sponsors