[Python] web: sync vs. async

Daniele Varrazzo piro a develer.com
Ven 2 Dic 2011 18:58:15 CET


On Fri, 02 Dec 2011 18:52:40 +0100, Manlio Perillo wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Il 02/12/2011 17:40, Daniele Varrazzo ha scritto:
>> On Fri, 2 Dec 2011 17:34:27 +0100, Alessandro Dentella wrote:
>>
>>> stavo per fare questo ed ho avuto un dubbio: come faccio a 
>>> garamntirmi
>>> che
>>> partano su processori differenti?
>>
>> Te lo dice Linus Torvalds :)
>>
>
> Non mi risulta (a meno che non sia una battuta).
>
> Per garantire che i processi *partano* su processori differenti, IMHO
> devi usare le affinity mask (linux.die.net/man/2/sched_setaffinity).
>
> Il fatto è che non ti interessa su che processore parta un processo,
> perchè lo scheduler lo muoverà da un processo all'altro durante la 
> sua
> vita (setaffinity serve ad evitare che un processo venga spostato su
> diversi processori, in modo da permettere alcune ottimizzazioni)

È una battuta nel senso che non è rigido, ma puoi fidarti che il SO 
bilancerà i processi e non serve una garanzia scritta. Se hai 4 
processi, e 4 processori, stai abbastanza sicuro che andranno meglio che 
se avessi un solo processore, e la macchina comunque ha anche altro da 
fare oltre quei 4 processi, per cui ogni processore farà certamente 
camminare più di un processo per volta.

I problemi sono altrove: irrigidirsi su dove devono andare i processi 
non serve a niente. Aspetto la risposta di AD, ma comincio a sospettare 
che tornado sia bloccato sul database.

Ah, Alessandro: che database e che driver stai usando?


-- 
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com


Maggiori informazioni sulla lista Python