[pyar] Threads o Multiprocessing?

Claudio Freire klaussfreire en gmail.com
Vie Oct 21 12:00:14 ART 2011


2011/10/21 DF-- <dj.foguelman en gmail.com>:
> Caso 1: El SO tiene como unidad de scheduling al proceso, tener varios
> procesos corriendo podría llevarte a tener cada cual de tus procesos que
> levantaste en un core pero no necesariamente sea así. El scheduler podría
> disponer que todos tus procesos corran en el mismo procesador, ¿cómo podrías
> "recomendar" que esto no sea así? ¿Hay alguna manera?

Affinity: (man taskset, man sched_setaffinity)

> Caso 2: El SO tiene como unidad de scheduling al thread. Todo va a correr en
> el mismo core.  Ahora que lo pienso, el scheduler del SO podría distribuir
> la carga de threads en distintos procesadores?

El SO puede. Python no permite que dos threads dentro del mismo
intérprete corran al mismo tiempo.
O sea, van a correr en cores diferentes, pero mientras uno corra, el
otro espera.
Limitación de CPython, no del SO. Algunas bibliotecas de extensión de
python liberan el GIL y te permiten concurrencia con threads. numpy,
scipy, imaging, son un par.



More information about the pyar mailing list