View Full Version : Linux e gestione Core
Nelle architetture Intel, con due tipi di core, erano presenti problematiche, ad esempio nella virtualizzazione
Alcuni software di virtualizzazione avevano prestazioni mediocri, venendo processati anche da E-core
Si può impedire che questo avvenga, facendo processare (alcuni processi) solo da P-Core?
Grazie in anticipo
Nicodemo Timoteo Taddeo
13-05-2024, 13:04
Non ho idea della problematica perché è la prima volta che la sento, ma se è così, togliendo i core che sarebbero più lenti e lasciando solo quelli più veloci, non ci sarebbe perdita di performance? Voglio dire se ad esempio ci sono due core veloci e due lenti , usando solo i due più veloci e lasciando "disoccupati" gli altri non vai più lento? Non so se mi spiego :confused:
intendi utilizzare i P-core e disabilitare E-core?
l' idea era proprio questa
si può assegnare ad esempio a Virtualbox, solo scheduler con P-core?
grazie
Nicodemo Timoteo Taddeo
13-05-2024, 13:10
intendi utilizzare i P-core e disabilitare E-core?
l' idea era proprio questa
Non hai capito, semplifico volgarizzando:
Se ci sono due core che danno cento e due che danno cinquanta, il totale è trecento.
Se usi solo i due che danno cento il totale è duecento, meno di trecento. Logica elementare, a meno che non entrano in gioco altri fattori che non conosco e sarei ben disposto a conoscerli per imparare.
certo
è proprio questo il punto
se i processi vanno a finire sui due da 50 la prestazione degrada
basta cercare "Intel 13 th gen virtualization problem" e ci si rende conto del problema
gli E-core sono utili per processi leggeri
se viene processata una VM, le prestazioni peggiorano immediatamente
se sono su P-core ovviamente no
è li il problema 8evitare che finiscano su E-core)
fabius21
15-05-2024, 01:36
se usi qemu, potresti specificare quale core deve usare quella determinata vcpu.
Poi volendo se usi spesso le vm, potresti isolare i core che usi per le vm.
Per migliorare la virtualizzazione hai molte possibilità
Cmq leggevo che stanno riscrivendo la parte riguardo la topologia delle cpu, a scrivere ciò sarà proprio colui che lo scrisse anni fà, proprio appunto perchè ormai è cambiato tutto.
se usi qemu, potresti specificare quale core deve usare quella determinata vcpu.
Poi volendo se usi spesso le vm, potresti isolare i core che usi per le vm.
Per migliorare la virtualizzazione hai molte possibilità
Cmq leggevo che stanno riscrivendo la parte riguardo la topologia delle cpu, a scrivere ciò sarà proprio colui che lo scrisse anni fà, proprio appunto perchè ormai è cambiato tutto.
grazie
cosa intendi per "isolare i core"?
State assecondando chi fa facendo molto rumore per nulla (cit.) per motivi sui quali è probabilmente meglio soprassedere.
Detto questo, siamo nel 2024 e certi problemi sono stati affrontati e superati subito dopo l'introduzione degli e-core.
Il supporto a thread director di intel è presente in Linux dalla versione 5.18 ed è in continuo miglioramento:
https://www.phoronix.com/news/Intel-Thread-Director-Virt
fabius21
15-05-2024, 11:13
grazie
cosa intendi per "isolare i core"?
un comando che impedisce al so, di assegnare quei core da compiti del sistema operativo
isolcpus= [KNL,SMP] Isolate CPUs from the general scheduler.
The argument is a cpu list, as described above.
This option can be used to specify one or more CPUs
to isolate from the general SMP balancing and scheduling
algorithms. You can move a process onto or off an
"isolated" CPU via the CPU affinity syscalls or cpuset.
<cpu number> begins at 0 and the maximum value is
"number of CPUs in system - 1".
This option is the preferred way to isolate CPUs. The
alternative -- manually setting the CPU mask of all
tasks in the system -- can cause problems and
suboptimal load balancer performance.
https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html
Estratto da qui.
Poi volendo puoi disabilitare il ticking io sul pc che uso per le vm ho impostato questi nel cmdcommand (il tick è inteso come il monitoraggio del core, o la sincronia per l'uso in concorrenza del core con più processi.
isolcpus=2-7 nohz_full=2-7 rcu_nocbs=2-7
come prima cosa, grazie ad entrambi
l' idea è di acquistare un notebook con processore serie H (dopo diversi anni con AMD), utilizzato (con Debian) e con software di virtualizzazione
ad esempio una volta terminata l' installazione del SO, installati Virtualbox e Qemu, è consigliato fare qualcosa in prima battuta per le VM?
oppure essendo la gestione E-core già "risolta", non bisogna fare più niente?
Poi volendo puoi disabilitare il ticking io sul pc che uso per le vm ho impostato questi nel cmdcommand (il tick è inteso come il monitoraggio del core, o la sincronia per l'uso in concorrenza del core con più processi.
isolcpus=2-7 nohz_full=2-7 rcu_nocbs=2-7
Su un desktop isolcpus non ha molto senso, meglio cpuset
fabius21
15-05-2024, 12:00
Su un desktop isolcpus non ha molto senso, meglio cpuset
Poi sono passato alla documentazione dell'ultimo, e ho visto che diceva che sarà o è deprecato, e di usare cpuset.
Gli darò un'occhiata, grazie per la dritta
edit:
leggendo la documentazione mi hai aperto un mondo. Rigrazie
fabius21
15-05-2024, 12:13
come prima cosa, grazie ad entrambi
l' idea è di acquistare un notebook con processore serie H (dopo diversi anni con AMD), utilizzato (con Debian) e con software di virtualizzazione
ad esempio una volta terminata l' installazione del SO, installati Virtualbox e Qemu, è consigliato fare qualcosa in prima battuta per le VM?
oppure essendo la gestione E-core già "risolta", non bisogna fare più niente?
La prima cosa da controllare , se la virtualizzazione in hardware è abilitata. A volte sui portatili nei bios manca proprio l'opzione da settare.
Poi ci sarà da qualche parte un workaround per abilitarla, modificando qualche parametro nelle efivars. Io lo feci su una apu a4-qualcosa, cpu del 2015 più o meno.
bene
in ogni caso utilizzi utilizzi Intel, adesso?
con questi pochi accorgimenti, con qualunque sw di virtualizzazione non ci sono problemi di prestazione?
grazie
fabius21
16-05-2024, 01:23
bene
in ogni caso utilizzi utilizzi Intel, adesso?
con questi pochi accorgimenti, con qualunque sw di virtualizzazione non ci sono problemi di prestazione?
grazie
no, uso il 5900x con linux. Ecco perchè 2/4 core 4/8 thread li isolo per le vm, fra cui una da nas.
Poi finalmente sarà per le ddr4, si trovano le unbuffered ecc, a prezzi più che accessibili.
quindi non hai esperienza diretta su ultime gen. Intel ?
grazie
Gli darò un'occhiata, grazie per la dritta
edit:
leggendo la documentazione mi hai aperto un mondo. Rigrazie
Prego e riprego.
fabius21
04-06-2024, 04:33
quindi non hai esperienza diretta su ultime gen. Intel ?
grazie
No. Però puoi scegliere quali usare. Magari per una vm con openwrt puoi usare gli e-core ad esempio
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.