BOINC nun auch auf OpenWrt
BOINC nun auch auf OpenWrt
BOINC muss ich in diesem Forum nicht erklären, aber OpenWrt vielleicht schon. Das ist ein MIni-Linux optimiert für verschiedenste Internet Router. Die werden selbst zunehmend performant, sind energiesparend, laufen eh 24/7 und mit einem zusätzlichen USB stick ist jedes Gerät mit 256 MB Hauptspeicher bereits nützlich. Darunter wird es knapp, aber vielleicht habt Ihr ja Ideen dazu. Ich selber habe OpenWrt als Grundlage für die Freifunk Community WLAN firmware Gluon kennengelernt.
Meinem Mitstreiter N30dG und mir ist bei der "Planung" der Paketierung von BOINC für OpenWrt seinerzeit TN-GRID aufgefallen als recht bescheiden in Sachen RAM-Bedarf (<65MB). Dessen Projekt-Maintainer hatte ich auf dem 2015er BOINC:FAST Treffen kennengelernt. Er war auch gleich begeistert von der Idee und verteilt auch schon compute jobs an Anfragen von ARM-basierten OpenWrt Geräten. Nun geht es darum, möglichst viele Freiwillige dafür zu begeistern, einen OpenWrt Router um das BOINC Paket zu ergänzen. Noch gibt es dies nur für den Snapshot von OpenWrt, aber mit der nächsten release ist dann für jeden mit "opkg install boinc" zu installieren. Wir haben eine Zusage von BOINCstats, OpenWrt als Betriebsystem separat auszuweisen - bis dahin sind die aktuellen Gigaflots auf der Apps-Seite von TN-GRID einsehbar. Auf dem BOINC Workshop im Herbst hoffen wir die Ergebnisse präsentieren zu dürfen und möchten dies dann auch irgendwo geeignet gemeinsam publizieren.
Wir lernen selber noch stetig dazu, welche Schwierigkeiten in welcher Form auftreten können und wie zu überwinden sind. Zur Erleichterungs des Austausches hierzu haben wir eine Webseite [1] eingerichtet und bitten um Fragen und/oder Kommentare als issue des dazugehörigen github-Projektes. Erfolgsmeldungen sind selbstredend auch herzlich willkommen.
Frohe Ostern!
Steffen
[1] https://volunteercomputinghelp.github.io/
Meinem Mitstreiter N30dG und mir ist bei der "Planung" der Paketierung von BOINC für OpenWrt seinerzeit TN-GRID aufgefallen als recht bescheiden in Sachen RAM-Bedarf (<65MB). Dessen Projekt-Maintainer hatte ich auf dem 2015er BOINC:FAST Treffen kennengelernt. Er war auch gleich begeistert von der Idee und verteilt auch schon compute jobs an Anfragen von ARM-basierten OpenWrt Geräten. Nun geht es darum, möglichst viele Freiwillige dafür zu begeistern, einen OpenWrt Router um das BOINC Paket zu ergänzen. Noch gibt es dies nur für den Snapshot von OpenWrt, aber mit der nächsten release ist dann für jeden mit "opkg install boinc" zu installieren. Wir haben eine Zusage von BOINCstats, OpenWrt als Betriebsystem separat auszuweisen - bis dahin sind die aktuellen Gigaflots auf der Apps-Seite von TN-GRID einsehbar. Auf dem BOINC Workshop im Herbst hoffen wir die Ergebnisse präsentieren zu dürfen und möchten dies dann auch irgendwo geeignet gemeinsam publizieren.
Wir lernen selber noch stetig dazu, welche Schwierigkeiten in welcher Form auftreten können und wie zu überwinden sind. Zur Erleichterungs des Austausches hierzu haben wir eine Webseite [1] eingerichtet und bitten um Fragen und/oder Kommentare als issue des dazugehörigen github-Projektes. Erfolgsmeldungen sind selbstredend auch herzlich willkommen.
Frohe Ostern!
Steffen
[1] https://volunteercomputinghelp.github.io/
Zuletzt geändert von smoe am 12.04.2020 21:06, insgesamt 1-mal geändert.
- Michael H.W. Weber
- Vereinsvorstand
- Beiträge: 22434
- Registriert: 07.01.2002 01:00
- Wohnort: Marpurk
- Kontaktdaten:
Re: BOINC nun auch auf OpenWrt
Ein SEHR löbliches Projekt, das meine vollumfängliche Unterstützung erhält.
Genauer gesagt, eines der besten derzeit.
Kleine Anekdote:
Schon vor vielen Jahren hatten Yoyo und Meinereiner bei unseren Ständen auf diversen Linux-Tagen & Maker Faires über die Möglichkeiten eines Einsatzes von Freifunk-Routern (OpenWRT) für Distributed Computing philosophiert. Auch schon deshalb, da Rechenkraft.net ja das Marburger Freifunkprojekt in vielerlei Hinsicht unterstützt (wir betreiben noch immer >20 Router, es gibt ein städtisches Förderprogramm, usw.). Leider blieb es wie so oft mangels Workpower bei den tollen Ideen.
Umso schöner finde ich, dass Du/ihr vorhabt, das Ganze auf dem kommenden BOINC Workshop vorzustellen.
Wenn ihr für das Projekt irgend etwas braucht (Testhardware, was weiss ich...), lasst es uns/mich bitte wissen.
Michael.
Genauer gesagt, eines der besten derzeit.
Kleine Anekdote:
Schon vor vielen Jahren hatten Yoyo und Meinereiner bei unseren Ständen auf diversen Linux-Tagen & Maker Faires über die Möglichkeiten eines Einsatzes von Freifunk-Routern (OpenWRT) für Distributed Computing philosophiert. Auch schon deshalb, da Rechenkraft.net ja das Marburger Freifunkprojekt in vielerlei Hinsicht unterstützt (wir betreiben noch immer >20 Router, es gibt ein städtisches Förderprogramm, usw.). Leider blieb es wie so oft mangels Workpower bei den tollen Ideen.
Umso schöner finde ich, dass Du/ihr vorhabt, das Ganze auf dem kommenden BOINC Workshop vorzustellen.
Wenn ihr für das Projekt irgend etwas braucht (Testhardware, was weiss ich...), lasst es uns/mich bitte wissen.
Michael.
Fördern, kooperieren und konstruieren statt fordern, konkurrieren und konsumieren.
http://signature.statseb.fr I: Kaputte Seite A
http://signature.statseb.fr II: Kaputte Seite B
http://signature.statseb.fr I: Kaputte Seite A
http://signature.statseb.fr II: Kaputte Seite B
Re: BOINC nun auch auf OpenWrt
Bei PrimeGrid könnten CPU-Sieves Sinn machen.
Evtl. auch die ganz kleinen Subprojekte.
RAM-Bedarf ist jedenfalls auch ziemlich niedrig.
Evtl. auch die ganz kleinen Subprojekte.
RAM-Bedarf ist jedenfalls auch ziemlich niedrig.
Re: BOINC nun auch auf OpenWrt
Mich würde mal interessieren ob yoyo@home auf opebWRT läuft. Zumindest für das OGR Projekt biete ich verschieden ARM Apps an und OGR braucht auch sehr wenig RAM & Disk.
yoyo
yoyo
Re: BOINC nun auch auf OpenWrt
Dank Euch allen für Eure netten und konstruktiven Reaktionen.
@yoyo: Wenn Deine app vollkommmen statisch gelinkt ist (d.h. nicht nur bei ldd keine Libraries als Referenzen angegeben sind sondern mit file klipp und klar ausgesagt wird, dass es ein static binary ist) dann läuft Deine app. Wenn Du eine d.net Anwendung startest, so muss die (logo) auch komplett statisch sein. Das Problem ist die Nutzung der "musl" C library statt der GNU C library. Auch ein Nachinstallieren der GNU C library beseitig die Probleme nicht. Jedenfalls habe ich es nicht hingekriegt und somit werden es genügend andere auch nicht hinkriegen. Und irgendwie möchte man bei seinem Router auch keine C library austauschen. Wir haben uns deswegen für einen OpenWrt-spezifischen Platform-Namen entschiedenen, die Du deinem Projekt bekanntgeben müsstest:
@gemini8: Vor primegrid hatte ich irgendwie Angst wegen deren langen Laufzeiten, die dann auf den Routern gern 6mal so lang sein können. Uneigentlich kann dies selbstredend nun auch gerade besonders gut sein. Sehr gern. Hast Du einen Kontakt dorthin?
@Michael: Vermutlich sind es nun Erfahrungsberichte, die wir brauchen, damit unsere Anleitung (als auch die bei OpenWrt) umfassender und verständlicher wird. Sodann brauchen wir Begeisterung - bei den Crunchern und wegen der vielen Cruncher dann auch bei den Projekt-Administratoren. Mit zunehmender Betriebsblindheit auf meiner Seite nehme ich da eine Kommunikationshilfe von Dir und Rechenkraft.net als Ganzes sehr, sehr gern in Anspruch. Der Ursprung des Projektes war tatsächlich die Frage, was wir denn als Community auf dem BOINC Workshop vielleicht vorführen können. Da ich das Debian Paket von BOINC bereits co-betreue und als Freifunker aktiv bin, lag diese Fusion dieser beiden Interessen irgendwie im Raum. Debian hatte nun gerade diese Covid-19 Biohackathon und TN-GRID announcete deren SARS-CoV-2 Erweiterung - passte alles. Sowas halte ich aber nicht wirklich für planbar. Aber just deswegen ist Rechenkraft.net so wichtig als Sammlung von technophilen early adoptern und Kommunikatoren rund um volunteer computing. Und als solches möchte ich iiebend gern den Verein auf dem Workshop präsentieren - wegen Covid-19 müssen wir uns da vielleicht eh nochmal ein paar zusätzliche Gedanke machen.
Dank und Gruß
Steffen
@yoyo: Wenn Deine app vollkommmen statisch gelinkt ist (d.h. nicht nur bei ldd keine Libraries als Referenzen angegeben sind sondern mit file klipp und klar ausgesagt wird, dass es ein static binary ist) dann läuft Deine app. Wenn Du eine d.net Anwendung startest, so muss die (logo) auch komplett statisch sein. Das Problem ist die Nutzung der "musl" C library statt der GNU C library. Auch ein Nachinstallieren der GNU C library beseitig die Probleme nicht. Jedenfalls habe ich es nicht hingekriegt und somit werden es genügend andere auch nicht hinkriegen. Und irgendwie möchte man bei seinem Router auch keine C library austauschen. Wir haben uns deswegen für einen OpenWrt-spezifischen Platform-Namen entschiedenen, die Du deinem Projekt bekanntgeben müsstest:
- 32bit ARM: <platform_name>arm-openwrt-linux-muslgnueabi</platform_name><alt_platform>arm-zynq-router-openwrt-muslgnueabi</alt_platform> - das ist mein Digilent Zybo Z7-20, daraus wird hoffentlich einmal ein separater thread in diesem Forum
- 64bit ARM: <platform_name>aarch64-openwrt-linux-musl</platform_name><alt_platform>aarch64-bcm27xx-router-openwrt-musl</alt_platform> - ein Raspberry Pi 3
@gemini8: Vor primegrid hatte ich irgendwie Angst wegen deren langen Laufzeiten, die dann auf den Routern gern 6mal so lang sein können. Uneigentlich kann dies selbstredend nun auch gerade besonders gut sein. Sehr gern. Hast Du einen Kontakt dorthin?
@Michael: Vermutlich sind es nun Erfahrungsberichte, die wir brauchen, damit unsere Anleitung (als auch die bei OpenWrt) umfassender und verständlicher wird. Sodann brauchen wir Begeisterung - bei den Crunchern und wegen der vielen Cruncher dann auch bei den Projekt-Administratoren. Mit zunehmender Betriebsblindheit auf meiner Seite nehme ich da eine Kommunikationshilfe von Dir und Rechenkraft.net als Ganzes sehr, sehr gern in Anspruch. Der Ursprung des Projektes war tatsächlich die Frage, was wir denn als Community auf dem BOINC Workshop vielleicht vorführen können. Da ich das Debian Paket von BOINC bereits co-betreue und als Freifunker aktiv bin, lag diese Fusion dieser beiden Interessen irgendwie im Raum. Debian hatte nun gerade diese Covid-19 Biohackathon und TN-GRID announcete deren SARS-CoV-2 Erweiterung - passte alles. Sowas halte ich aber nicht wirklich für planbar. Aber just deswegen ist Rechenkraft.net so wichtig als Sammlung von technophilen early adoptern und Kommunikatoren rund um volunteer computing. Und als solches möchte ich iiebend gern den Verein auf dem Workshop präsentieren - wegen Covid-19 müssen wir uns da vielleicht eh nochmal ein paar zusätzliche Gedanke machen.
Dank und Gruß
Steffen
Re: BOINC nun auch auf OpenWrt
@yoyo, bei den OpenWrt Maschinen bekomme ich wegen der anderen Platform-Bezeichnung keine Tasks. Habe gerade bei einer Intel-Maschine mich bei Dir hinzugetragen und nehme einfach einmal an, dass es bei ARM dann analog ist. Deine Apps sind alle dynamisch gelinkt, was ja auch bestens ist, wenn man nicht gerade mit musl auskommen muss:
Im Vergleich dazu mal das World Community Grid:
Du müsstest entweder auf OpenWrt Deine Anwendung nochmal kompilieren oder aber auf einem Regulären Linux beim Linken ein "-static" mit hinzupacken. Würde mich sehr freuen - könntest ja die app für das reguläre Linux so lassen und nur die für OpenWrt statisch gelinkt anbieten.
Die Binaries von WCG sind nicht größer als 3MB, ich mutmaße einfach einmal, dass OGR nicht größer wird. Da dies alles auf den USB Stick geladen wird, nicht in das begrenzte flash, ist dies auch für den Router nicht so schlimm.
Code: Alles auswählen
root@med:/var/lib/boinc-client/projects/www.rechenkraft.net_yoyo# ldd wrapper_519.01_x86_64-pc-linux-gnu
linux-vdso.so.1 (0x00007ffcd4ba1000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc42215a000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc422139000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc421f79000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc4222ad000)
root@med:/var/lib/boinc-client/projects/www.rechenkraft.net_yoyo# file wrapper_519.01_x86_64-pc-linux-gnu
wrapper_519.01_x86_64-pc-linux-gnu: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.0, stripped
root@med:/var/lib/boinc-client/projects/www.rechenkraft.net_yoyo# ldd dnetc519b-linux-amd64-elf
linux-vdso.so.1 (0x00007ffcff961000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f19efb27000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f19ef967000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f19ef946000)
/lib64/ld-linux-x86-64.so.2 (0x00007f19efb40000)
Code: Alles auswählen
root@med:/var/lib/boinc-client/projects/www.worldcommunitygrid.org# ldd wcgrid_scc1_vina_7.08_x86_64-pc-linux-gnu
not a dynamic executable
root@med:/var/lib/boinc-client/projects/www.worldcommunitygrid.org# file wcgrid_scc1_vina_7.08_x86_64-pc-linux-gnu
wcgrid_scc1_vina_7.08_x86_64-pc-linux-gnu: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.18, BuildID[sha1]=6412df8430b85a44d99ba4a8b3219d5104f15224, stripped
root@med:/var/lib/boinc-client/projects/www.worldcommunitygrid.org# ldd wcgrid_mcm1_map_7.43_x86_64-pc-linux-gnu
not a dynamic executable
Die Binaries von WCG sind nicht größer als 3MB, ich mutmaße einfach einmal, dass OGR nicht größer wird. Da dies alles auf den USB Stick geladen wird, nicht in das begrenzte flash, ist dies auch für den Router nicht so schlimm.
Re: BOINC nun auch auf OpenWrt
Moin.
Kein direkter Kontakt zu PrimeGrid.
War nur meine Überlegung, da PrimeGrid mit wenig RAM auskommt.
Kein direkter Kontakt zu PrimeGrid.
War nur meine Überlegung, da PrimeGrid mit wenig RAM auskommt.
Re: BOINC nun auch auf OpenWrt
Ich würde bevorzugen, dass sich BOINC auf openwrt nicht mit einem neuen platform String meldet sondern mit einem der existierenden:
arm-unknown-linux-gnueabihf Linux running on ARM, hardware FP
arm-unknown-linux-gnueabisf Linux running on ARM, software FP
aarch64-unknown-linux-gnu Linux running on 64-bit ARM
Letztlich ist es ja ein Linux@arm.
Für ein Projektbetreiber ist es sonst eine weiter Applikation die verwaltet werden muss und es sind schon ganz schön viele.
arm-unknown-linux-gnueabihf Linux running on ARM, hardware FP
arm-unknown-linux-gnueabisf Linux running on ARM, software FP
aarch64-unknown-linux-gnu Linux running on 64-bit ARM
Letztlich ist es ja ein Linux@arm.
Für ein Projektbetreiber ist es sonst eine weiter Applikation die verwaltet werden muss und es sind schon ganz schön viele.
Re: BOINC nun auch auf OpenWrt
Version 21.02 von OpenWrt hat BOINC nun wohl bald als Paket dabei, jedenfalls wird es inzwischen automatisch gebaut und auf dem opkg repository angeboten als "net/boinc". Aktuell ist noch die 19.07. Wollte für die aktuelle TN-GRID challenge ja meinen hier gerade brach liegenden Router mitrechnen lassen. Aber ich komme diese Woche nun wohl doch nicht mehr dazu.
- Michael H.W. Weber
- Vereinsvorstand
- Beiträge: 22434
- Registriert: 07.01.2002 01:00
- Wohnort: Marpurk
- Kontaktdaten:
Re: BOINC nun auch auf OpenWrt
Finde ich ein Spitzenprojekt! Kannst Du uns bitte nochmal Bescheid geben, wenn das wirklich alles in trockenen Tüchenr ist - dann würde ich es auch auf verschiedenen Kanälen nochmal über Social Media posten.
Michael.
Michael.
Fördern, kooperieren und konstruieren statt fordern, konkurrieren und konsumieren.
http://signature.statseb.fr I: Kaputte Seite A
http://signature.statseb.fr II: Kaputte Seite B
http://signature.statseb.fr I: Kaputte Seite A
http://signature.statseb.fr II: Kaputte Seite B
Re: BOINC nun auch auf OpenWrt
Klasse - danke. Gedacht war es seinerzeit ja als Aktion, um Rechenkraft als Ausrichter des BOINC Workshops auch inhaltlich noch ein wenig zu stärken Wir haben dann zwischendurch das GPU Mining Grid zum Linux Magazin Artikel aufgepeppt (keine Ahnung, ob das etwas für den Workshop wäre) und einen solchen "Abschluss" soll es möglichst auch für das OpenWrt+BOINC Projekt geben. Meine Hoffnung ist ja, dass wir insbesondere via USB und daran angeschlossenen accelerators oder Sensoren nun BOINC noch ein paar ganz andere Möglichkeiten geben - ähnlich dieser Erdbeben-Vorhersage. Wenn Ihr da Ideen haben solltet - sagt es.
Steffen
Steffen
- Michael H.W. Weber
- Vereinsvorstand
- Beiträge: 22434
- Registriert: 07.01.2002 01:00
- Wohnort: Marpurk
- Kontaktdaten:
Re: BOINC nun auch auf OpenWrt
Nun, da haben wir natürlich schon seit Jahren kistenweise Ideen. Bisher war hier meist das Problem, dass neben reinen Programmiertätigkeiten auch elektronische Schaltungen gebaut werden müßten.
Michael.
Fördern, kooperieren und konstruieren statt fordern, konkurrieren und konsumieren.
http://signature.statseb.fr I: Kaputte Seite A
http://signature.statseb.fr II: Kaputte Seite B
http://signature.statseb.fr I: Kaputte Seite A
http://signature.statseb.fr II: Kaputte Seite B