[Ninux-Wireless] [ninux-dev] Pop Routing GSoC
Gabriel
gabriel a autistici.org
Mer 7 Set 2016 15:12:21 CEST
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-dev a ml.ninux.org
> http://ml.ninux.org/mailman/listinfo/ninux-dev
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome: signature.asc
Tipo: application/pgp-signature
Dimensione: 819 bytes
Descrizione: OpenPGP digital signature
URL: <http://ml.ninux.org/pipermail/wireless/attachments/20160907/c9091eb7/attachment-0001.sig>
Maggiori informazioni sulla lista
Wireless