EMBEDDED
57 • settembre • 2015
hardware
|
IoT
46
cloud è ridotta e il tempo non rappresenta un
elemento critico. Nel caso invece un sistema pre-
veda il trasferimento in tempo reale di video con
risoluzione 4k provenienti da più telecamere, le
limitazioni intrinseche di Internet rappresenta-
no sicuramente un problema.
Virtualizzazione:
alcune considerazioni
I requisiti di un sistema “cloud-centric” si propa-
gano attraverso la rete andando a coinvolgere i
data center, dove sono già in atto radicali muta-
menti. Nel momento in cui i data center devono
gestire un numero sempre maggiore di
applicazioni che richiedono elabo-
razioni complesse di tipo event
triggered (ovvero che vengo-
no attivate nel momento
in cui si verifica un certo
evento), la virtualizza-
zione dei server e delle
risorse di storage è una
scelta quasi obbligata.
Il data center deve es-
sere in grado di far gi-
rare un’applicazione su
qualsiasi risorsa che sia
disponibile, nel rispetto
dei requisiti relativi al li-
vello di servizio del sistema
esterno.
Vi è un altro elemento critico
da tenere in considerazione.
Alcuni algoritmi non possono
essere distribuiti tra più core residenti su server
differenti. Essi dipendono dalle prestazioni sin-
gle-thread e l’unico modo per accelerarli è farli
girare su un hardware più veloce.
Il punto di arrivo di queste considerazioni è rap-
presentato da un CDC (Cloud Data Ceter) che
all’utilizzatore appare di tipo “application speci-
fic” mentre all’operatore appare completamente
virtualizzato. Un data center di questo tipo offre
all’utilizzatore risorse di elaborazione, accelera-
zione e memorizzazione configurate in modo tale
da supportare l’esecuzione dei suoi algoritmi,
mentre per l’operatore il data center può essere
ricondotto a un grandissimo numero di risorse
identiche definibili mediante software.
La nebbia sarà il futuro?
Finora abbiamo discusso le modalità da seguire
per accedere alle applicazioni IoT per le quali è
possibile eseguire tutte le elaborazioni a livello
di cloud. Ora si vogliono analizzare quelle ap-
plicazioni per le quali ciò non è possibile per ra-
gioni di sicurezza, ampiezza di banda, latenza o
determinismo.
Applicazioni di questo tipo richiedono una quan-
tità significativa di risorse di elaborazione e di
memorizzazione locali a livello di sensori – come
nel caso delle telecamere di sorveglianza – pre-
senti in un hub o di switch Internet.
Oggigiorno queste risorse sono integra-
te in hub e sensori di tipo proprie-
tario sotto forma di hardware
di tipo “application specific”,
utilizzando in linea gene-
rale CPU “lightweight”
supportare da accelera-
tori hardware.
Si immagini ora che
la virtualizzazione sia
in grado di varcare i
confini dei data cen-
ter diffondendosi alle
risorse di elaborazione,
di memorizzazione e di
connettività del mondo
IoT. L’oggetto dell’applica-
zione può essere ubicato do-
vunque: nel cloud, negli hub
“intelligenti”, nei sensori
“smart” o persino all’interno
della struttura della rete (Fig. 2). Esso può esse-
re spostato a piacimento, in base agli indicatori
delle prestazioni e alle risorse disponibili. Un si-
stema di questo tipo sarebbe robusto, flessibile
e continuamente alla ricerca di un uso ottimale
delle risorse.
Per concretizzare questa visione è necessario in-
traprendere alcune azioni. Le applicazioni devo-
no risiedere in un “contenitore” portatile, come
ad esempio una macchina virtuale JAVA o una
piattaforma OpenCL (Open Computing Lan-
guage) che ne consenta l’esecuzione senza mo-
difica alcuna su una gamma veramente ampia
di differenti piattaforme hardware. La nozione
di Application Directed Networking (collega-
Fig. 2 – Il concetto di “nebbia” di In-
ternet