A cura della redazione di EMBEDDED
Per gli sviluppatori, la scelta del processore più adatto per le loro applicazioni non è sicuramente un compito semplice, vista l’enorme offerta disponibile. Anche AMD propone una vasta scelta di processori embedded. Per semplificare il processo di selezione, porsi le domande giuste rappresenta un ottimo punto di partenza, come spiega in questa intervista Stefan Seyfried, senior sales manager Embedded di AMD.
Embedded: Potrebbe riassumere le differenze i processori Ryzen Embedded ed EPYC Embedded di AMD?
S.S.: La prima considerazione da fare è che entrambe le famiglie di processori sono realizzate a partire dalla medesima microarchitettura: si tratta dell’architettura Zen, giunta alla terza generazione. Nel 2017 abbiamo introdotto la microarchittura “Zen1”, seguita dalle microarchitetture “Zen2” e “Zen3”. Il core è sostanzialmente lo stesso, indipendentemente dal fatto che venga usato per processori embedded, mobili, desktop, client o server. Confrontando i processori EPYC Embedded e Ryzen Embedded, la prima grande differenza che balza all’occhio è la sezione grafica. Essa non è integrata nei processori della linea EPYC, mentre i processori della linea Ryzen sono APU (Accelerated Processing Unit), il che significa che la grafica è integrata sul chip.
Ryzen Embedded vengono utilizzate nelle Interfacce uomo/macchina (HMI), applicazioni medicali e PC industriali sono alcuni dei settori di utilizzo dei processori della serie Ryzen Embedded di AMD
Embedded: In quali aree applicative vengono utilizzate le APU Ryzen?
S.S.: A parte rare eccezioni, i sistemi embedded richiedono un supporto di tipo grafico. Ciò significa che le CPU Ryzen Embedded vengono utilizzate nelle interfacce uomo/macchina (HMI) e nelle applicazioni medicali, oltre che nei PC industriali. Esistono inoltre are applicative abbastanza particolari. I processori Ryzen V1000, a esempio, sono utilizzati in applicazioni spaziali, mentre altri vengono impiegati per la misura delle distanze tra gli aerei. Un altro settore di utilizzo dei processori Ryzen Embedded è quello automotive. Il più grande produttore di autovetture elettriche a batteria, a esempio, ha utilizzato per il Sistema di infotaiment le CPU Ryzen Embeddded e le GPU basate sull’architettura RDNA-2.
Embedded: Quali sono invece le applicazioni più adatte per i processori EPYC Embedded?
S.S. A differenza delle CPU Ryzen Embedded, i processori della linea EPYC sono largamente diffusi nelle applicazioni edge, ovvero alla periferie della rete, che richiedono l’elaborazione di grandi quantità di dati e le prestazioni della CPU assumono quindi un’importanza critica. La serie EPYC è particolarmente adatta per applicazioni di questo tipo grazie alla disponibilità di un massimo di 128 canali (lane) PCIe. Ciò rappresenta un vantaggio per i sistemi 5G, a esempio, che richiedono un’ampiezza di banda particolarmente estesa. Nel caso delle applicazioni più orientate ai server, la grafica riveste un’importanza minore rispetto alla velocità di elaborazione, dove i processori EPYC eccellono grazie alla diponibilità di modelli con un massimo di 64 core.
Embedded: Si può dunque affermare che i processori della linea EPYC Embedded rappresentano la scelta ideale per le applicazioni di edge computing?
S.S. L’elaborazione alla periferia della rete, o edge computing, fa riferimento a una molteplicità di applicazioni e la scelta del processore più adatto dipende in larga misura dal tipo di applicazione. Si prenda a esempio una classica applicazione edge, come una rete 5G per un campus aziendale. In questo caso un processore Ryzen V2000 potrebbe essere più che adeguato in quanto dispone di un numero di canali PCIe sufficiente, garantisce un TDP (Thermal Design Power, in pratica la dissipazione) ridotto e la configurazione fino a un massimo di 8 core assicura elevate prestazioni.
All’estremo opposto vi sono le classiche applicazioni edge che prevedono il collegamento di un gran numero di dispositive IoT in una fabbrica. Essi sono stati concepiti al solo scopo di elaborare i dati. In questo caso, una CPU della linea EPYC con il suo elevato numero di canali PCIe potrebbe essere la scelta più adatta. Come si può constatare, la scelta del processore dipende molto dalla specifica applicazione.
I processori della linea EPYC sono largamente diffusi nelle applicazioni edge
Embedded: Gli sviluppatori dovrebbero quindi scegliere il processore in funzione della singola applicazione?
S.S.: Esattamente. Questa è anche la ragione per la quale i produttori di moduli di elaborazione come congatec o Kontron propongono diversi moduli equipaggiati con processori differenti. In questo modo viene garantita la disponibilità della soluzione più adatta per ogni sviluppatore e per ogni applicazione.
Embedded: Ciò significa che i produttori di moduli di elaborazione dovrebbero adottare processori differenti?
S.S. Si perchè non è possibile cogliere tutte le opportunità con un unico processore. Se i produttori di moduli vogliono soddisfare le richieste dell’intero mercato, dovrebbero utilizzate tutte e due le linee di processori, Ryzen ed EPYC. Nel caso decidessero di proporre moduli equipaggiati solamente con le CPU Ryzen, in pratica sarebbero “tagliati fuori” dall’intero settore del networking e da buona parte di quello dell’elaborazione edge. Di conseguenza, dovrebbero limitarsi ai soli comparti dei PC industriali e dei gateway IoT. Tenendo conto dei tassi di crescita previsti per i settori del networking e dell’archiviazione alla periferia della rete, è evidente lo svantaggio legato a una decisione di questo tipo.
Embedded: Quando e perchè uno sviluppatore decide di utilizzare una CPU AMD?
S.S.: La prima domanda che gli sviluppatori devono sempre porsi è la seguente: x86 o Arm? In ultima analisi, l’architettura x86 può attingere a un ecosistema più vasto rispetto ad Arm. Per ecosistema intendo non solo i tool di sviluppo, ma anche i compilatori o il software. La seconda domanda riguarda il reperimento delle persone per programmare il software. Specialmente in campo universitario, praticamente qualsiasi studente programma su x86, e ciò per noi rappresenta un enorme vantaggio. Quindi, oltre ai vantaggi in termini di prestazioni, la disponibilità di un ampio ecosistema è un altro motivo per il quale la scelta ricade il più delle volte sull’architettura x86.
L’architettura Arm, invece, dispone di un ecosistema più limitato. Nonostante ciò, Arm rappresenta una scelta interessante per molte applicazioni, soprattutto quelle che richiedono consumi di potenza estremamente ridotti. In ogni caso, nel momento in cui si tratta di offrire la soluzione software più flessibile possibile, x86 è decisamente superiore.
Embedded: Comunque anche all’interno dell’ecosistema x86 la scelta è enorme…
S.S.: È esatto. AMD offre una gamma particolarmente ampia di CPU, dai modelli Ryzen R2000/V2000 ed EPYC 3000 fino ad arrivare a EPYC 7001, 7002 e alle nuove versioni della linea EPYC 7003. Altri produttori di processori propongono un’offerta altrettanto ampia e articolata. Per questo motivo gli sviluppatori dovrebbero porsi le seguenti domande:
• Quali sono gli obiettivi della mia applicazione? Quali sono le funzionalità principali necessarie per il mio sistema?
• Quali sono i miei requisiti in termini di grafica e i I/O?
• Qual’è il massimo TDP necessario?
Rispondendo a queste tre domande gli sviluppatori possono restringere la scelta da circa 50 a non più di 10 processori. Ciò contribuisce a semplificare notevolmente il processo decisionale.
Embedded: Numerose applicazioni edge richiedono un’elevata potenza di elaborazione parallela, spesso supportata dalle GPU. In che misura AMD risponde a questa esigenza?
S.S.: AMD si è affacciata al settore della grafica con l’acquisizione di ATI. Poco tempo dopo questa operazione, AMD ha iniziato a integrare GPU e CPU all’interno delle APU. Una CPU abbinata a una GPU e ad altri circuiti logici integrati assicura prestazioni nettamente superiori rispetto a quelle richieste in passato dall’utente medio. Per tale motivo ci siamo impegnati a sviluppare standard aperti come OpenCL, al fine di promuovere e accelerare l’utilizzo di queste architetture di sistema eterogenee e cambiare le modalità di utilizzo dei computer embedded. Siamo anche stati tra i primi a parlare di ubiquitous computing, che ora si è concretizzato sotto forma di Industry 4.0, IIoT e digitalizzazione. Un altro esempio è Windows ML, il plug-in per l’apprendimento automatico (machine learning) di Windows IoT. Esso semplifica l’utilizzo, da parte degli sviluppatori, della grafica come potenza di elaborazione. Tali acceleratori occupano un posto importante nella strategia di AMD. Da menzionare anche la serie AMD Instinct di schede acceleratrici ideate per applicazioni nei data center. Abbiamo ottenuto risultati molto positivi, soprattutto negli ultimi due anni. Abbiamo vinto numerosi nuovi progetti nelle aree dell’HPC (High Performance Computing) e delle applicazioni cloud , per le quali forniamo un stack software completo denominato AMD ROCm.
Embedded: NVIDIA ha introdotto la sua prima CPU sul mercato. La società può essere un concorrente temibile nel settore delle CPU?
S.S.: Nel settore in cui mi occupo non ho ancora sentito di clienti che sono passati a NVIDIA. In linea generale rispettiamo ogni nuovo concorrente e siamo abituati a competere con i maggiori player, sia nel campo delle CPU sia in quello delle GPU. Questo fa parte del nostro DNA ed è il motivo per il quale non ci concediamo un attimo di pausa e continuiamo a sviluppare prodotti che consentano di ottenere vantaggi competitivi. L’architettura “Zen” rappresenta un ottimo esempio. La combinazione tra CPU e GPU caratterizzate da eccellenti prestazioni ci rende particolarmente competitivi e ci pone in una posizione di vantaggio rispetto alla concorrenza.
Embedded: In che modo vengono soddisfatti i requisiti relativi alla sicurezza per le applicazioni embedded?
S.S.: Ancora una volta, il fatto che i processori Ryzen ed EPYC siano basati sullo stesso core ci pone in una posizione privilegiata. Ciò significa che i problemi legati alla sicurezza sono i medesimi per entrambe le famiglie. Vi sono alcune funzionalità integrate solamente nelle CPU della linea EPYC poiché non sono rilevanti per i client. Un esempio è la virtualizzazione sicura, che non consente alle istanze virtuali di “intercettarsi” a vicenda poiché ciascuna viene eseguita in un’area di memoria cifrata. Una caratteristica di questo tipo non è presente nei processori della serie Ryzen.
Embedded: Ma la sola architettura non è sufficiente….
S.S.: Bisogna essere realisti: gli hacker saranno sempre un passo avanti. Noi possiamo affrontare e risolvere eventuali problematiche relative della sicurezza che sono riscontrabili al momento attuale, e questa è una nostra responsabilità. Comunque, dovremo sempre lavorare sugli aggiornamenti e sull’implementazione di nuove funzionalità di sicurezza. Con i nostri processori è possibile a esempio cifrare l’intera area di memoria. Si tratta di un aspetto importante per i PC industriali, che spesso operano con memorie rimovibili.
Oltre a ciò, nei processori della linea EPYC abbiamo implementato la virtualizzazione cifrata sicura (SEV – Secure Encrypted Virtualization). Google ha iniziato a utilizzarla nelle proprie istanze Confidential Cloud. Chiunque voglia accedere a Confidential VM (macchine virtuali riservate) specifiche di Google Cloud può decidere se utilizzare un’istanza sicura di questo tipo. Teniamo molto a sottolineare le nostre caratteristiche di sicurezza perchè si tratta di un punto di forza di notevole impatto.
Stefan Seyfried, senior sales manager embedded (AMD)