5G al Massimo: Come Abbiamo Potenziato il Simulatore 5G-air-simulator con CUDA e MEC!
Ciao a tutti! Oggi voglio raccontarvi di un’avventura affascinante nel mondo del 5G e del Multi-access Edge Computing (MEC). Negli ultimi anni, avrete sicuramente sentito parlare del 5G come la tecnologia del futuro, pronta a rivoluzionare le nostre vite con casi d’uso incredibili. Ma per noi ricercatori, esplorare questo potenziale richiede strumenti potenti, come i simulatori. Il problema? Spesso, gli strumenti esistenti non bastano a coprire tutte le nostre esigenze, specialmente quando si tratta di architetture complesse come il 5G.
Ecco dove entriamo in gioco noi! Abbiamo deciso di rimboccarci le maniche e migliorare uno dei simulatori 5G più utilizzati, il 5G-air-simulator. La nostra idea? Aggiungere il supporto per il MEC accelerato tramite GPGPU (General-Purpose Graphic Processing Unit), usando la tecnologia CUDA di Nvidia. E sapete una cosa? Siamo i primi ad averlo fatto!
Perché il MEC e le GPGPU sono così importanti per il 5G?
Il 5G promette meraviglie come latenze bassissime e larghezze di banda enormi per tantissimi utenti contemporaneamente. Uno dei modi migliori per ottenere queste prestazioni è avvicinare le applicazioni server agli utenti finali (i cosiddetti User Equipment, o UE). Questo concetto si chiama Multi-access Edge Computing (MEC). In pratica, invece di avere server centralizzati lontani, si usano server di calcolo generici proprio ai margini della rete.
Ma non è tutto! Il MEC non solo migliora banda e latenza, ma apre anche la porta all’uso delle potentissime GPGPU (avete presente le schede grafiche per il gaming? Ecco, quelle, ma usate per calcoli complessi) direttamente nell’infrastruttura di telecomunicazione. Immaginate la potenza di calcolo che si può scatenare per applicazioni come l’intelligenza artificiale, l’analisi video in tempo reale o la crittografia avanzata, proprio dove serve!
Il MEC si posiziona strategicamente “all’edge”, cioè al confine tra la rete di accesso radio (quella a cui si collegano i nostri smartphone) e la rete centrale (Core Network). Grazie a sistemi di routing intelligenti, il traffico può essere indirizzato attraverso l’host MEC, permettendogli di offrire una miriade di servizi diversi agli utenti, agli operatori e a chi condivide l’infrastruttura.
Colmare il divario: La nostra proposta di simulatore
Nonostante si parli tanto di architettura MEC in teoria, mancava una simulazione a livello di sistema che la rappresentasse fisicamente, soprattutto con il supporto GPGPU. Ed è qui che il nostro lavoro fa la differenza. Abbiamo preso il 5G-air-simulator, scelto per il suo design modulare e le licenze favorevoli alla ricerca, e lo abbiamo “vitaminizzato”.
Il nostro simulatore ora può emulare una piattaforma MEC potenziata da GPGPU, seguendo sia la visione di Nvidia (che ha una sua piattaforma specifica chiamata EGX con AERIAL SDK) sia lo standard di riferimento definito dall’ETSI (European Telecommunications Standards Institute). Questo ci permette di rispondere alle esigenze di un pubblico di ricercatori molto più ampio.
I nostri contributi principali sono:
- L’implementazione di un simulatore per ambienti MEC supportati da GPGPU.
- L’integrazione dell’architettura MEC secondo la prospettiva Nvidia.
- L’integrazione dell’architettura MEC secondo il design di riferimento ETSI.
- La definizione di casi d’uso specifici per il 5G in un’infrastruttura MEC con GPGPU.
E, per quanto ne sappiamo, siamo stati i primi a fare tutto questo!
Uno sguardo ai simulatori esistenti e all’architettura 5G
Prima di tuffarci nei dettagli della nostra implementazione, facciamo un passo indietro. Nel mondo dei simulatori di rete, esistono due categorie principali: i simulatori a livello di sistema (System-level) e i simulatori a livello di collegamento (Link-level). I primi si concentrano sui dati e sulla loro trasmissione, modellando il servizio e la sua relazione con variabili come il numero di utenti, senza preoccuparsi che i percorsi siano identici al mondo reale. I secondi, invece, mirano a replicare fedelmente tutte le interfacce e i livelli che trasportano i dati, come nel mondo reale, ma spesso sono limitati nel numero di utenti che possono simulare a causa della loro complessità.
Abbiamo valutato diverse opzioni, come 5G K-SimNet (basato su ns-3, molto dettagliato ma senza supporto MIMO avanzato) e GTEC 5G simulator (interessante ma basato su MATLAB e hardware fisico, non ideale per i nostri scopi). Alla fine, 5G-air-simulator, sviluppato in C++ con un meccanismo a eventi e modelli realistici per l’applicazione e lo stack di rete (incluso lo strato fisico e la mobilità degli UE), si è rivelato la scelta migliore per la sua flessibilità e modularità.
L’architettura 5G, pur ereditando molto dal 4G, introduce una novità rivoluzionaria: la suddivisione delle funzioni della stazione base (gNB) in unità distribuite (DU) e centralizzate (CU). Questo permette di eseguire parti dello stack protocollare (quelle più vicine alla rete centrale) su server potenti e centralizzati tramite virtualizzazione, garantendo una gestione delle risorse più flessibile e dinamica. Il MEC si inserisce perfettamente in questo quadro.
Il ruolo chiave dell’ETSI MEC
L’ETSI ha svolto un lavoro fondamentale nello standardizzare l’architettura MEC. Il loro design di riferimento definisce componenti chiave e interfacce standard (API) per garantire interoperabilità e facilità di sviluppo. I componenti principali sono:
- Mobile Edge Host: Il server fisico che esegue le applicazioni edge e fornisce risorse virtualizzate (calcolo, storage, rete).
- Mobile Edge Manager: L’orchestratore che gestisce il ciclo di vita delle applicazioni e l’ambiente MEC.
- Mobile Edge External Resources: Risorse esterne (es. server di terze parti) che possono supportare le applicazioni MEC.
Le API definite (Virtualization API, Servicing API, Application Management API) permettono ai vari sistemi (OSS/BSS, applicazioni MEC, componenti della rete 5G) di interagire in modo standardizzato per gestire l’infrastruttura, i servizi e le applicazioni.
Casi d’uso: Mettere alla prova il nostro simulatore potenziato
Per dimostrare le potenzialità del nostro simulatore MEC con supporto GPGPU, abbiamo identificato alcuni problemi del mondo reale, soprattutto legati all’Internet of Things (IoT), che trarrebbero grande beneficio da questa architettura. Con il 5G, avremo un’esplosione di dispositivi IoT, portando con sé sfide legate a sicurezza, crittografia e analisi dei dati (come il riconoscimento visivo).
Ecco alcuni scenari che abbiamo simulato:
1. Visual Object Tracking per IoT: Immaginate telecamere di sicurezza IoT che devono tracciare oggetti in tempo reale. Elaborare le immagini sul cloud è troppo lento. Elaborarle direttamente sul dispositivo consuma troppa batteria. La nostra soluzione? Spostare l’elaborazione pesante (magari basata su deep learning) sul server MEC vicino, sfruttando la potenza della GPGPU. Questo garantisce bassa latenza e risparmio energetico per il dispositivo IoT. Abbiamo preso spunto da studi esistenti [22] e adattato l’idea al contesto MEC.
2. Offloading dell’Autenticazione per IoT: I dispositivi IoT gestiscono dati sensibili e devono essere sicuri. Creare firme digitali complesse richiede potenza di calcolo, cosa che i piccoli dispositivi IoT spesso non hanno (o che consumerebbe troppa batteria). Ispirati da ricerche come [23] e [24], abbiamo simulato lo spostamento (offloading) degli algoritmi di autenticazione (come quelli usati in SSL/TLS) sul server MEC con GPGPU, rendendo i dispositivi più sicuri senza scaricare la batteria.
3. Network Intrusion Detection System (NIDS) per IoT: Proteggere le flotte di dispositivi IoT dagli attacchi è cruciale. Sistemi NIDS specializzati come Clort [25], che confrontano il traffico di rete con firme di attacchi noti, possono essere molto esigenti in termini di risorse. Ancora una volta, il server MEC con GPGPU può farsi carico di questo compito, analizzando il traffico dei dispositivi IoT vicini e rilevando minacce in tempo reale.
Come funziona sotto il cofano?
Abbiamo lavorato per integrare il supporto GPGPU in modo efficiente. Nella nostra implementazione “stile Nvidia”, i dati radio provenienti dall’antenna (DU) vengono inviati direttamente a un modulo GPGPU definito e caricati nella memoria della GPU. Un codice CUDA principale, eseguito sulla GPU, processa questi dati prima di restituirli alla CPU. Abbiamo modellato i dati come un array bidimensionale (tempo e frequenza) ridotto a uno monodimensionale per l’elaborazione sulla GPU.
Abbiamo anche implementato il supporto per l’architettura ETSI MEC. In questo caso, il nostro simulatore instrada tutto il traffico del piano utente degli UE attraverso il server MEC prima che raggiunga la rete centrale (EPC). Questo ci permette di supportare diversi tipi di servizi offerti dalle applicazioni MEC conformi allo standard ETSI.
Risultati: La GPGPU fa la differenza!
Abbiamo messo alla prova il nostro simulatore modificato confrontandolo con la versione standard, eseguendo test su una macchina con CPU AMD Ryzen 7 4800H e GPU Nvidia GeForce GTX 1650 Ti. I risultati sono chiari: il nostro approccio con GPGPU è significativamente più veloce!
Certo, c’è un costo nel trasferire i dati tra CPU e GPU, specialmente perché non usiamo hardware specializzato come quello di Nvidia che permette trasferimenti diretti dalla scheda di rete alla GPU. Tuttavia, per un simulatore, questo ritardo (che è comunque consistente) non è un problema, perché l’obiettivo è confrontare diversi approcci e algoritmi, non ottenere prestazioni da prodotto finale.
Abbiamo anche eseguito test specifici basati sui casi d’uso descritti prima, confrontando algoritmi ottimizzati per CPU con le loro controparti su GPU:
- DES-ECB (Crittografia): Su ~120MB di dati, la GPU ha mostrato prestazioni nettamente superiori, dimostrando che per algoritmi complessi, il costo del trasferimento dati vale la pena.
- Visual Object Tracking (Deep Learning): Su ~6.5MB di dati (sequenze video), la GPU è stata molto più performante, evidenziando il vantaggio delle GPGPU per algoritmi complessi, specialmente nel machine learning.
Anche se non ci siamo focalizzati sull’ottimizzazione estrema dei codici GPU specifici (il nostro scopo era creare il *simulatore*), i risultati dimostrano il potenziale enorme dell’accelerazione GPGPU nel contesto MEC.
Conclusioni e Prossimi Passi
Con questo lavoro, crediamo di aver colmato una lacuna importante nel panorama dei simulatori 5G, offrendo alla comunità scientifica uno strumento per esplorare il potenziale del MEC supportato da GPGPU. Abbiamo dimostrato la fattibilità e i benefici di questo approccio attraverso casi d’uso realistici.
Il nostro simulatore, supportando sia la visione Nvidia che lo standard ETSI, speriamo possa essere utile a un’ampia gamma di ricercatori. E non ci fermiamo qui! Stiamo già pianificando di usare questo simulatore come base per un altro progetto ambizioso: sviluppare metodi di intelligenza artificiale per controllare automaticamente lo “slicing” della rete 5G, un’altra tecnologia chiave per abilitare i diversi casi d’uso del futuro.
Siamo entusiasti delle possibilità che si aprono e non vediamo l’ora di vedere come la nostra piattaforma aiuterà a plasmare il futuro del 5G e del MEC!
Fonte: Springer