Risposta

Supporto di più di 64 processori logici su Windows

0 risposte

Chris

Cliente, bbp_partecipante, comunità, sq-ultimate, 6 risposte.

Visita il profilo

3 anni fa #271632

Le versioni a 64 bit di Windows 7 e Windows Server 2008 R2 e le versioni successive di Windows supportano più di 64 processori logici su un singolo computer.

Per qualsiasi sistema con più di 64 thread logici, Windows dividerà equamente i thread in "Gruppi di processori 1TP9", in modo che nessun gruppo abbia più di 64 thread. In un sistema a doppia presa con due CPU a 28 core e 112 thread totali, ad esempio, Windows creerà due gruppi di processori, ciascuno con 56 thread. Su un sistema a socket singolo con 64 core e 128 thread, verranno creati due gruppi di processori, ciascuno con 64 thread.

Per impostazione predefinita su Windows a 64 bit, un'applicazione è vincolata a un singolo gruppo. Un'applicazione che richiede l'uso di più gruppi per poter essere eseguita su più di 64 processori deve determinare esplicitamente dove eseguire i suoi thread ed è responsabile dell'impostazione delle affinità dei processori dei thread ai gruppi desiderati.

Secondo questo articolo di Microsoft, si tratta di un aggiornamento piuttosto semplice: https://docs.microsoft.com/en-us/windows/win32/procthread/processor-groups

Ad esempio, ho appena acquistato un server dual-processor a 96 core su cui eseguire SQX, ma poiché il sistema operativo (Windows Server 2019) crea due gruppi di processori a 48 core, SQX sfrutterà solo 48 core, ovvero metà della potenza di elaborazione del server. Naturalmente sarebbe ideale utilizzare TUTTA la potenza di elaborazione disponibile e sembra una semplice modifica del codice utilizzando l'attributo esteso PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY.

0