Processori multicore: non è la panacea
Da qualche tempo l’evoluzione delle Cpu ha imboccato la strada dell’aumento delle unità d’elaborazione. Se da una parte si rispetta la legge di Moore, dall’altra non si ottiene per questa via un aumento indefinito delle prestazioni
L’evoluzione dei processori verso le attuali Cpu multicore ha consentito ai costruttori di rispettare la legge di Moore per quanto riguarda l’aumento del numero di transistor nei chip, ma non è capace di portare a una moltiplicazione delle prestazioni come invece promette. Il nocciolo del problema è nella complessità della gestione dei task in parallelo, come si spiega in un articolo di Eetimes in cui si arriva alla conclusione che l’aggiunta di unità d’elaborazione non è una soluzione definitiva alle esigenze di velocità.
Una simulazione realizzata da IEEE Spectrum per studiare le possibilità della tecnica multicore mostra che perfino con i classici problemi dell’elaborazione parallela, come per esempio la simulazione meteorologica, la moltiplicazione dei core offre scarsi benefici oltre certi livelli. Un problema che deriva principalmente dai limiti di banda nell’accesso alla memoria.
Man mano che aumenta il numero dei core, da 2 a 64, le prestazioni aggiunte tendono a ridursi di un fattore cinque, al punto che ogni core addizionale non dà vantaggio all’insieme. Più core in multiprocessing simmetrico condividono infatti lo stesso bus di memoria causandone la congestione: un problema già presente con le Cpu a singola unità di processo e per questo già dotate di complessi circuiti di pipeline e di cache.
Ogni accesso comporta infatti cicli di attesa che l’aumento del numero di core non fa che aggravare. Ma c’è di più. In mancanza di efficaci sistemi di governo, nelle Cpu multicore viene meno la prevedibilità dell’esecuzione del codice, con effetti deleteri molteplici e possibili errori in alcuni impieghi particolari, per esempio, nei sistemi di controllo.
Secondo IEEE Spectrum le Cpu multicore non aiuteranno a risolvere le esigenze del ‘supercalcolo’ nell’ambito scientifico. Rispetto ai problemi che si affrontavano nel passato, quelli attuali si avvalgono di una ben più grande quantità di dati da analizzare, contenuti in enormi database. Un contesto che rende più critici i colli di bottiglia dei sistemi nell’I/O. Non tutto è da buttare via, comunque. Secondo l’opinione di James Peery, director of computation, computers, information, and mathematics di Sandia, il limite dell’efficacia è situato attorno agli 8 core: “Con 16 core è come averne soltanto due”.





Ancora nessun commento.