Marco Ciampa wrote:
On Wed, Jan 20, 2010 at 09:33:39AM +0100, Marco Agostini wrote:Ciao, avrei bisogno di un consiglio/chiarimento: - ho un server con 4 cpu con 4 core ciascuna - sul server ho installato Proxmox 1.4 - ho installato una macchina virtuale KVM Ubuntu Server 8.04 - tra le opzioni trovo CPU Sockets e Cores/Socket Che differenza c'è (vantaggi/svantaggi) tra assegnare ad esempio 2 CPU Sockets e 1 Cores/Socket rispetto ad assegnare 1 CPU Sockets e 2 Cores/Socket. [...]Che due CPU sullo stesso core che condividono la stessa cache di primo e di secondolivello (se c'è il terzo in genere no). Se usi un'applicazione multithread/multiprocessing sullo stesso sistema (come nel caso del sistema virtualizzato a 2 CPU) hai un notevole vantaggioin quanto a prestazioni se usi 2 CPU sullo stesso core a causa del fatto che la migrazione dei dati fra i core può passare attraverso la cache interna.
Anch'io ho notato questa opzione poco fa. Curiosamente, durante la creazione della VM puoi assegnare i "CPU Sockets", ma l'opzione "Cores/Socket" è disponibile solo per una VM già esistente.
Quello che mi domando è se questa impostazione cambia la "visione" dell'hardware virtuale (i.e. la macchina virtuale vede due CPU separate o una CPU con due core), se configura l'affinità del processo nei confronti di CPU / core sulla macchina fisica, o se fa entrambe le cose.
La macchina che abbiamo preso ha due CPU AMD quad-core, ciascuno con 4 GB di RAM. Essendo un'architettura NUMA, credo che tenere la VM su due core della stessa CPU o su due core di CPU separate faccia una grossa differenza per le prestazioni.
...credo che lancerò una Knoppix per cercare di capire che cosa vede la macchina virtuale, ma non saprei come fare per verificare quello che succede sull'hardware fisico.
-- Ciao, Flavio -- Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx