Nei mesi scorsi, nell’ambito di una collaborazione tra università e azienda, ELIS Innovation Hub (EIH) ha dato alla luce un primo modello basato sull’intelligenza artificiale per ottimizzare la QoS (Quality of Service) e i costi operativi di un sistema vCDN (virtual Content Delivery Network) progettato per il live-streaming. L’algoritmo trova soluzioni al problema del SFC (Service Function Chain) Deployment in tempo reale, ed è stato testato con dati di una CDN italiana reale ottenendo risultati soddisfacenti nonostante la complessità di questo scenario. Questo algoritmo, nato da una collaborazione tra il centro di ricerca DIAG dell’Università La Sapienza di Roma ed EIH, è stato pubblicato in una rivista scientifica a ottobre 2021 come il primo algoritmo a svolgere questo tipo di ottimizzazione.
Quali sono le motivazioni che hanno portato a questi sviluppi? Quali i componenti chiavi dell’algoritmo vincente? Quali sono gli altri obiettivi nel mirino dell’industria nel contesto dell’intelligenza artificiale e il networking nei prossimi anni?
L’imponente mercato della video delivery
Un report di Grand View Research[1] segnala che il mercato della video delivery è stato quotato in 59,14 miliardi di dollari nel 2021. In cosa consiste questo settore commerciale? Stiamo parlando di tutto l’insieme di soluzioni ideate dall’industria per permettere agli utenti di Internet di inviare e ricevere contenuto multimediale ad alta qualità e in tempi brevi. Esistono diversi meccanismi che aiutano a raggiungere questi obiettivi agendo ciascuno sui diversi stratti della pila ISO/OSI. In questo articolo ci concentreremo su un particolare paradigma: le Content Delivery Networks (CDN). Iniziamo subito spiegando cosa sono le CDN.
Content Delivery Networks e barriere all’ingresso nel market della video delivery
In ambito video-delivery, le CDN sono sistemi di rete distribuiti che hanno due scopi:
- ridurre il ritardo nella risposta a ogni richiesta dati
- prevenire l’intasamento delle risorse di rete.
Le CDN usano principalmente due strategie per compiere quest’obiettivo: la replicazione dei contenuti, anche chiamata content caching, e la re-direzione del traffico, o dispatching.
Tradizionalmente, i componenti delle CDN vengono istanziati su hardware apposito e il fatto di dover allestire un server fisico per ogni componente rappresenta una grande spesa in conto capitale (anche detti capital expenditures o CapEx). L’entità di questi costi rende difficile l’entrata di nuovi player nel mercato delle CDN, oltre a rendere alti i costi del servizio per i produttori di contenuto. La principale strategia per rendere leggere e dinamiche le CDN fa uso della Network Functions Virtualization ed il Software Defined Networking per dispiegare in modo dinamico i multipli componenti di quella che viene a chiamarsi una virtualized CDN (vCDN) su una vasta infrastruttura di rete virtuale spesso a disposizione su grande scala.
L’avvento delle virtualized CDN e le Service Function Chains
I vantaggi delle vCDN sono multipli:
- l’infrastruttura virtuale della CDN eredita l’elasticità che caratterizza i sistemi virtualizzati in generale;
- la possibilità di mantenere i componenti virtuali su uno stesso server fisico aiuta al cosiddetto consolidamento delle risorse.
Di conseguenza, i proprietari della CDN hanno risparmi potenzialmente enormi sui CapEx e gli OpEx. Le vCDN inoltre permettono infatti di attuare più facilmente le varie politiche di spiegamento (deploy) dei componenti nella rete virtuale sottostante. Questo facilita l’adattamento del sistema a cambiamenti nei pattern di traffico richiesto, molto caratterizzante del contesto live-video delivery.
Nelle vCDN, ogni richiesta viene servita da una catena di componenti virtuali – detta Service Function Chain (SFC) – che applicano sullo stream di dati diversi funzioni. Negli ultimi anni, i creatori delle vCDN si sono chiesti come ottimizzare gli OpEx e la qualità di servizio (QoS) tramite l’attuazione di corrette politiche di spiegamento (deploy) delle SFC nell’infrastruttura di rete virtuale sottostante. Per questo motivo, l’industria sta cercando di creare sistemi adattivi capaci di modificare le proprie strategie di SFC Deployment a seconda delle caratteristiche attuali della rete e del sistema.
Ottimizzazione della QoS e dei costi nelle vCDNs: stato dell’arte e sfide aperte
Figura 1: Una virtualized CDN si appoggia al concetto di Virtual Network Functions per gestire le richieste di ogni utente. I componenti della vCDN possono essere istanziati in multipli nodi dell’infrastruttura di rete virtuale sottostante.
Image Credit: Jesús F. Cevallos M.
Le misure di QoS e di costi nelle CDNs e i fattori che incidono sulla QoS e sui costi
Una misura tipicamente usata per ottimizzare la QoS nelle vCDN è il ritardo, che sappiamo può subire variazioni a seconda delle caratteristiche attuali della rete (si pensi per esempio agli eventi di cache HIT o cache MISS, o al overloading dei nodi della rete). D’altra parte, in una vCDN, i costi OpEx sono solitamente quelli legati al consumo delle risorse quali CPU, memoria, larghezza di banda, e costo della trasmissione dati. È importante notare che diverse strategie di SFC Deployment possono influire molto sui ritardi e sui costi operativi della vCDN.
Una sfida aperta: l’ottimizzazione del SFC Deployment per live-streaming vCDN
Il problema dell’ottimizzazione della QoS e dei costi consiste nello scoprire dove posizionare i componenti di ogni SFC per servire le richieste in modo che il ritardo venga minimizzato. Se volessimo disporre di una SFC potenzialmente diversa per ogni richiesta, stiamo parlando di un problema di ottimizzazione con moltissime variabili e vincoli, difficili da raggruppare in un modello formale. Infatti, i ricercatori hanno creato modelli approssimativi di questi scenari per poter arrivare a soluzioni in tempi di esecuzione pratici. Ora, sulla scia della rinascita del Deep Reinforcement Learning (DRL) dell’ultima decade, gli investimenti di ricerca hanno dato luce a modelli più a granularità fine e capaci di essere auto-adattivi a contesti dinamici.
Ad ogni modo, questi modelli sono poco esportabili al mondo della live-video delivery, in quanto le caratteristiche di questo contesto pongono nuove sfide difficili da risolvere con framework DRL model-free come quelli proposti per sistemi virtualizzati di rete con meno vincoli. Alcune di queste fine sono il cache status tracking, i ritardi di processing, il consumo delle risorse basata sull’ingestion e sullo streaming di contenuti, i ritardi dovuti ai tempi di istanziazioni dei container, le eterogeneità dei pattern di traffico e delle caratteristiche delle richieste, ecc.
La soluzione proposta: il model-based Deep Reinforcement Learning
La sfida della complessità del problema e la scalabilità
Il numero di catene di servizio configurabili per ogni richiesta che entra nella vCDN è immenso, se pensiamo a una vCDN di medie dimensioni, con una dozzina di server e decine di migliaia di richieste al minuto, anche se volessimo ottimizzare la policy durante un minuto solo, avremo 15 milioni di opzioni possibili. Per questo motivo, creare un sistema capace di trovare la soluzione migliore fra tutte le possibili soluzioni richiede un design accurato e intelligente, capace di concentrare l’attenzione del sistema sulle opzioni potenzialmente più performanti, allo stesso tempo senza restringere il grado di azione per permettere all’agente di attuare strategie intelligenti a lungo termine. Questo compromesso è classicamente chiamato exploration vs. exploitation nella letteratura del DRL.
Il model-based DRL design
Figura 2: Il model-based Deep Reinforcement learning è la principale strategia che permette all’algoritmo di Deep Reinforcement Learning di sfruttare la conoscenza del modello della CDN per guidare la ricerca delle soluzioni ottimali al problema senza restringere le opzioni alle soluzioni immediatamente ottimali, ma tenendo conto di azioni che possono risultare in ottimi risultati nel lungo periodo. Image Credit: Jesús F. Cevallos M.
Una tecnica usata molto comunemente per raggiungere quest’obiettivo è quella di suddividere il problema della costruzione della catena di servizio in piccole step, chiedendosi ad ogni momento quale è il server migliore per gestire la richiesta presente. Con questo meccanismo, le azioni che l’agente di AI è chiamato a svolgere in ogni istante vengono ridotte, e il problema tende a semplificarsi. Avendo una conoscenza del modello, infatti, l’agente è capace di stimare il ritardo accumulato per la richiesta ogni volta che un nuovo server viene assegnato, e può orientare le sue scelte di conseguenza.
D’altro canto, non per questo viene soppressa all’agente la libertà di scegliere un server che può compromettere il ritardo della richiesta. La chiave di volta dell’algoritmo è proprio questa: permettere all’agente di effettuare qualunque scelta in modo di poter sacrificare scelte immediatamente convenienti per riuscire ad ottimizzare la QoS a lungo termine, in funzione, per esempio, delle stime del traffico futuro. L’algoritmo infatti è stato progettato per permettere una safe-exploration del mercato: Si mette un limite -anche molto stringente- allo scaling verticale e orizzontale delle risorse per salvaguardare i costi operativi, e si cerca di massimizzare l’efficienza della vCDN in situazioni di traffico intenso.
Infine, c’è da dire che è importante equilibrare questa libertà di esplorazione con un meccanismo capace di guidare l’apprendimento verso le regioni dello spazio più promettenti ed evitare in questo modo la deception dell’agente di DRL. Per fare questo è stato creato un meccanismo di feedback che attribuisce più o meno punteggio alle scelte dell’agente a seconda dell’immediata convenienza delle azioni. Questo particolare reward shaping dà dei riscontri positivi all’agente in modo proporzionale alla riduzione del ritardo che l’utente esperimenterà quando richiede un video alla vCDN, ma anche provvede con un reward negativo in modo proporzionale al de-merito delle scelte: più premature sono le scelte che compromettono la QoS, più negativo sarà il feedback. Infine, grazie all’uso del meccanismo di experience replay, si ripete periodicamente l’ottimizzazione dei parametri dell’agente in funzione di tutti i riscontri che l’agente ha raccolto al momento.
In sintesi, la ricetta che ha reso possibile la risoluzione del problema tramite il deep learning è la stessa che ha caratterizzato altre simili vittorie recenti su problemi precedentemente intrattabili: mantenere il giusto equilibrio tra la libera esplorazione dello spazio di soluzioni e l’introduzione di meccanismi che inducono un certo orientamento all’esplorazione di questo spazio verso regioni dello spazio sensate e promettenti. Un’ennesima dimostrazione del fatto che in ambiti industriali, dove le soluzioni pratiche sono quelle vincenti, è bene tener presente la sinergia che gli approcci simbolici e gli approcci percettivi dell’intelligenza artificiale possono creare.
Altre simili innovazioni emergono giorno dopo giorno dal programma Open Italy 2022 – R&D Open Innovation Based, che ELIS Innovation Hub ha messo in piedi per facilitare la sinergia tra ricerca universitaria e sviluppo industriale in Italia.
L’iniziativa è nata due anni fa con il nome di Joint Research Project e ora è diventata parte del più conosciuto programma Open Italy promosso dalla stessa EIH, cavallo di battaglia dell’Open Innovation che ormai da qualche anno facilita il colloquio win-win tra start-up e corporate lungo tutto lo stivale. R&D Open Innovation Based estende quindi il raggio dell’Open Innovation per creare collaborazioni sostenibili tra i centri di ricerca universitari e le grandi aziende.
Le Zero-Touch Networks e altre tendenze emergenti di AI-based Networking
Nei centri di ricerca universitari e aziendali come EIH, La Sapienza e altri, ci si sta spostando verso la creazione di meccanismi multi-agent per l’ottimizzazione degli indicatori di performance e di costo dei sistemi di rete da multipli punti di vista: oltre che il chaining, esistono già algoritmi di smart-allocation, resource-provision, e altri legati alla gestione dei rischi in ambito security, tutti resi più dinamici, scalabili e adattivi grazie all’utilizzo del deep learning. Questo ecosistema di intelligenze artificiali che gestiscono automaticamente le reti in funzione delle condizioni dell’intorno è chiamato Zero-touch network, dato che ogni volta si rende meno necessario l’intervento dell’essere umano per l’adattamento della rete. D’altronde, questo paradigma di adattamento AI-based si rende man mano più necessario con l’avvento del 6G e la diffusione sempre crescente dell’IoT, del mobile Edge computing, e di altre innovazioni che portano con sé le proprie sfide/opportunità.
Jesús F. Cevallos Consultant at ELIS Innovation Hub
Note
- Grand View Research, Video Streaming Market Size, Share & Trends Analysis Report By Streaming Type, By Solution, By Platform, By Service, By Revenue Model, By Deployment Type, By User, By Region, And Segment Forecasts, 2022 – 2030, disponible su https://www.grandviewresearch.com/industry-analysis/video-streaming-market, il 30/07/2022. ↑