[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