-
Notifications
You must be signed in to change notification settings - Fork 30
Add project "Mesh channel coordination" #56
base: main
Are you sure you want to change the base?
Conversation
Really? Signed-off needed?! We use Github... I'll change that later. |
the sign-off-thing must have been enabled by someone for the whole organization... |
Please review. |
8e0b9d8
to
78ec83b
Compare
@lemoer Can you please have a look at it? |
6381a8f
to
fa4cb22
Compare
Signed-off-by: Vincent Wiemann <[email protected]>
Hi @CodeFetch, this sounds like a very ambitious project. Please remember that the audience are students and they have about 175 hours time. As such it might be a good idea to give a few short term goals and to be very specific (along with the offer to adapt goals). Also, research projects are not a good fit for the GSoC. Otherwise this sounds like a very interesting problem. :-) |
difficulty: "high" | ||
|
||
mentors: | ||
- "Vincent Wiemann (CodeFetch)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please use your github user name here, so you can be linked on the projects page
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and if you have someone else who could mentor this, you can add them, too
Thank you for your contribution, @CodeFetch Your idea is really interesting, but as @mwarning said it seems that it could be very challenging to find students that can write a good proposal for this idea. So please keep in mind that a student project is meant to be about 175 work hours in a period of about 10 weeks. As students may not be so much experienced in estimating possible work loads, we should define some realistic goals to support them. What you could do:
|
@andibraeu I did have the same concerns. That's why I didn't take the milestones serious at the beginning. Until someone told me that its required to define hard milestones, because otherwise the students might just take the cash and leave me behind frustrated. Actually I didn't know the students get money for it. Now I think there will either be a capable student who can achieve this or it doesn't make sense to start this project at all as a GSoC project. Is this a problem? |
@mwarning What I hope for is a student with mathematical background who I can help with the implementation. I'm no mathematician. I know some points where we can definitely improve the current situation without a big hassle. So there will be a result in the end. Still I hope for something that will really be usable and might exceed my expectations... My expectations are not so high as it sounds from the text. We are talking about a NP hard problem accompanied by the mysterious Braess paradox here... I don't expect an ultimate solution - only an improvement. |
@CodeFetch I hope you succeed in finding a student. For a mathematical student, it would be a good idea to have some code template where he/she/it can put in formulas. People with good knowledge in multiple fields at once (mathematics, c programming, WiFi) are very hard to find. |
@mwarning Thank you! It would be nice if the student can at least read the formulas and understand what they do. Maybe she will even find out that the Braess paradox as a special case of the prisoner's dilemma is the solution to the Riemann hypothesis and the proof that super-intelligence can't exist in a physical form due to continuous fragmentation in its neural networks. https://link.springer.com/chapter/10.1007/978-3-319-03871-1_14 Edit: It so incredible how rationality and efficiency is not the same and when we mix it together we get quasicrystals, fractals, primes, network issues and quantum mechanics. So weird... Edit2: Sad, but true: https://xkcd.com/710/ |
that could also be frustrating for the students, they don't just get the cash. As a mentor you have to evaluate their work before.
No, it's not a problem, we'll never know who applies for a a projects, and sometime we were really surprised about the students we found. I just wanted to create awareness that we maybe don't find a student for that. If you need more information on mentoring GSoC projects, you can find a lot here or let's have a chat. |
As there is no optimal solution for this, yet, it is very hard to define clear milestones. From a mathematical perspective a mesh network even when one just models the connections without looking at throughput etc. is quite complex as it is a graph. And choosing diverse channels with the least overlapping is the graph coloring problem. It is even more complex in mesh networks as mesh-networks can be n-dimensional... For example a reflection at a wall/mountain can cause a connection to happen which can only be modeled by either introducing walls and stuff and doing some raytrace-like computations or by "simply" adding an additional dimension. But this easily shows that we can have non-planar meshes which people can see as clumsy clouds in the meshviewer https://hannover.freifunk.net/karte/#/en/graph/802aa86ceb28. So my naive idea is to find out which parts of the mesh are planar and split the network if possible so that she does not need to fiddle with high dimensions and can then apply the proposed algorithm. In the worst case the effort of the computation is related to the travelling salesman problem. The idea behind Batman is that each nodes does an individual choice like ants do when they build their streets. What I if every sophisticated approach fails, try to do different here is to assume some streets are highways, but that there also exist inter-dimensional portals and then prefer inter-dimensional portals over highways over streets. Another specialty about our "wireless " streets is that they don't have lanes and can only be used in one direction (not transmit/receive at the same time). If everyone does this, a traffic jam happens. If the inter-dimensional portal was the only means to reach a specific destination, some drivers will be extremely late, even though they could have chosen a different road right in the beginning. In the Batman packet-loss metric case this is mitigated a bit, because a saturated link has high packet loss and its metric gets worse which gets propagated to the node the client is attached at quickly. So the driver takes another route right from the beginning similar to someone listening to traffic reports. I think the same thing is happening in Batman packet-loss based mesh networks when the flows are static. But the problem is that we do not want the same nodes to be "frozen" all the time as this makes it a very erratic thing to use. One could argue that the flows in our networks are so dynamic that this system should behave chaotic, but I don't think that this reflects reality. In reality chaos always ends up in some fractal. My approach is like first trying to make use of our inter-dimensional portals and moving our streets to other dimensions and then see how we can increase the Gini coefficient by teaching our ants democratic socialism, which will likely fail as the people/nodes/clients are inequal in their capabilities similar to what gave rise to Hitler (yes, it always comes down to Hitler - that's the prisoner's dilemma). Edit: Chaos ends in fractals because of symmetry breaks. @andrenarchy You are a mathematician. Can you tell us whether this is too hard for a student? Is my approach too optimistic? I think if it doesn't work out well we will at least e.g. have a daemon that sets the channel to auto if it can reach ever neighbor via cable or something simple like that. Would you be interested in joining as a mentor? Edit4: Fun fact: Someone made a presentation about Hitler and Game theory: https://wjspaniel.files.wordpress.com/2014/12/1-ir-basics1.pdf Edit5: Also very interesting approach: "Collaborative Spectrum Sensing in the Presence of Byzantine Attacks" Edit6: More math magic: "Cross-layer optimization for multihop cognitive radio networks" |
The whole projects would be also a good topic for a bachelor or master thesis. Maybe a GSoC project could be a good start or preparation. But there'a a condition, it can't be a pure research project, there needs to be open source code developed. |
Someone made a video on YouTube which is very helpful for understanding what I'm proposing. Especially the spring network part for enhancing the meshviewer and creating planar subpartitions. Edit: Do you have an idea for a better name for than meshrealmd? I think mrsad would be funny (Mesh Reconstruction, Simulation and Analysis) in reference to ORSA of NASA's DAWN mission. |
then maybe add that to the idea itself |
and please take a look on the requested changes |
I've converted it to a draft as I've noticed it is too hard for a student in that timeframe. I'll think about how to split it into components, but the problem is one needs to understand the whole idea... Not an easy task. |
To add this as a reference here: I drafted an algorithm, which should solve (at least) "Auto-Channel Selection" in gluon here: lemoer/freifunk-ideas#2 It's a more simple approach, which could be a good start into this. It could solve some of the problems, which we would want to tackle with "Mesh channel coordination". I guess "Auto-Channel Selection" could be a good first step towards "Mesh channel coordination". We could make some first steps there and learn from it. |
There is a simple approach for this, but maybe the students will find even more sophisticated solutions...
So difficulty depends on motivation and the focus is learning to contribute in a creative solution-focused way.