TAGS CLOUD
Incrementa dimensioniDecrementa dimensioni
Kernel: compilazioni più veloci con le CPU multicore
La maggior parte dei computer di ultima generazione sono basati su architetture multi core, addirittura, multi processore (spesso anche questi multi core), chiamate in linguaggio tecnico SMP (Symmetric MultipProcessing). L'obiettivo principale di sistemi così composti è, ovviamente, offrire prestazioni più elevate. Spesso, però, tanta potenza non viene adeguatamente sfruttata perché le applicazioni vengono sviluppate prendendo come punto di riferimento architetture single core mono processore. Per fortuna, questo non è il caso del tool che si occupa della compilazione del kernel Linux. In questo caso specifico, infatti, l'intera procedura può essere suddivisa in singoli task (processi, operazioni), che possono poi essere eseguiti su processori o core differenti riducendo così (ed anche di molto) il tempo necessario alla compilazione: operazione che, in particolare per quanto riguarda il kernel, in genere richiede un tempo relativamente lungo. Questo tipo di compilazione, che possiamo definire multithread è anche facile da mettere in atto: basta, infatti, passare la direttiva -j al comando make, seguita dal numero di thread che si vogliono avviare. Una buona regola è quella di assegnare due thread per ogni core (CPU) presente nel sistema. Ad esempio, in presenza di un' architettura a quattro core (quad core) il comando diventa quello seguente: make -j 8. Se, invece, la memoria scarseggia è possibile impostare i thread da eseguire uguali al numero di CPU + 1. Attenzione, però, a non dimenticare di specificare il valore corretto altrimenti in questo caso il sistema di make eseguirà un thread per ogni sotto cartella presente nel kernel, facendo diminuire vistosamente le prestazioni della macchina (a meno di disporre di quantità elevatissime di memoria RAM), rendendo il sistema praticamente inutilizzabile già dopo pochi secondi.
Lascia un commento
Tag: kernel, compilazioni, cpu, multi core
Condividi