[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