Perchè Microsoft vuole utilizzare processori ARM?

Dopo molti anni il mercato delle CPU server sta forse per subire un’improvvisa inversione di tendenza. La leadership consolidata di Intel, che tutt’ora detiene con le CPU Xeon (utilizzate anche da Hosting Solutions) la quasi totalità delle quote di mercato, potrebbe essere infatti ridimensionata dall’arrivo sulla scena delle architetture ARM – di cui in realtà si parla già da tempo ma che non ha mai avuto modo di concretizzarsi.

E’ stata Microsoft a rilanciare l’avanzata dell’architettura nota ai più per i chip adottati da numerosi produttori di smartphone e tablet: nel corso dell’Open Compute Summit di Santa Clara (8-9 marzo 2017) ha annunciato non solo la presenza di Cavium e Qualcomm (due noti vendor di soluzioni basate su architettura ARM) nella lista di aziende coinvolte in Project Olympus (approfondiremo in uno dei paragrafi successivi), ma anche l’esistenza di una versione ARM di Windows Server. Ed a rendere ancora più interessante la seconda dichiarazione è la conferma che l’azienda sta testando l’OS e relative CPU ARM nei propri data center cloud, con l’intenzione di mandarle in produzione in una finestra temporale non ancora nota al pubblico.

Libertà di scelta

Microsoft e la piattaforma Azure sono generalmente considerati dagli analisti il secondo player più importante del mercato cloud IaaS dopo Amazon Web Services. Un annuncio di tale portata avrà sicuramente destato alcune preoccupazioni al quartier generale Intel. Come osservato dalla stampa specializzata, Redmond sta cercando di diversificare i proprio fornitori di processori aprendo le porte anche ad ecosistemi fino ad oggi rimasti in secondo piano rispetto ad Intel, ovvero AMD (pronta a lanciare a breve Naples) ed ARM.

L’idea di utilizzare soluzioni ARM per fornire servizi cloud storage, machine learning, indicizzazione, ricerca e via dicendo rivaluta enormemente la posizione di ARM sul mercato. “Tutti questi servizi [cloud storage e gli altri appena elencati ndr] occupano circa la metà della nostra capacità data center, [c’è quindi posto per varie tipologie di server]” ha affermato Leendert van Doorn (distinguished engineer presso Azure).

Affrancarsi dai vendor server ed hardware utilizzando design personalizzati e molteplici configurazioni nei futuri server cloud è quindi l’obiettivo di Redmond e Project Olympus, così come di altri importanti aziende come Facebook, Google, Amazon e via dicendo.

Project Olympus

L’intenzione di realizzare un server “open” adatto ad ambienti “massivi” come gli hyperscale data center era “dietro le quinte” già da alcuni anni, probabilmente da quando Microsoft si è unità (con grande sorpresa della stampa) alla schiera di aziende dell’Open Compute Project (Gennaio 2014). Il debutto di Olympus è tuttavia avvenuto pochi mesi fa, il 1 novembre 2016, nel corso di un evento promosso da Datacenter Dynamics a Londra (Zettastructure: The European Digital Infrastructure Summit).

La scheda madre di Olympus, tenendo fede alla mentalità dell’OPC, è modulare e riadattabile facilmente alle task che si intendono assegnare alla macchina. Ampio il supporto alle tecnologie di ultima generazione, dai cosiddetti FPGA (Field Programmable Gate Arrays, chip riconfigurabili per eseguire determinati compiti e con risultati migliori rispetto a hardware multitask come i processori) fino ai NVMe SSD (8 unità installabili), una variante degli SSD da 2.5″ che si appoggia a memorie flash in grado di raggiungere velocità di scrittura/lettura superiori.

Sempre da un punto di vista prestazionale, sono presenti anche due alloggiamenti CPU (socket) con annessi dei sistemi di dissipazione passiva e tre alloggiamenti PCI Express 16x da destinare a schede video (ormai utilizzate per processare workload impegnativi come l’addestramento di reti neurali e non solo) o SSD – le soluzioni che sfruttano la banda superiore garantità dal PCI Express sono eslusivamente pensate per il settore enterprise ed arrivano a costare diverse migliaia di euro.

I server necessitano di energia per funzionare ed anche in questo ambito Microsoft ha ben pensato di dotare Olympus sia di classici alimentatori integrati (PSU) che di innovative universal rack power distribution, in modo che la macchina possa adattarsi a molteplici standard energetici. Per fronteggiare problematiche inaspettate, Redmond ha anche pensato ad alimentatori muniti di batterie.

Altri motivi per affidarsi a soluzioni ARM

Leendert van Doorn ha spiegato dal blog ufficiale Microsoft perchè la compagnia si sia rivolta anche all’ecosistema ARM (a parte l’implicita e già citata necessità di affrancarsi dal monopolio di Intel ed altri vendor):

  • l’ecosistema ARM è dinamico ed in continua evoluzione. L’elevato numero di aziende e soggetti coinvolti assicura uno sviluppo continuo, da un punto di vista tecnologico, delle soluzioni basate su architettura ARM. Gli aspetti più importanti e citati da Doorn sono il numero di thread, la cache, le istruzioni, le opzioni di connettività e gli acceleratori;
  • il secondo motivo citato è inerente al precedente: l’ecosistema ARM è costellato di  sviluppatori, programmatori che hanno attivamente collaborato a costituire un vasto know how – conoscenze che sono state sfruttate anche da Microsoft stessa per effettuare il porting del proprio software cloud su server ARM;
  • le soluzioni ARM sono più aperte all’introduzione di nuovi set di istruzioni. Grazie alla loro “malleabilità” possono adattarsi a future ISA senza stravolgere lo stack di software che si appoggia a loro;
  • l’importanza che riveste il throughput nel mondo ARM. Le architetture pensate per i server si focalizzano su tutti quegli aspetti cruciali per i cloud provider come numero di thread e core, opzioni multiple di connettività, prestazioni IO, IPC.

Anche se non inerente direttamente ad ARM (riguarda anche AMD), chiude l’elenco di motivazioni dietro all’apertura dei vertici Redmond all’ecosistema ARM l’idea di ottimizzare l’hardware per determinati workload: “[per via del numero di macchine coinvolte nell’esecuzione di determinati servizi cloud, da un punto di vista strettamente economico è molto più conveniente ottimizzare l’hardware per i workload e non viceversa]” ha affermato Doorn sempre sul blog ufficiale. E quale migliore soluzione del coinvolgere il più ampio numero possibile di “chipmaker” in Project Olympus?

Fonti: 1, 2, 3