Re: [Ninux-Wireless] [ninux-dev] Pop Routing GSoC
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
Re: [Ninux-Wireless] [ninux-dev] Pop Routing GSoC
Puoi pubblicare questa email quasi esattamente cosi com'e' sul blog di Ninux ? Saverio Il 7 settembre 2016 15:12, Gabriel ha scritto: > 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 > > > ___ > ninux-dev mailing list > ninux-...@ml.ninux.org > http://ml.ninux.org/mailman/listinfo/ninux-dev > ___ Wireless mailing list Wireless@ml.ninux.org http://ml.ninux.org/mailman/listinfo/wireless
Re: [Ninux-Wireless] [ninux-dev] Pop Routing GSoC
Non ho un account con privilegi per postare sul blog. Puoi crearmene uno? Gabriel On 07/09/2016 15:15, Saverio Proto wrote: > Puoi pubblicare questa email quasi esattamente cosi com'e' sul blog di Ninux ? > > Saverio > > Il 7 settembre 2016 15:12, Gabriel ha scritto: >> 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 >> >> >> ___ >> ninux-dev mailing list >> ninux-...@ml.ninux.org >> http://ml.ninux.org/mailman/listinfo/ninux-dev >> > ___ > Wireless mailing list > Wireless@ml.ninux.org > http://ml.ninux.org/mailman/listinfo/wireless > ___ Wireless mailing list Wireless@ml.ninux.org http://ml.ninux.org/mailman/listinfo/wireless