Eccomi di nuovo qua, alla fine sono stato selezionato per partecipare a GSoC e ho terminato con successo il lavoro.
Abbiamo deciso di scrivere un demone C (PRINCE) che si occupasse di parsare il NetJSON e calcolare centralità e timer ottimizzati. Per la centralità è stata usata la libreria di cui avevo accennato. E' scritta in C++ (con le Boost), ma l'ho utilizzata in C usando delle bindings. Purtroppo abbiamo accantonato l'idea di far funzionare anche OLSR e ci siamo concentrati solo su OONF. In ogni caso, se qualcuno volesse, manca solo da implementare il plugin per OLSRd che riceva i timer e aggiorni la configurazione. Ho eseguito dei test misurando il tempo di esecuzione su una Picostation M2HP e i risultati non sono affatto male. Per una rete di 100 nodi, impiega circa 8s. Sto continuando a lavorare al progetto e il prossimo passo dovrebbe essere re-implementare la libreria C++ in C e scrivere un plugin per quagga/ospf. Se qualcuno volesse approfondire qua ci sono i 3 articoli scritti inglese per il blog di FreiFunk http://blog.freifunk.net/gabriele-gemmi Gabriel @Nemesis: Se vuoi puoi inserire prince tra le implementazioni di NetJson On 14/03/2016 16:50, Gabriel wrote: > Ciao a tutti, sto preparando l'application per partecipare al GSoC 2016 > con FreiFunk. > Se non aveste visto i progetti [1], è stato proposto un progetto per > sviluppare un plugin di OLSR che implementi il "PopRouting" teorizzato > in questo paper[2]. > > L'idea è modificare i timer per i messaggi di HELLO e TC a seconda della > centralità (Beetweenes Centrality) del nodo. Quindi un nodo molto > centrale emetterà messaggi più velocemente di un nodo foglia o comunque > poco connesso. > > Una tesista di UniTN ha già sviluppato una libreria C/C++ basata sulle > LibBoost che calcoli la centralità a partire da un json del grafo. > > Integrare la libreria direttamente dentro OLSRd non sembra un ottima > idea, dato che il calcolo della centrality è abbastanza oneroso in > termini di CPU. > > Pensavo di creare un demone stand-alone che si scarichi la topologia da > Jsoninfo o direttamente Netjson plugin, calcoli la BC e risputi tutto > su HTTP (magari potremmo inserire la BC in uno dei campi opzionali di > NetJson Graph). > > Il plugin per OONF (OLSR2) dovrebbe solo tirare giù la topologia con BC > dal demone, calcolare il nuovo timer e settarlo nella conf. > Con OONF dovrebbe essere possibile cambiare la configurazione e > refreshare il demone senza doverlo riavviare. > > Sviluppare un plugin anche per OLSRd dovrebbe essere abbastanza > semplice, ma non sono sicuro si possano modificare i valori dei timer > senza riavviare tutto. > > Suggerimenti? Idee? > > Grazie! Gabriel > > [1]: https://wiki.freifunk.net/Ideas#Implementing_Pop-Routing > > [2]: > https://ans.disi.unitn.it/users/maccari/assets/files/publications/INFOCOM2016.pdf > > _______________________________________________ > ninux-dev mailing list > ninux-...@ml.ninux.org > http://ml.ninux.org/mailman/listinfo/ninux-dev
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Wireless mailing list Wireless@ml.ninux.org http://ml.ninux.org/mailman/listinfo/wireless