QAGESA
QoS Aware Grid Enabled Streaming Architecture
Cos’è QAGESA?
QAGESA (QoS Aware Grid Enabled Streaming Architecture) è un’architettura software per la distribuzione di contenuti multimediali in ambienti Grid Computing, con garanzie di Quality of Service (QoS). Rappresenta il contributo centrale della tesi di dottorato di Giovanni Novelli (Università di Catania, 2008).
Il sistema affronta il problema della distribuzione video verso dispositivi eterogenei (PC, smartphone, terminali embedded) su una rete dove larghezza di banda e potenza di calcolo variano dinamicamente. QAGESA utilizza un Sistema Multi-Agente (MAS) per orchestrare risorse distribuite e adattare i contenuti in tempo reale.
Problematiche Affrontate
- EterogeneitĂ dei dispositivi: I client hanno capacitĂ diverse (risoluzione, codec supportati, banda disponibile)
- DinamicitĂ delle risorse: Le risorse Grid cambiano nel tempo (carico CPU, congestione di rete, disponibilitĂ )
- Garanzie QoS: NecessitĂ di rispettare vincoli di qualitĂ (latenza, jitter, throughput) durante lo streaming
- ScalabilitĂ : Gestire grandi volumi di richieste concorrenti senza degrado delle prestazioni
Architettura
QAGESA si basa su GAP (Grid Agents Platform) come middleware per la gestione degli agenti e utilizza GridSim per la simulazione. L’architettura è composta da servizi cooperanti che operano su tre livelli:
Livello di Coordinazione (TraS)
Il Transcoder Selector (TraS) è il punto di ingresso per le richieste utente. Orchestra la selezione delle risorse interrogando tutti i servizi di monitoraggio e applicando un’euristica di prossimità per trovare la coppia ottimale (Computing Element, Storage Element).
Livello di Monitoraggio
- CoT (Content Tracer): Traccia le repliche dei contenuti sugli Storage Element
- CET (Computing Element Tracer): Monitora carico CPU e stato dei nodi di calcolo
- SET (Storage Element Tracer): Monitora I/O e disponibilitĂ degli Storage Element
- THub (Transcoder Hub): Mantiene la matrice delle latenze di rete tra tutti i nodi
- TraM (Transcoder Monitor): Traccia gli agenti di transcodifica attivi e i loro algoritmi
Livello di Esecuzione
- Transcoding Agent: Agente mobile JADE-like che esegue la pipeline di transcodifica
- CEM (CE Monitor), NM (Network Monitor), GM (Grid Mediator): Servizi sui nodi Grid
Architettura a Servizi
Vista d'insieme dell'architettura QAGESA: il Transcoder Selector (TraS) orchestra la selezione risorse consultando i servizi di monitoraggio (CoT, CET, SET, THub, TraM). I nodi Grid espongono servizi locali (CEM, NM, GM). L'agente di transcodifica implementa behaviour JADE per fetching, transcoding, streaming e QoS.
Processo di Selezione delle Risorse
Quando un utente richiede un contenuto multimediale, TraS avvia una fase di raccolta informazioni parallela, interrogando simultaneamente tutti i servizi di monitoraggio. I dati raccolti alimentano un’euristica che minimizza la funzione:
min[ Lat(SE, CE) + Lat(CE, Utente) + Carico(CE) ]
dove Lat rappresenta la latenza di rete e Carico il carico computazionale del nodo.
Selezione delle Risorse (Sequence Diagram)
TraS orchestra interrogazioni parallele ai servizi di monitoraggio per raccogliere informazioni su repliche, carico CE/SE, latenze rete e agenti disponibili. Applica euristica di prossimitĂ per selezionare la coppia ottimale (CE, SE). In caso di risorse insufficienti, applica rilassamento QoS.
Pipeline di Transcodifica e Streaming
Una volta selezionate le risorse, il Transcoding Agent viene avviato sul Computing Element scelto ed esegue una pipeline asincrona: il fetching del chunk successivo avviene in parallelo con la transcodifica del chunk corrente, massimizzando il throughput. Un controllore fuzzy adatta dinamicamente i parametri QoS in base al feedback dell’utente.
Transcoding e Streaming (Sequence Diagram)
Ciclo di vita dell'agente di transcodifica: pipeline asincrona per ogni chunk (fetching parallelo al transcoding), streaming RTP verso utente, caching opzionale su SE vicino. Controllore fuzzy adatta parametri QoS in base a feedback ritardo/jitter.
Simulazione
Il progetto include un simulatore basato su GridSim che permette di valutare diversi scenari:
- Topologie di rete: Configurazione variabile di nodi, latenze e banda
- Carichi di lavoro: Profili di richiesta diversi (bursty, uniforme, crescente)
- Strategie di scheduling: Confronto tra euristiche di allocazione
- Metriche QoS: Latenza end-to-end, jitter, throughput effettivo, percentuale di deadline rispettate
Il simulatore è parte del repository GAP su GitHub.
Relazione con i Paper
QAGESA è il filo conduttore di diverse pubblicazioni scientifiche, ciascuna focalizzata su un aspetto specifico dell’architettura:
-
A Grid-Based Infrastructure to Support Multimedia Content Distribution (HPDC-16, 2007) Il paper principale che descrive l’infrastruttura Grid sottostante, la replicazione dei contenuti e la selezione ottimale dei nodi.
-
A QoS-Aware Architecture for Multimedia Content Provisioning in a GRID Environment (WOA 2006) Focalizzato sull’architettura QoS-aware con i ruoli di ClientProxy e ServerProxy.
-
Transcoding Agents for Multimedia Content Delivery in a Grid (ITSSA, 2006) Approfondimento sugli agenti mobili di transcodifica e la loro migrazione nella Grid.
Progetti Correlati
GAP - Grid Agents Platform
Piattaforma di simulazione Java che implementa QAGESA. Estende GridSim con agenti mobili FIPA-like, risorse distribuite e meccanismi QoS-aware.
GitHub Repository Documentazione- p2ptao: Protocollo P2P per comunicazione efficiente Grid/P2P
- Tesi di Dottorato: Documento completo con validazione sperimentale
Rilevanza Attuale
Sebbene sviluppata nel contesto del Grid Computing (2005-2008), l’architettura QAGESA ha anticipato concetti oggi fondamentali:
- Adaptive Bitrate Streaming: Standard come MPEG-DASH e HLS implementano adattamento QoS simile a quello proposto da QAGESA
- Edge Computing: L’idea di eseguire la transcodifica vicino all’utente precorre le architetture edge odierne
- CDN intelligenti: La selezione dinamica dei nodi basata su metriche real-time è alla base dei moderni CDN
- Microservizi: L’architettura a servizi cooperanti (TraS, CoT, CET, …) anticipa pattern microservice