Alla ricerca del modo migliore per implementare il modulo BFD

1

Implementerò un modulo BFD (per MPLS LSPs ) in VxWorks e si chiedeva quanto segue :

È meglio creare e utilizzare un'istanza del timer separata (< 2048) per sessione BFD al Tx specificato intervallo

o

è meglio usare un timer globale che funziona a 100us e controlla ogni sessione è il tempo che è scaduto dall'ultimo BFD è stato inviato, il che si tradurrà in un utilizzo più elevato (potenzialmente inutile) della CPU, ma a sua volta consentirà l'utilizzo di diversi Tx e amp; Intervalli Rx (che è un requisito come per RFC5884 ).

Qualche idea alternativa su come risolvere al meglio questo problema in tempo reale?

    
posta cerr 14.04.2017 - 21:52
fonte

1 risposta

2

Volevo commentare ma sono nuovo sul sito. Sembra che la tua domanda sia se impostare un singolo timer watchdog per BFD sessione rispetto a un singolo timer globale.

Il singolo timer globale è solo il polling automatico, il carico della CPU sarebbe il tempo di esecuzione dell'attività diviso per il periodo di esecuzione.

Un timer per BFD dipende da quanti BFD le sessioni possono essere eseguite simultaneamente. Maggiore è il numero di timer, maggiore è il carico della CPU.

La chiave qui è stimare una periodicità dell'esecuzione dell'attività anche se è aperiodica. Il prossimo passo sarebbe fare una rapida analisi monotona della frequenza per tutte le attività in esecuzione sulla CPU senza timer. Questa tecnica ti darà un'idea di quanta capacità di riserva relativa hai nel sistema in base alla priorità del compito avviato dal timer.

Ricorda che, a seconda del modello di tasking complessivo del sistema, la fase di esecuzione delle attività è importante. Le attività con priorità più alta e più veloce corrono, più quelle attività consumano la relativa capacità di riserva delle attività a priorità più bassa.

    
risposta data 15.04.2017 - 22:09
fonte

Leggi altre domande sui tag