Il futuro di ARM è nei data center? Amazon e Ampere Computing credono di sì
di Riccardo Robecchi pubblicato il 04 Febbraio 2020 nel canale DeviceARM sta facendosi strada in settori che esulano da quello del mobile dove l'architettura ha finora trovato il maggiore successo. Il data center non è forse l'ambito cui si penserebbe, ma Amazon e Ampere Computing stanno dimostrando che portare ARM nei data center è fattibile. Un processo di trasformazione del mercato, forse, con una possibile insidia per x86
Le guerre del giorno d'oggi si combattono nei data center, almeno per quanto riguarda il mondo dei processori. Sono stati molti gli scontri architetturali in passato e tutti hanno avuto un elemento in comune: l'architettura x86 nata da Intel. A sfidarla nomi più o meno prestigiosi, che si sono scontrati nell'arena dei personal computer così come dei server: Motorola 68000, PowerPC, Alpha, MIPS, SPARC sono solo alcuni dei contendenti passati. Alcuni sono ancora vivi oggi, in forme più o meno importanti (con l'architettura POWER di IBM ora open source e nome tuttora forte nel mondo HPC, o MIPS che si è ricavata una significativa nicchia nel mondo embedded). Ma x86 sta per affrontare un avversario differente: ARM.
ARM ha già battuto x86 sul fronte del mobile, dove Intel ha cercato di entrare qualche anno fa con processori appositi senza però raccogliere alcun successo significativo. L'architettura inglese sta ora sfidando x86 sul terreno dei data center con il core Neoverse N1, specificamente pensato per questo ambito. Le regole del gioco sono oggi molto differenti rispetto al passato: il mondo odierno dei data center è molto meno legato alle applicazioni legacy di quanto non fosse qualche anno fa e l'uso di un'architettura al posto di un'altra non ha lo stesso impatto che nel mondo dei computer personali. Ma saprà ARM competere con x86? Alcuni segnali interessanti arrivano da Amazon e Ampere Computing.
Amazon Graviton2, CPU ARM a 64 core per il cloud di Amazon
Il più grande fornitore di servizi cloud al mondo, Amazon, scommette su ARM per i propri data center con un processore sviluppato in proprio su base Neoverse N1: Amazon Graviton2. L'architettura Neoverse N1 di ARM è configurabile dai progettisti in vari modi così da poter rispondere a esigenze diverse. Amazon punta sulle massime prestazioni scegliendo di dotare i propri processori Graviton2 di 64 core, ciascuno dei quali dotato di una cache L2 di 1 MB (il massimo possibile, con un minimo pari invece a 512 KB) e con una cache L3 condivisa di 32 MB. I core sono collegati tra di loro con una rete mesh in grado di fornire fino a 2 TB/s di banda complessiva. Il processore ha un totale di 30 miliardi di transistor ed è prodotto con un processo a 7 nm; per confronto, i processori a 64 core AMD EPYC Rome hanno 39 miliardi di transistor (con lo stesso processo produttivo).
L'impatto pratico di queste scelte progettuali è significativo: Amazon afferma infatti che i processori Graviton2 sono del 40% più veloci rispetto agli Intel Xeon di quinta generazione, fornendo maggiori prestazioni a parità di consumi e quindi, in definitiva, maggiore valore espresso in performance per dollaro speso.
Amazon sta scommettendo sui nuovi processori non solo perché li sta progettando e producendo, ma anche perché li sta usando essa stessa. L'azienda punta infatti a utilizzare i processori Graviton2 per i propri servizi interni, come ad esempio il networking. Amazon mostra quindi forte fiducia verso i processori ARM, in larga parte per via del fatto che taglia fuori qualunque passaggio intermedio tra la produzione e la messa in opera potendo dunque ottenere profitti maggiori (e meno spesa grazie a prezzi per i processori inferiori).
Amazon sembra sufficientemente sicura dei processori Graviton2, tanto che la sesta generazione di istanze EC2 sarà inizialmente disponibile solo con tali processori e solo in un secondo momento verranno resi disponibili i processori di Intel e AMD.
ARM nei data center: da ipotesi a realtà concreta. Grazie al software
Il problema che le piattaforme hardware devono affrontare è sempre e solo uno: il supporto da parte del software. Hardware particolarmente prestante ed efficiente risulta comunque poco utile se non viene accompagnato dal software necessario. Le prime offerte ARM per l'ambito server si concentravano su un modello "tradizionale" in cui era l'azienda singola ad acquistare il proprio server e a curarne poi l'installazione e la manutenzione. Tale modello si è rivelato impercorribile, ma appare altresì decisamente diverso dal modello proposto da Amazon in cui i processori sono utilizzati nel cloud.
La differenza principale sta nel fatto che è Amazon a occuparsi di tutto lo strato software che sta tra l'hardware e gli applicativi delle aziende clienti. Uno strato che ha, per inciso, sempre meno importanza per due motivi: il primo è che sempre più software viene creato per essere portabile e per essere eseguito direttamente sul cloud, senza una chiara collocazione a livello di piattaforma come avviene con i software tradizionali. Il secondo è che Amazon ha creato un hypervisor minimale, Nitro, che astrae le caratteristiche dell'hardware, consentendo al software di non scontrarsi con i dettagli implementativi del "ferro" sottostante e di girare su una piattaforma indipendente.
Non è solo questo il principale vantaggio che ha ora ARM rispetto a qualche anno fa. Dal momento in cui sono state lanciate le prime versioni di processori ARM c'è stata un'evoluzione decisa del mercato software in generale verso il supporto di architetture oltre a x86, e in particolare verso ARM, al di là delle specificità di Amazon. Sono gli stessi (metaforici) mattoni con cui sono costruiti i sistemi a essere cambiati, dalla disponibilità di librerie e software per ARM a quella di ambienti di sviluppo dedicati. E questo aspetto fa la differenza, perché ha aperto la possibilità per le aziende di sviluppare software anche per processori ARM.
Il cambiamento del mercato verso un modello cloud-centrico e la maggiore disponibilità di software per ARM vanno di pari passo e sono strettamente collegati. In ugual modo e in misura diversa contribuiscono entrambi a creare un terreno più fertile rispetto al passato in cui il seme di ARM può attecchire.
Il sempre crescente uso dei container facilita anche la scalata di ARM, dato che fa sì che il software sia inserito all'interno di contenitori che non dipendono da una piattaforma terza per funzionare, eliminando la stragrande maggioranza delle dipendenze da software terzo - dipendenze presenti invece nelle architetture software tradizionali. Questo dà una grossa libertà agli sviluppatori, dato che permette loro anche di sviluppare per la piattaforma ARM senza eccessive difficoltà.
Oltre AWS: Ampere Computing progetta CPU ARM a 80 core per il cloud
Il cloud va però oltre Amazon AWS: sono molteplici i fornitori di servizi cloud che hanno interesse a fornire i propri servizi con un miglior rapporto prestazioni/watt. Per questi Ampere Computing, startup americana nata per progettare CPU specificamente per il cloud e l'edge, ha presentato i processori per ora noti con il nome in codice di "QuickSilver": si tratta di processori che arrivano a un massimo di 80 core con architettura Neoverse N1 e caratterizzati da specifiche tecniche di alto livello.
Un dato riguardo i processori QuickSilver riguarda il numero di linee PCIe 4.0: saranno più di 128, ovvero più di quelle integrate nei processori AMD EPYC Rome. Tale caratteristica è di grande importanza perché permetterà alle CPU QuickSilver di fare uso di GPU e altre schede di espansione in grande quantità, fatto che le rende estremamente interessanti per costruire server orientati all'elaborazione dati tramite intelligenza artificiale o orientati allo storage.
Ampere afferma (come riportato da AnandTech) di aver lavorato specificamente per far sì che sia possibile controllare in maniera quasi deterministica le prestazioni in ambiti dove sono presenti più utilizzatori del sistema, fino a spingersi al controllo di frequenza e cache a livello di singolo container in esecuzione sul sistema. Ciò implica una simbiosi tra software e hardware che attualmente non è presente sulle piattaforme x86 e che può dare risultati interessanti, soprattutto per quanto riguarda il rapporto prestazioni/consumi.
Questa ottimizzazione per i container può dare un vantaggio competitivo interessante ai processori ARM in un momento storico in cui sta per avvenire una forte migrazione verso i container di tutti i carichi di lavoro (un po' come già avvenuto con le macchine virtuali) e in cui c'è sempre maggiore attenzione all'aspetto dei consumi energetici.
Ampere non sarà probabilmente l'ultima ad annunciare progetti con base Neoverse N1. Qualcomm, Marvell, Calxeda, Huawei e Fujitsu stanno tutte investendo sulla fattibilità di ARM nei data center e potrebbero presentare delle proprie proposte ora che è stato dimostrato un certo interesse da parte del mercato e una maggiore fattibilità di questo approccio da parte di Amazon. Il futuro di ARM non è ancora scritto e non è detto che non sia (anche) nei data center.
13 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoSe uno installa applicazioni .NET o Java probabilmente non se ne accorge, dato che il runtime di .NET o la JVM probabilmente vengono compilate nativamente per ARM e poi fatti girare sopra le applicazioni, ma in caso di roba nativa C++ potrebbero esserci problemi di compatibilita' e prestazioni. Insomma, se ho un'applicazione x64 non vedo come possa essere meglio farla girare su ARM con Nitro piuttosto che su un processore con l'architettura corrispondente, a parita' di potenza.
Perché ti costa meno, tutto qui
Sul piano del consumo a parita' di potenza pura e' promettente, vedremo dove si collochera' nella prossima lista Green500, che mostra la potenza di calcolo a parita' di consumi: https://www.top500.org/green500/lists/2019/11/, attualmente vediamo che al primo posto c'e' una versione speciale di un chip ARM fatto da Fujitsu con circa 16.9 GFlops per Watt, ma non molto distanti a 16.2 ci sono degli Xeon, e a 15.7 i Power9 sebbene integrati da Nvidia.
Sul futuro, se parliamo di costi, teniamo anche d'occhio Zhaoxin, ha licenziato da VIA la vecchia architettura X86, solo che l'anno prossimo dovrebbe uscire a 7nm.
Peccato che non c'e' nessuno che ritiri fuori la vecchia architettura Motorola 680x0...
il supercomputer a cui fai riferimento ha 2 PF/s come performance pura, quello in cima alla top 500 ha 200 PF/s; circa 19.9 TF/kW contro 16.9 TF/kW, ma con 100 volte la potenza.
quando faranno un supercomputer ARM da 200 TF/s si potranno confrontare e vedere quale converrebbe di più.
Ma e differente, ARM non avrebbe un monopolio, perché ogni licenziatario ha le sue versioni di CPU personalizzate.
ARM ovunque, ma in diverse declinazioni.
Non è come il monopolio intel x86.
il supercomputer a cui fai riferimento ha 2 PF/s come performance pura, quello in cima alla top 500 ha 200 PF/s; circa 19.9 TF/kW contro 16.9 TF/kW, ma con 100 volte la potenza.
quando faranno un supercomputer ARM da 200 TF/s si potranno confrontare e vedere quale converrebbe di piu'.
Non mi tornano i 19.9 TF/kW...se ti riferisci al "Summit" da 200 PFlops, nella stessa Green500 e' elencato al quinto posto con 14.7 GFlops/W (o 14.7 TF/kW), quello subito "dopo" da 94 PFlops e' al decimo posto nella Green500 con 12.7 GFlops/W, comunque non molto distanti. Se non ricordo male il progetto di quel Fugaku/Fujitsu (che comunque usa un prototipo di Arm) era orientato all'Exascale, quindi 400 PFlops, anche se attualmente sono fermi a 2.
Una volta che avrà raggiunto la massa critica comincerà a venir preferito alle altre architetture per la maggior convenienza a livello economico e per i minori rischi riguardo lock-in da parte del produttore e rischi vari di obsolescenza.
e chissà che qualcosa non travasi anche sotto (più di adesso)
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".