CPU, Sun lavora a un Niagara da 16 core

Sedici core capaci, ciascuno, di elaborare simultaneamente fino a 16 thread. Sono questi i numeri con cui Sun si prepara a rinnovare la sfida agli altri produttori di CPU, puntando soprattutto sul rapporto performance e consumi

Roma - Il successore dell'attuale CPU UltraSPARC T2 di Sun, nome in codice Niagara 3, sarà dotato di 16 core, ciascuno in grado di elaborare simultaneamente fino a 16 thread: per contro, un tipico processore x86 può oggi elaborare un solo thread per core. L'indiscrezione, perché al momento di questo si tratta, proviene da The Register, secondo il quale il nuovo chip debutterà sul mercato server verso la fine del 2009.

L'attuale versione di Niagara condivide con il proprio predecessore, l'UltraSPARC T1, otto core, ma rispetto a questo è in grado di elaborare un numero doppio di thread per core, pari a otto. Se dunque una CPU T2 può oggi processare fino a 64 thread (8 thread per 8 core) per ogni ciclo di clock, il futuro Niagara 3 (UltraSPARC T3?) potrà gestirne ben 256: per arrivare allo stesso numero, oggi un sistema x86 dovrebbe impiegare 64 processori quad-core.

La capacità di elaborare più thread per singolo ciclo di clock, una tecnica chiamata multithreading, non determina la potenza di calcolo complessiva della CPU: piuttosto, permette al software di sfruttare al meglio la potenza a disposizione, suddividendo il carico di elaborazione fra più thread e i thread fra più core. Nel caso del T2, è poi possibile creare una macchina virtuale per ciascun thread, e far così girare 256 sistemi operativi su di un singolo processore. Ciò lo si deve al fatto che lo schema multithreading adottato da Niagara replica tutti gli stati software visibili, come registri di controllo, translation lookaside buffers (TLB) ecc.
Nei piani di Sun, Niagara 3 rappresenterà un ulteriore e importante passo avanti nel migliorare il già competitivo rapporto performance per watt dei propri chip: oggi T2 ha un thermal design power di 123 watt, ma il suo consumo tipico è intorno ai 95 watt, ossia meno di un watt e mezzo per thread. Oltre all'efficienza energetica, un altro punto di forza di questa famiglia di processori è data dall'integrazione di un elevato numero di componenti: tra questi figurano due ALU (Arithmetic and Logic Unit) e una FPU (Floating Point Unit) per ciascun core, otto motori di cifratura, quattro controller di memoria dual-channel FBDIMM, e due porte Gigabit Ethernet con funzionalità di packet filtering.

Lo scorso aprile Sun ha introdotto anche una versione Plus del T2 capace di supportare configurazioni a doppio processore: una configurazione hardware di questo tipo può fornire fino a 128 thread in un sistema 1U. A breve il produttore californiano lancerà anche una versione quad-socket, chiamata in codice Botaka, capace di elaborare 256 thread per volta. Con Niagara 3, un sistema a quattro socket potrà elaborare l'impressionante numero di 1024 thread simultanei.

Insieme al futuro Niagara, nel corso del 2009 Sun dovrebbe rilasciare anche la CPU Rock, anch'essa dotata di 16 core ma capace di elaborare un numero inferiore di thread (dai due ai quattro).

Secondo The Register, la giovane linea di sistemi UltraSPARC Tx sta riscuotendo un buon successo sul mercato, generando un fatturato di oltre 1 miliardo di dollari all'anno. Questo a discapito però dei server di fascia bassa di Sun, che nell'ultimo periodo hanno registrato una drastica flessione nelle vendite.
8 Commenti alla Notizia CPU, Sun lavora a un Niagara da 16 core
Ordina
  • ... questo è il problema...

    Si tratta di macchine SUN, pertanto con un proprio OS, e quel che ne consegue. Per carità, hanno il loro segmento di vendita e ne vanno via a quintali.

    Sul mondo desktop, purtroppo, sono ancora troppo pochi i programmi che riescano a sfruttare le Cpu multicore... Triste
  • beh le multicore le sfrutti anche quando hai due programmi attivi contemporaneamente
  • si, uno per core, se ne hai solo uno usi un solo core, e l'altro resta inutilizzato o fa altro per i cavoli suoi
    fai programmi con supporto multithreading e multicore così un programma ci mette 256 volte di meno a fare 256 azioni perchè le fa tutte in parallelo
    Wolf01
    3342
  • - Scritto da: Wolf01
    [...]
    > fai programmi con supporto multithreading e
    > multicore così un programma ci mette 256 volte di
    > meno a fare 256 azioni perchè le fa tutte in
    > parallelo

    non e` cosi` immediato
    non+autenticato
  • Ma su queste macchine non sono certificate anche per i kernel linux e *BSD?
    non+autenticato
  • Volevo solo fare una precisazione in merito al numero di thread per core e per chip.

    Anche se la SUN pubblicizza il T2 come macchina da 64 thread in quanto architettura con 8 core e con 8 thread per core, in realta' il numero di thread "running", in esecuzione, e' molto minore.

    Ciascun core puo' eseguire al piu' 2 thread per colpo di clock. Questo perche' le' unita' aritmetiche (ALU) sono solo due. E' anche possibile avere due thread running se uno dei due esegue operazioni su interi e l'altro esegue operazioni su floating point. Il numero massimo di thread in esecuzione scende ad uno se invece anche gli altri thread vogliono effettuare operazioni in virgola mobile. Questo perche' la FPU e' unica.

    Quindi in totale sul T2 possono girare al massimo 16 thread per colpo di clock.

    Dalle prime indiscrezioni sembra che il T3 segua la stessa logica.
    Raddoppiando le dimesioni dei register file possono essere "gestiti" 16 thread invece che 8, ma il numero massimo di thread eseguibili per colpo di clock probabilente rimarra' comunque a due.
    Questo significa che il numero massimo di thread in esecuzione sarebbe pari a 32.

    Saluti.

    Sergio
  • Domanda: se in un dato momento ho due thread che stanno occupando le due alu ed un thread che tenta di eseguire operazioni FPU, non ho tre thread simultaneamente "running" ?
    non+autenticato
  • Ciao Marcello,

    Attualmente sul T2 non e' possibile.

    Ciascun core possiede due "Thread Group", il TG0 ed il TG1.
    Sono delle memorie o "register File" (RF) che memorizzano le informazioni di ciascun thread.
    Ogni thread group puo' far eseguire un solo thread per colpo di clock.
    Essendoci due thread group, il numero massimo di thread "running" e' pertanto due.

    Nel tuo esempio, con due thread che fanno operazioni su interi e un thread che fa operazioni su floating, comunque uno dei thread dovra' essere messo in "pausa" in quanto appunto, non possono essere schedulati piu' di due thread contemporaneamente.

    Questo dovrebbe essere vero anche per il T3. La profondita' dei thread group verra' raddoppiata.Ogni thread group potra' contenere 8 thread rispetto ai 4 del T2 per un totale appunto di 16 thread rispetto agli 8 del T2.

    Mi incuriosisce sapere se nel T3 hanno utilizzato una crossbar per interconnettere i core con le cache L2 o se invece hanno optato per qualcosa di piu' innovativo.

    Sono abbastanza convinto che pubblicheranno informazioni sul T3 all' International Solid State Circuit Conference 2009 di San Francisco, a febbraio.
    In quella conferenza quest'anno Intel ha presentato l'ormai noto "80 Core".

    Saluti.

    Sergio
    -----------------------------------------------------------
    Modificato dall' autore il 25 giugno 2008 14.29
    -----------------------------------------------------------