OLSR-NG: Unterschied zwischen den Versionen
Aaron (Diskussion | Beiträge) K (→UML test server) |
Aaron (Diskussion | Beiträge) (→UML test server) |
||
Zeile 43: | Zeile 43: | ||
(check out the [[TopologyPics archive]] also) | (check out the [[TopologyPics archive]] also) | ||
− | topo map 1500 UML instances running in parallel. Note the packetloss! | + | topo map 1500 UML instances running in parallel. Note the packetloss! |
We have already been running 2000 instances and there was still plenty of RAM left. So 1000 is a very safe bet. However according to the UML docu we can probably safely assume that we can scale up miuch higher because UML will only take the RAM that each instance actually needs. | We have already been running 2000 instances and there was still plenty of RAM left. So 1000 is a very safe bet. However according to the UML docu we can probably safely assume that we can scale up miuch higher because UML will only take the RAM that each instance actually needs. | ||
Zeile 56: | Zeile 56: | ||
* create random netowkrs (easy) | * create random netowkrs (easy) | ||
* create network topologies based on a power law distribution ( a bit harder, but realistic for the internet) | * create network topologies based on a power law distribution ( a bit harder, but realistic for the internet) | ||
− | * create scripts to find out which olsrd instances crashed | + | * DONE create scripts to find out which olsrd instances crashed |
* create scripts to find out if a UML instance is not responsive anymore | * create scripts to find out if a UML instance is not responsive anymore | ||
* find better measurement tools . Look into sar | * find better measurement tools . Look into sar | ||
− | * recompile host kernel and get rid of the "BUG: soft lockup detected on CPU#0!" messages | + | * DONE recompile host kernel and get rid of the "BUG: soft lockup detected on CPU#0!" messages |
− | * recompile host kernel and enable the preemtion patch | + | * DONE recompile host kernel and enable the preemtion patch |
− | * make hostfs so that developers can easily upload a new olsrd version to all uml instances. They should see the difference easily. Look into hostfs | + | * DONE make hostfs so that developers can easily upload a new olsrd version to all uml instances. They should see the difference easily. Look into hostfs |
* increase performance of the UML simulator itself (look into SKAS3 patch again, 32 bit recompile, talk with jeff etc) | * increase performance of the UML simulator itself (look into SKAS3 patch again, 32 bit recompile, talk with jeff etc) | ||
* find more meaningful topology visualization tools | * find more meaningful topology visualization tools |
Version vom 25. April 2007, 01:36 Uhr
Inhaltsverzeichnis
sponsor
800px|supported by IPA made possible by a grant from IPA. Thanks we really appreciate your help and your courage to support us!
main links
Main OLSR-NG project blog: http://olsr.funkfeuer.at
Slides from the OLSR-NG kickoff presentation: http://outpost.funkfeuer.at/~aaron/olsr-ng.pdf
We communicate on the olsr-dev mailinglist: https://www.olsr.org/mailman/listinfo/olsr-dev
Goals
- Clean up the code of OLSR (http://www.olsr.org),
- improve the algorithms of OLSR and make it more scalable.
- Furthermore, produce a new RFC for a (potential) new mesh routing protocol which is based on the experiences of OLSR coding (at the moment the most promising candidate for this RFC is B.A.T.M.A.N)
OLSR-NG is a open source project. Meaning everybody is invited to join in and help.
We do have some bounties for the best solutions. If you want to participate, drop us an email: mailto:aaron@lo-res.org and mailto:bernd@firmix.at
One of the main goals is to make OLSR more scalable in practice.
350px|right|Complexity for n=1000 nodes of different data structures in the Dijkstra shortest path (SPF) algorithm.
In the this picture you can see the different complexity graphs for the SPF under the assumption that every node has 10 edges . As you can see, the red line has O(n^2) complexity. This conforms to the current implementation of OLSR from www.olsr.org. OLSR-NG plans to reduce the complexity to the green or even the yellow level. This will allow the mesh network clouds to become larger by a factor ~ 1000 (on the routing layer / layer 3).
Current Status
- olsrd 0.5 was released! Thx everybody a lot!
- UML test server is being worked on. This will allow the B.A.T.M.A.N team to test their protocol and us to test our scalability ideas with 1000nd of olsr instances.
- Ongoing code cleanups
- AVL tree optimizations
UML test server
current load and statistics: http://texas.funkfeuer.at
center|600px|topo map 1500 UML instances running in parallel. Note the packetloss! (check out the TopologyPics archive also)
topo map 1500 UML instances running in parallel. Note the packetloss!
We have already been running 2000 instances and there was still plenty of RAM left. So 1000 is a very safe bet. However according to the UML docu we can probably safely assume that we can scale up miuch higher because UML will only take the RAM that each instance actually needs. UML actually has other shortcomings: high CPU overhead, lots of context swiches. Trying to increase the performance at the moment...
More info on the UML server coming soon...
current open todos UML server
Next important (*) things to do:
- add the packet loss tc rules (zethix already prepared it)
- create random netowkrs (easy)
- create network topologies based on a power law distribution ( a bit harder, but realistic for the internet)
- DONE create scripts to find out which olsrd instances crashed
- create scripts to find out if a UML instance is not responsive anymore
- find better measurement tools . Look into sar
- DONE recompile host kernel and get rid of the "BUG: soft lockup detected on CPU#0!" messages
- DONE recompile host kernel and enable the preemtion patch
- DONE make hostfs so that developers can easily upload a new olsrd version to all uml instances. They should see the difference easily. Look into hostfs
- increase performance of the UML simulator itself (look into SKAS3 patch again, 32 bit recompile, talk with jeff etc)
- find more meaningful topology visualization tools
- add b.a.t.m.a.n to the root filesystem.
Who wants to contribute?
Who is willing to work on something | Contact info |
---|---|
Aaron Kaplan | mailto:aaron@lo-res.org |
Roman Steiner | mailto:roman.steiner@gmx.at |
Bernd Petrovich | mailto:bernd@firmix.at |
Andrej Rursev (zethix) | mailto:zethix@gmail.com |
Hannes Gredler | mailto:hannes@juniper.com |
Who is working on what?
Who | What | Status |
---|---|---|
Bernd Petrovitsch, Thomas Lopatic, Hannes Gredler | release 0.5 | DONE |
??? | release 0.5 make packages for freifunk FW, DD-WRT, etc, windows (XP, Vista), ... and test them | OPEN |
??? | analyze IP autoconfig mechanisms and find the best one | OPEN |
Hannes Gredler | tcpdump parses olsr packets, | DONE |
Hannes Gredler | SPF improvments | WIP |
Hannes Gredler | reduce malloc thrashing during SPF computation | WIP |
Hannes Gredler | improve post-SPF handling (route table conciliation) | not yet started |
Aaron Kaplan,Bernd Petrovitsch | olsr-ng test server | WIP |
Aaron Kaplan | theory, complexity analysis. Goal: find the best complexity on the algorithmic side. | The basic ideas seem like 90% finished. Will be presented at the TU lecture "Verteilte Systeme" ("Distributed Systems"), 20.4.2007 |
Zethix, Aaron Kaplan | UML cluster setup | WIP, currently we can start around 2000 UML instances. But the uml_switch software still drops packets between virtual interfaces. http://www.openvz.org seems also like a promising solution |
mind map for all the TODO/work items
contact mailto:aaron@lo-res.org or Bernd if you are interested in participating!
Next Steps
- TU Wien lecture "Verteilte systeme", 20.4.2007 will present our ideas about optimizing complexity. Aaron also wants to adress more students from the TU to participate. DONE. Let's see if new participants want to join.
- finalize the UML test server
- try out the optimization ideas and document the speedup
Bounties
please take a look at the slides and get in contact with us directly at the moment!
Source code
- CVS repos:
(as user "ipo23" ) export CVS_RSH=ssh cvs -z3 -d:ext:ipo23@olsrd.cvs.sourceforge.net:/cvsroot/olsrd co -P olsrd-current as anonymous user) cvs -d:pserver:anonymous@olsrd.cvs.sourceforge.net:/cvsroot/olsrd login cvs -z3 -d:pserver:anonymous@olsrd.cvs.sourceforge.net:/cvsroot/olsrd co -P olsrd-current
Links
Papers, Theory
- RFC-3626: the "OLSR RFC"
- Workshop at Hipercom Oct 2006
- OLSR-v2 Draft 01 at hipercom
- http://www.adhocsys.org/
AdHocSys is a two-year European project to provide reliable broadband services in rural and mountain regions. This objective will be achieved by means of the creation of a wireless ad hoc broadband network, with special enhancements to reliability and availability. The network consists of one or several gateways connecting to the global Internet and several intermediate nodes which provide multihop connections between the gateways and end users.
misc
- Homepage: http://www.olsr.org/
- NATO C3 Agency (NC3A) Radio Protocols Lab https://elayne.nc3a.nato.int/
- commercial INRIA HIPERCOM spin-off http://www.luceor.com/
- commercial MIT Roofnet spin-off http://www.meraki.net/