Valutare gli approcci di programmazione nelle reti di comunicazione
Uno sguardo ai metodi di pianificazione per una gestione efficace della comunicazione in rete.
― 6 leggere min
In questo articolo, parliamo della valutazione di diversi approcci di programmazione usati per gestire la comunicazione in vari network. Ci concentriamo sul confronto di questi metodi in base a quanto bene funzionano in scenari diversi, comprese le applicazioni delle smart grid.
Panoramica del Setup di Valutazione
Abbiamo creato un setup per simulare i nostri metodi di programmazione e li abbiamo confrontati con altre strategie in ambienti diversi. Abbiamo specificamente osservato le prestazioni di queste strategie su reti di varie dimensioni e tipologie. Per i nostri test, abbiamo modellato i ponti di comunicazione con un ritardo di elaborazione di 4 e abbiamo ipotizzato che ogni link nella rete avesse una larghezza di banda di 1 e un ritardo di propagazione di 1.
I messaggi che abbiamo inviato erano limitati a entrare in un singolo frame Ethernet, e abbiamo selezionato casualmente le dimensioni dei frame. Quando venivano usati frame più piccoli, abbiamo notato uno spreco di larghezza di banda, riducendo l'efficienza complessiva della rete. Abbiamo anche esaminato le scadenze per i flussi, che erano basate su periodi selezionati casualmente da specifici intervalli.
Abbiamo condotto i nostri test su diverse strutture di rete che variavano in dimensione, forma e proprietà. Nei casi con strutture irregolari, abbiamo usato più esempi di rete per evitare bias da un'unica istanza.
Algoritmi di Benchmark
Abbiamo testato diversi algoritmi di programmazione:
FirstFit (FF): Questo semplice metodo assegna i flussi ai percorsi disponibili più brevi senza opzioni di ordinamento.
Earliest Deadline First (EDF): Questo metodo pianifica in anticipo testando diverse combinazioni di flussi per trovare una buona corrispondenza per la programmazione.
Greedy Flow Heap Heuristic (GFH): Questa strategia utilizza un grafo di conflitto per sistemare i flussi permettendo alcune regolazioni nella pianificazione.
Hermes: Un algoritmo più recente che si concentra sulla programmazione di tutti i flussi in una volta, ma può avere difficoltà se le condizioni sono troppo complesse.
Constraint Programming (CP): Questo metodo punta a soluzioni esatte, ma richiede un tempo significativo per l'elaborazione.
Tutti i nostri metodi di programmazione sono stati codificati in C++. Inoltre, abbiamo testato gli algoritmi su una macchina dotata di processori potenti e ampio spazio di memoria, garantendo un'esecuzione efficiente.
Programmazione Con Coda vs. Programmazione Senza Attesa
Inizialmente, abbiamo valutato piccoli scenari che coinvolgevano solo sei ponti e 450 flussi. Questo ci ha permesso di vedere quanto bene ciascuna strategia funzionasse. Hermes è stata esclusa poiché tende a programmare tutti i flussi o nessuno, il che non era appropriato data l'alta richiesta.
Dai nostri test, abbiamo scoperto che H2S, CELF e EDF hanno funzionato meglio, producendo il throughput più alto. D'altra parte, FF, CP e GFH non hanno reso altrettanto bene. Anche con vari formati di grafo di conflitto, GFH era ancora significativamente al di sotto di H2S, CELF e EDF in termini di efficienza della rete.
Abbiamo anche confrontato configurazioni con e senza coda. I risultati hanno mostrato che l'uso delle code ha portato a una migliore prestazione complessiva.
Variazione delle Dimensioni dei Batch
Successivamente, abbiamo analizzato come diverse dimensioni dei batch abbiano influenzato le prestazioni. Tutti i metodi di programmazione avevano tempi di risoluzione più rapidi con batch più piccoli, ma aumentavano il tempo complessivo necessario per gestire tutti i batch.
Quando le dimensioni dei batch erano grandi, abbiamo notato un notevole miglioramento del throughput per H2S e CELF. La performance di GFH è rimasta costante ma ha mostrato lievi diminuzioni con batch di dimensioni maggiori.
Nei casi in cui era richiesta una bassa latenza, sia H2S che CELF offrivano le migliori opzioni, fornendo risposte rapide mantenendo livelli di throughput ragionevoli.
Confronto allo Stato dell'Arte
Abbiamo confrontato H2S e CELF contro Hermes in reti ad albero che includevano 15 ponti e dispositivi. Questa configurazione ci ha permesso di assicurarci che Hermes non si bloccasse, il che può accadere in strutture più complesse.
In termini di successo nella programmazione, H2S ha costantemente performato meglio sia di CELF che di Hermes. CELF ha mostrato a volte tassi di successo più elevati rispetto a Hermes, ma non sempre in modo significativo. Le sfide affrontate da Hermes derivavano dal suo metodo di programmazione dei flussi link per link, portando a flussi in ritardo e scadenze mancate.
Valutazione su Diverse Topologie di Rete
Abbiamo ampliato la nostra valutazione per includere reti di 25 ponti organizzati in varie strutture. Il nostro obiettivo era programmare un numero elevato di flussi per osservare come ciascun metodo si comportava in condizioni diverse.
H2S e CELF hanno nuovamente mostrato buone prestazioni con throughput più elevati mantenendo tempi di elaborazione più brevi rispetto ad altri metodi. GFH ha richiesto significativamente più tempo per costruire il suo grafo di conflitto, il che ha influito sulla sua prestazione complessiva.
Quando abbiamo analizzato i risultati di diverse topologie, abbiamo scoperto che H2S e CELF si sono comportati particolarmente bene nelle reti randomiche, beneficiando di percorsi più brevi e opzioni multiple. Tuttavia, nelle topologie ad albero e ad anello, CELF ha superato H2S programmando più flussi in modo efficace.
Valutazione di Rete su Grande Scala
Abbiamo ulteriormente ampliato i nostri test a reti di 1.000 ponti e 48.000 flussi. In questo caso, H2S e CELF hanno di nuovo superato FF, dimostrando la loro capacità di gestire carichi maggiori in modo efficiente.
Abbiamo notato che mentre CELF ha avuto un numero maggiore di flussi ammessi, H2S ha mantenuto un throughput complessivo migliore. Le differenze nelle prestazioni tra diverse reti sono state attribuite alle loro strutture e caratteristiche uniche.
Sistemi Dinamici
In questa sezione, abbiamo considerato un sistema dinamico in cui i flussi cambiavano nel tempo. Siamo partiti con 1.500 flussi e abbiamo monitorato quanto bene il metodo di programmazione gestisse la funzionalità mentre i flussi entravano ed uscivano dal sistema.
Simile ai test precedenti, EDF ha inizialmente fornito risultati migliori nella gestione del throughput per le reti randomiche. H2S e CELF si sono adattati bene alle condizioni in cambiamento e hanno gestito efficacemente la frammentazione.
Studio di Caso: Applicazione Smart Grid
Infine, abbiamo guardato a un modello di smart grid sviluppato per l'uso nel mondo reale. Abbiamo stabilito una rete di comunicazione basata sull'arrangiamento degli elementi della rete elettrica, che coinvolgeva vari dispositivi finali e ponti.
Abbiamo variato il numero di accumulatori e flussi per analizzare quanto bene H2S e CELF si comportassero in un contesto realistico. Complessivamente, entrambi hanno mostrato un alto successo nella programmazione dei flussi mentre gestivano le complessità delle richieste della rete.
Conclusione
In conclusione, le nostre valutazioni hanno dimostrato che H2S e CELF sono strategie di programmazione efficaci che funzionano bene in vari scenari, comprese reti complesse e di grandi dimensioni. Si dimostrano più veloci e più efficienti rispetto ai loro concorrenti, rendendoli adatti per applicazioni nel mondo reale come le smart grid.
Titolo: Just a Second -- Scheduling Thousands of Time-Triggered Streams in Large-Scale Networks
Estratto: Deterministic real-time communication with bounded delay is an essential requirement for many safety-critical cyber-physical systems, and has received much attention from major standardization bodies such as IEEE and IETF. In particular, Ethernet technology has been extended by time-triggered scheduling mechanisms in standards like TTEthernet and Time-Sensitive Networking. Although the scheduling mechanisms have become part of standards, the traffic planning algorithms to create time-triggered schedules are still an open and challenging research question due to the problem's high complexity. In particular, so-called plug-and-produce scenarios require the ability to extend schedules on the fly within seconds. The need for scalable scheduling and routing algorithms is further supported by large-scale distributed real-time systems like smart energy grids with tight communication requirements. In this paper, we tackle this challenge by proposing two novel algorithms called Hierarchical Heuristic Scheduling (H2S) and Cost-Efficient Lazy Forwarding Scheduling (CELF) to calculate time-triggered schedules for TTEthernet. H2S and CELF are highly efficient and scalable, calculating schedules for more than 45,000 streams on random networks with 1,000 bridges as well as a realistic energy grid network within sub-seconds to seconds.
Autori: Heiko Geppert, Frank Dürr, Sukanya Bhowmik, Kurt Rothermel
Ultimo aggiornamento: 2023-06-13 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2306.07710
Fonte PDF: https://arxiv.org/pdf/2306.07710
Licenza: https://creativecommons.org/licenses/by/4.0/
Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.
Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.