Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Come riconoscere processori logici da fisici

272 views
Skip to first unread message

Beppe

unread,
Dec 24, 2015, 4:45:58 AM12/24/15
to
Ciao,
ho sottomano un i7 con 4 core fisici e Ht, quindi 8 logici.
Quando faccio elaborazioni intensive come posso settare che i 4 core da
utilizzare siano quelli fisici e non quelli virtuali?
La lista nel task manager va da 0 a 7 ma non c'è altra descrizione.
Grazie,
Beppe.
--
La fatica fisica appaga lo spirito ed avvicina alla saggezza. Solo
soffrendo acquisisci la forza morale che scaturisce dall'autodominio.

danilob

unread,
Dec 24, 2015, 4:58:39 AM12/24/15
to
Il 24/12/2015 10:45, Beppe ha scritto:
> Ciao,
> ho sottomano un i7 con 4 core fisici e Ht, quindi 8 logici.
> Quando faccio elaborazioni intensive come posso settare che i 4 core da
> utilizzare siano quelli fisici e non quelli virtuali?
> La lista nel task manager va da 0 a 7 ma non c'è altra descrizione.
> Grazie,
> Beppe.

Forse, dico forse, nel bios si può disabilitare l'hyperthreading, ma io
non lo farei.

Lorenz

unread,
Dec 24, 2015, 5:04:21 AM12/24/15
to
Beppe ha pensato forte :
> Ciao,
> ho sottomano un i7 con 4 core fisici e Ht, quindi 8 logici.
> Quando faccio elaborazioni intensive come posso settare che i 4 core da
> utilizzare siano quelli fisici e non quelli virtuali?
> La lista nel task manager va da 0 a 7 ma non c'è altra descrizione.
> Grazie,
> Beppe.

Come gia' detto dovresti disabilitare l'HT nel bios...ma in
questo caso verrebbe meno l'utilita' di avere un i7.
Cioe' se il software che usi occupa tutti i thread a disposizione
(o quantomeno ne usa piu' di 4 o 5) allora non ha senso disabilitarlo.

Beppe

unread,
Dec 24, 2015, 5:15:35 AM12/24/15
to
Ne ho diversi, alcuni possono scalare oltre i 4 altri, per meri motivi
di licenza, si fermano a 4.

Lorenz

unread,
Dec 24, 2015, 6:06:08 AM12/24/15
to
Dopo dura riflessione, Beppe ha scritto :
> On 24/12/2015 11:04, Lorenz wrote:
>> Beppe ha pensato forte :
>>> Ciao,
>>> ho sottomano un i7 con 4 core fisici e Ht, quindi 8 logici.
>>> Quando faccio elaborazioni intensive come posso settare che i 4 core
>>> da utilizzare siano quelli fisici e non quelli virtuali?
>>> La lista nel task manager va da 0 a 7 ma non c'è altra descrizione.
>>> Grazie,
>>> Beppe.
>>
>> Come gia' detto dovresti disabilitare l'HT nel bios...ma in
>> questo caso verrebbe meno l'utilita' di avere un i7.
>> Cioe' se il software che usi occupa tutti i thread a disposizione
>> (o quantomeno ne usa piu' di 4 o 5) allora non ha senso disabilitarlo.
>
> Ne ho diversi, alcuni possono scalare oltre i 4 altri, per meri motivi di
> licenza, si fermano a 4.

Nel caso quando usi il software che si ferma a 4 core puoi
disabilirare l'HT, in modo da essere sicuri che ogni thread
sia abbinato ad un core fisico...

Laurent Delacroix

unread,
Dec 24, 2015, 12:22:35 PM12/24/15
to
On 24/12/15 10:45, Beppe wrote:
> Ciao,
> ho sottomano un i7 con 4 core fisici e Ht, quindi 8 logici.
> Quando faccio elaborazioni intensive come posso settare che i 4 core da
> utilizzare siano quelli fisici e non quelli virtuali?
> La lista nel task manager va da 0 a 7 ma non c'è altra descrizione.
> Grazie,
> Beppe.
>

Su Windows come su Linux i core virtuali sono mappati in ordine
crescente, per cui al core fisico 0 corrispondono i thread 0-1,
al core fisico 1 corrispondono i thread 2-3 e cosi' via. Questo perche'
ogni core viene presentato in sequenza al sistema come avente due
"connessioni fisiche" alla CPU (puoi leggerne di piu' sul "Intel Core
Processor Datasheet Volume 1", se proprio ci tieni :-)

Gli scheduler dei sistemi operativi moderni (so dirti con sicurezza di
Windows e Linux) sono perfettamente in grado di riconoscere i "thread
siblings" e regolare le affinita' automaticamente per la gestione
dell'SMT (Simultaneous Multi-Threading).

In linea di massima non devi preoccuparti di nulla, chiaro che nessuno
ti vieta di giocare col BIOS e disattivare l'HT per vedere se le
performance migliorano sul tuo carico di lavoro. Puo' capitare che l'HT
provochi dei rallentamenti, a causa del fatto che alcune risorse della
CPU sono fisicamente duplicate e disponibili effettivamente in
parallelo, altre no, quindi si generano delle situazioni di stallo. Puoi
leggerne di piu' sulla "Intel Hyper-Threading Technology - Technical
User's Guide".

Buone feste

Lau

Lorenz

unread,
Dec 24, 2015, 1:12:09 PM12/24/15
to
Il 24/12/2015, Laurent Delacroix ha detto :
> On 24/12/15 10:45, Beppe wrote:
>> Ciao,
>> ho sottomano un i7 con 4 core fisici e Ht, quindi 8 logici.
>> Quando faccio elaborazioni intensive come posso settare che i 4 core da
>> utilizzare siano quelli fisici e non quelli virtuali?
>> La lista nel task manager va da 0 a 7 ma non c'è altra descrizione.
>> Grazie,
>> Beppe.
>>
>
> Su Windows come su Linux i core virtuali sono mappati in ordine
> crescente, per cui al core fisico 0 corrispondono i thread 0-1,
> al core fisico 1 corrispondono i thread 2-3 e cosi' via. Questo perche'
> ogni core viene presentato in sequenza al sistema come avente due
> "connessioni fisiche" alla CPU (puoi leggerne di piu' sul "Intel Core
> Processor Datasheet Volume 1", se proprio ci tieni :-)
>
> Gli scheduler dei sistemi operativi moderni (so dirti con sicurezza di
> Windows e Linux) sono perfettamente in grado di riconoscere i "thread
> siblings" e regolare le affinita' automaticamente per la gestione
> dell'SMT (Simultaneous Multi-Threading).

Mi son capitati comunque dei software dove la suddivisione
dei thread non rispecchiava correttamente l'assegnazione
tra core fisici e logici...cioe' avendo a disposizione 4 thread
essi non venivano assegnati tutti ai core fisici.

Jedyz

unread,
Dec 24, 2015, 1:18:55 PM12/24/15
to
Il logico, in genere, è laureato in matematica o filosofia.
Il fisico in fisica o astrofisica (in tal caso fa anche gli oroscopi).
Ciao.

tony pedi

unread,
Dec 25, 2015, 4:25:07 AM12/25/15
to
Il 24/12/2015 10:45, Beppe ha scritto:
> Ciao,
> ho sottomano un i7 con 4 core fisici e Ht, quindi 8 logici.
> Quando faccio elaborazioni intensive come posso settare che i 4 core da
> utilizzare siano quelli fisici e non quelli virtuali?
> La lista nel task manager va da 0 a 7 ma non c'è altra descrizione.
> Grazie,
> Beppe.

da quel che ho capito io, ho l'impressione che la domanda sottende a
considerare quello che in realtà è un "non-problema"

hanno sì creato questa terminologia ... ma in realtà ... NON è che ci
siano 'processori' di serie a e di serie b ( i logici )

i processori 'logici' non sono "figli di un dio minore"

è solo per sottolineare che esiste una sorta di MULTITASKING GESTITO IN
HARDWARE A LIVELLO PROCESSORE per non tenere la cpu senza fare nulla ...
proprio perchè già in hardware viene associato il task che chiede
amggiore tempo ai 'fisici' internamente alla cpu , e su cui l'utente non
può sapere nulla, e nemmeno la cpu stessa si memorizza da nessuna parte
info su queste cose, ma le compie "al volo" in maniera assolutamente
trasparente anche al CORE del s.o. che nulal può intervenire su tali
procedure, su tali associazioni

ma quello che viene gestito dai "processori logici aggiuntivi" viene cmq
eseguito con LE STESSE IDENTICHE
PRIORITà/VELOCITà/MODI/TEMPI&CAZZI&MAZZI di quelli che vengono definiti
"processori fisici" ... e PROPRIO PER QUESTO vengono dichiarati "cpu
aggiuntive" e non "task aggiuntivi"

solo che vengono gestiti IN AGGIUNTA al normale funzioanmento delle cpu

secondo me, per quel poco che ho letto sulle cpu ... credo che tu ti
stia creando un "non-problema"

però ripeto che questo è quello che ho capito io sul funzioanmento , non
avendone letto tantissimo sull'argomento

se tu hai attivo un solo programma che tende ad usare il 100% della cpu
... non sarà inficiato che per un centinaio di cicli macchian su
miliardi di cicli macchina al secondo ... ;-)

allo stesso modo ... se tu hai CONTEMPORANEAMENTE due programmi che
tendono ad usare ognuno il 50% della cpu ... i due verranno eseguiti
ALLA STESSA MANIERA *****identica**** , con le
*****stessissime_tempistiche***** , sia se eseguiti sui 'logici' sia sui
'fisici' ... perchè tali associazioni variano dinamicamente a seconda
delle necessità in un preciso istante

se invece hai un programma che vorresti che venga eseguito più
velocemente non hai che da scegliere "priorità -> alta" nel task manager

se quel task cmq non viene velocizzato motlo ... non devi scervelalrti
tu, ma evidentemente la velocità di esecuzione è rallentata da accessi
ai dischi durante le elaborazioni , che inficiano sulal velocità di
esecuzione di quel programma - oppure andare a settare "priorità ->
molto bassa" agli altri processi che non ti importano ... o chiuderli
gli altri ;-)

tony pedi

unread,
Dec 25, 2015, 4:26:34 AM12/25/15
to
Il 24/12/2015 19:12, Lorenz ha scritto:
cioe' avendo a disposizione 4 thread
> essi non venivano assegnati tutti ai core fisici.

ah :-O vengono evidenzxiati sia i core 'logici' sia i core 'fisici' ?!?!

non lo sapevo :-(

Lorenz

unread,
Dec 25, 2015, 5:07:00 AM12/25/15
to
tony pedi ci ha detto :
Se per qualche ragione due thread vengono assegnati ad un core fisico
avrai un efficienza minore rispetto alla possibilita'
di assegnarne uno per core fisico...in quest'ultimo caso ci saranno
meno risorse condivise.
Questo tra l'altro e' stato un problema che ha afflitto le cpu
AMD su base Bulldozer (basate sul concetto CMT), dove spesso i thread
non venivano smistati
nella maniera migliore...ovvero puo' capitare che si utilizzi solo
un modulo e gli altri stanno li a "grattarsi".

Buon Natale!

Lorenz

unread,
Dec 25, 2015, 5:22:09 AM12/25/15
to
Il 25/12/2015, tony pedi ha detto :
Ah e per verificare quali sono i core logici o fisici leggi
la risposta data da Laurent Delacroix di ieri alle 18.22...

Valerio Vanni

unread,
Dec 25, 2015, 9:24:15 AM12/25/15
to
On Thu, 24 Dec 2015 10:45:56 +0100, Beppe <a@a.a> wrote:

> ho sottomano un i7 con 4 core fisici e Ht, quindi 8 logici.
>Quando faccio elaborazioni intensive come posso settare che i 4 core da
>utilizzare siano quelli fisici e non quelli virtuali?

Puoi provare con questo:
https://technet.microsoft.com/en-us/sysinternals/cc835722

--
Ci sono 10 tipi di persone al mondo: quelle che capiscono il sistema binario
e quelle che non lo capiscono.

Beppe

unread,
Dec 27, 2015, 4:35:30 AM12/27/15
to
Perfetto, grazie mille era proprio questo che volevo sapere (unito anche
a quello che mi ha detto Lorenz). Volevo controllare che durante
l'esecuzione (che spesso dura anche giornate) vengano correttamente
utilizzati core fisici e non finiscano tutti e 4 ad esempio su 2 soli
core "veri".
Buone feste,
0 new messages