Como estamos eliminando el GIL en CPython
05/10/2024 , Treboada
Idioma: Español

El "Global Interpreter Lock" (GIL) de CPython impide que múltiples hilos ejecuten código Python en paralelo. El GIL se añadió a Python en 1992 junto con el soporte original para hilos con el fin de proteger el acceso al estado compartido del intérprete.

Python admite varias formas de habilitar el paralelismo dentro de las restricciones del GIL, pero vienen con limitaciones significativas. Por un momento, imagina que pudieras evitar el tiempo de inicio de los workers de joblib, la inestabilidad multiproceso de los DataLoaders de PyTorch y la sobrecarga de serializar datos para la comunicación entre procesos.

Empezando en Python 3.13, en el core team tenemos como objetivo eliminar el GIL de CPython para hacer que los programas Python multihilo sean más eficientes, manteniendo la compatibilidad hacia atrás y el rendimiento en un solo hilo.

Esta charla cubrirá los cambios en Python para permitir que se ejecute de manera eficiente sin el GIL y lo que estos cambios significan para los programadores de Python y los autores de extensiones.


Temática:

Core

Temáticas adicionales: Nivel de la propuesta:

Advanced (it is necessary to develop in the matter to acquire a deeper knowledge)

Miembro del Steering Council de Python, Python release manager de las versiones 3.10 y 3.11 y core developer de Python centrado en el desarrollo del interprete y el parser. Trabajo en el equipo de Python infraestructura en Bloomberg L.P. Paso mi tiempo libre haciendo simulaciones de agujeros negros y relatividad general. También tengo un gato pero no programa.