CPU multicore sottoutilizzate, un possibile approccio

In tempi recenti il mercato dei processori ha spostato il campo della competizione dalla gara ai Ghz a quella della quantità di core presenti su ogni singolo die, dunque ci ritroviamo a poter acquistare CPU che presentano un elevato livello di complessità e altrettanto in termini di prestazioni.

Una cpu a quattro core, image courtesy Black Lawrence

Tale scelta è stata dettata principalmente dall’ormai prossimo raggiungimento del limite fisico dei processi di costruzione dei processori e per evitare che i nostri computer si debbano dotare di impianti di raffreddamento ad azoto liquido :D

A cosa mi servono tutti questi core?

Insane coding ci dà il LA per rilfettere su questo trend, soprattutto dal punto di vista di un utente domestico che utilizza il PC prevalentemente per la navigazione in internet, videoscrittura, visualizzazione ed encoding di filmati e magari qualche partita al proprio videogame preferito.

Senza addentrarci troppo in ambito strettamente tecnico, ci sono alcuni utilizzi che possono beneficiare della presenza di più core all’interno di una stessa CPU, per esempio la manipolazione  di contenuti multimediali o la compilazione di codice sorgente, e naturalmente la gestione di più processi attivi contemporaneamente, quest’ultima supportata dal sempre minor costo della memoria di sistema.

Tuttavia ci sono altre applicazioni che non traggono grandi benefici dalla presenza di core multipli, quindi se vi limitate alla scrittura di documenti o similari, dimenticavi incrementi sensazionali in confronto a cpu tradizionali.

La chiave di volta si chiama Multiseat

Ai giorni nostri non è più così inusuale trovare in casa più di un computer, ognuno dei quali dotati di un proprio case, scheda madre, processore, memorie, monitor, mouse e tastiera.

Ma allora perché non usare tale potenza inespressa fornitaci dalle moderne CPU al fine di creare una postazione multiseat e sfruttare al meglio tale potenziale ( e magari risparmiare pure qualcosa ) ?

Una postazione multiseat, image courtesy Wikipedia

L’idea è quella di rendere disponibile un unico computer a più utenti contemporaneamente, ognuno dotato delle proprie periferiche di input e di output, come se ognuno avesse la propria postazione non condivisa.

Ok, mi piace l’idea, e ora?

A livello hardware la realizzazione tecnica non è poi così complessa, oramai la maggior parte dei computer è dotato di innumerevoli porte per la connessione di periferiche, e non è più così strano trovare configurazioni multi-GPU. Anche se in alcuni casi sicuramente un po’ scomodo, con alcuni accorgimenti un approccio del genere permetterebbe di poter risparmiare qualche centinaio di euro, soprattutto in presenza di più di due utenze.

Tuttavia è a livello software dove le cose si complicano.

Su Linux tale approccio esiste da tempo, ma sarebbe interessante poter avere una distribuzione capace senza troppi sforzi di poter configurare una postazione del genere, o magari semplicemente qualche strumento da integrare a distribuzioni già esistenti, comodamente disponibili quale opzioni su GNOME o KDE, giusto per citare i due DE più diffusi.

In rete esistono diversi HOWTO per raggiungere lo scopo, anche se sul wiki di X.org se ne sconsiglia l’uso in favore di MDM, applicazione creata ad hoc.

Inoltre al momento credo proprio che ci sarebbero dei problemi nella gestione dei driver in tali condizioni di utilizzo, principalmente per quanto riguarda l’audio ( anche se i jack alla fine non mancano ) o periferiche di tipo diverso da quelle gestite da X.org.

Considerazioni

Certamente una soluzione di questo tipo sarebbe caldamente consigliata all’interno di biblioteche, aule studio ed uffici o in generale in quei locali in cui è richiesta una grande quantità di computer in uno spazio comune condiviso, magari formato da postazioni attigue.

Il risparmio in termini di hardware potrebbe essere consistente, oltre che nei succitati contesti, anche in quelli casalinghi ove fossero presenti più di due utilizzatori.

Le future tecnologie di comunicazione wireless tra periferiche e PC potrebbero dare una spinta in questa direzione, portando ad un migliore supporto al multiseat sui sistemi operativi general purpose.

In ogni caso farò un tentativo con gli strumenti a mia disposizione sul mio notebook, così da poter finalmente ottenere l’uso esclusivo del computer più potente in casa, che al momento è ad appannaggio di madre e sorella e relegato a servire pagine di giochini in flash -_-‘

Opinioni, idee e critiche sono ben accette.

P.s. Si ringrazia neon che mi ha fornito alcuni chiarimenti tecnici ;)