Geld sammeln - Belohnung für das Lösen der Auslastungsproblematik im Gluon (Issue #1243)

Der Grund für die hohe Load ist ja bekannt. Wenn der Router so wenig Speicher hat, dass er die Dateien nicht mehr im Cache halten kann, lädt er sie kontinuierlich vom Flash bzw. von SquashFS. Da das ganze in blöcken komprimiert ist, muss er selbst für kleine Dateien einen großen Block lesen und den auch noch dekomprimieren. Dieses Fehlerbild nennt man Thrashing und kennt man auch vom Heim-PC, wenn der nicht genug Speicher hat. Das Problem ist auch den SquashFS-Entwicklern bekannt, dass das Thrashing nicht erkannt wird. Ich hatte mal die Android-Patches von SquashFS ausprobiert, die die neue BIO-API benutzen. Da wurde der Thrashing-State anscheinend erkannt, aber das führt nur dazu, dass der OOM-Killer angeworfen wird. Da es anscheinend nicht wirklich etwas an Speicher gab, den man freimachen konnte, hat das nach ein paar Minuten zum reboot durch eine OOM-kernel panic geführt. Ob es besser ist, wenn der Router statt eine hohe Load zu haben, kontinuierlich rebootet ist fragwürdig.

Wieso manche Router betroffen sind und andere, obwohl sie viele Clients haben, Mesh-on-LAN und wer weiß was machen, fehlerfrei laufen, ist mir auch noch ein Rätsel. Bisher konnte ich nicht nachvollziehen, wieso manche Router auch ohne Last so viel Speicher benötigen.
Mit dem Wechsel von LEDE auf OpenWrt sieht die Speicherauslastung wesentlich besser aus. Ich habe hier noch ein paar unfertige Patches rumliegen, um die sie noch weiter zu verringern, aber dafür muss ich bei OpenWrt ein paar Dinge einreichen, auf die die Entwickler dort wahrscheinlich gerade nicht so viel Lust haben. Die haben genug mit dem Wechsel auf den kernel device tree zu tun.

Aktuell kommen bei mir auch jeden Tag mehr Baustellen dazu, als ich beseitigen kann. Deshalb habt bitte Geduld. Ich setze mich bald wieder an das Problem und ich bin zuversichtlich, dass die 4MB/32MB-Geräte noch ein paar Gluon-Releases ihren Dienst tun werden, auch wenn ich dringend davon abrate, noch mehr von den Dingern ins Netz zu bringen. Auch das Splitten der Netze in Domains ist etwas, um das langfristig keine Community herumkommen wird, auch nicht mit Babel, egal wie viel Speicher die Router haben. Deshalb empfehle ich die Load-Problematik als Anlass zu nehmen, das jetzt in die Hand zu nehmen.

Die Kernelentwickler grübeln aktuell übrigens, wie sie Thrashing, den Dateisystemcache und Memory handling allgemein verbessern können. Ich bin zuversichtlich, dass sich die Situation mit neueren Kernelversionen eher verbessern wird. Die Komplexizität hat sich nicht erhöht, was der Router macht. Wenn aber nicht auf Geräte mit mehr Leistung gesetzt wird, setzen wir Gluon künstliche Grenzen.

Und im schlimmsten Fall (bevor einem die Freifunknetze wegsterben, weil zu viele 841er verbaut sind) kann man immer noch viel Arbeit darein investieren, bei SquashFS die Unterstützung von unkomprimierten Blöcken zu verbessern und dafür kein Caching zu machen. Denn die 4MB-NOR-Flash-Speicherbausteine sind schneller beim Lesen als z.B. NAND und sollten eigentlich sogar fast schnell genug sein, um Programmcode direkt davon auszuführen.

Um zum Punkt Hardware für die Zukunkft zu kommen, auch wenn ich hier etwas ausschweife. Ich kenne das Problem selbst, dass man Leute schlecht überzeugen kann, teurere Geräte zu kaufen, aber unser Netz ist auch nur so gut wie die verbaute Hardware. Das muss man im Einzelfall abwägen. Ich bin z.B. kein Freund von den Mediatek-Chipsätzen. Für mich sind das Billig-Chips für die Dritte Welt. Eine FritzBox 4040 mit IPQ-WLAN Quad-Core ARM-Prozessor ist eine ganz andere Hausnummer und wird auch noch in 10 Jahren genug Durchsatz machen, denn aktuell konzentriert sich die Routerbranche eher auf die 3. Welt. Die drastische Entwicklung, die wir in den letzten Jahren beobachtet haben, stagniert. Die nächsten Schritte für die WLAN-Chiphersteller sind 160 MHz Kanalbreite auf 5 GHz, was an den Frequenzfreigaben scheitert, das zusammenschalten von 2.4 und 5 GHz, was wir für Mesh nicht unbedingt wollen und an den höheren Produktionskosten für Chips, die soetwas ohne Störungen beherrschen, scheitert und Phased-Array-Antennen, die die Produktionskosten aufgrund der vielen Signalpfade in die Höhe treiben und dafür sorgen, dass die Router aussehen wie Thermoskannen. Deshalb geht es jetzt bei den Routerherstellern gerade darum, erst einmal der 3. Welt Router zu verkaufen und die Kosten noch weiter zu senken. Bis dahin ist eine FritzBox 4040 high-tech… Seid mir aber bitte nicht böse, wenn in 10 Jahren dann doch auf einmal überall WLAN mit Masern und fraktaler Kodierung läuft, weil die chinesische KI neue Fertigungstechniken entwickelt hat und wir pro Person mindestens 20 GBit/s brauchen, um mittels unserer Neuroimplantate vernünftig League of LegendsVR spielen zu können. Erinnert euch dann bitte an Bill Gates Ausspruch „ 640 kB sollten eigentlich genug für jeden sein“. Als Hobby-KI-Forscher halte ich das Szenario aber für unwahrscheinlich, da selbst eine starke KI auch nur ein updatefähiger Mensch mit mehr Rechenleistung und einem weniger fehleranfälligem Nervensystem ist. Die Frage ist natürlich, ob man in einem solchen Szenario Freifunk überhaupt noch braucht.

13 „Gefällt mir“