BOINC nun auch auf OpenWrt

Kaufempfehlungen, Hardwaretips, Softwareprobleme, Overclocking, Technikfragen ohne Bezug zu DC.
Nachricht
Autor
smoe
Mikrocruncher
Mikrocruncher
Beiträge: 16
Registriert: 12.01.2018 19:12

BOINC nun auch auf OpenWrt

#1 Ungelesener Beitrag von smoe » 12.04.2020 15:40

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/
Zuletzt geändert von smoe am 12.04.2020 21:06, insgesamt 1-mal geändert.

Benutzeravatar
Michael H.W. Weber
Vereinsvorstand
Vereinsvorstand
Beiträge: 20889
Registriert: 07.01.2002 01:00
Wohnort: Marpurk
Kontaktdaten:

Re: BOINC nun auch auf OpenWrt

#2 Ungelesener Beitrag von Michael H.W. Weber » 12.04.2020 16:26

Ein SEHR löbliches Projekt, das meine vollumfängliche Unterstützung erhält. :good:
Genauer gesagt, eines der besten derzeit. 8)

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. :D

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

Bild Bild Bild

Benutzeravatar
gemini8
Vereinsmitglied
Vereinsmitglied
Beiträge: 3910
Registriert: 31.05.2011 10:30
Wohnort: Hannover

Re: BOINC nun auch auf OpenWrt

#3 Ungelesener Beitrag von gemini8 » 12.04.2020 17:06

Bei PrimeGrid könnten CPU-Sieves Sinn machen.
Evtl. auch die ganz kleinen Subprojekte.
RAM-Bedarf ist jedenfalls auch ziemlich niedrig.
Gruß, Jens
- - - - - -
Lowend-User und Teilzeitcruncher

Bild Bild Bild
Bild

Benutzeravatar
yoyo
Vereinsvorstand
Vereinsvorstand
Beiträge: 7870
Registriert: 17.12.2002 14:09
Wohnort: Berlin
Kontaktdaten:

Re: BOINC nun auch auf OpenWrt

#4 Ungelesener Beitrag von yoyo » 12.04.2020 19:20

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
HILF mit im Rechenkraft-WiKi, dies gibts zu tun.
Wiki - FAQ - Verein - Chat

Bild Bild

smoe
Mikrocruncher
Mikrocruncher
Beiträge: 16
Registriert: 12.01.2018 19:12

Re: BOINC nun auch auf OpenWrt

#5 Ungelesener Beitrag von smoe » 12.04.2020 21:46

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:
  • 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
Die alt_platform Namen sind so ein wenig experimentell für den Fall, dass ein Projekt es ganz genau nehmen möchte mit der Zuordnung von apps - oder vielleicht auch für die Statistik? Bislang werden sie nicht genutzt, das ist noch ein wenig Baustelle. Ich habe hier jeweils eine 32bittige und 64bittige Umgebung laufen - schicke mir doch die apps als PM und ich probiere es hier aus. Gerne auch synchronisiert per geteiltem Bildschirm, damit es für alle gleich spannend ist :o)

@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

smoe
Mikrocruncher
Mikrocruncher
Beiträge: 16
Registriert: 12.01.2018 19:12

Re: BOINC nun auch auf OpenWrt

#6 Ungelesener Beitrag von smoe » 12.04.2020 22:54

@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:

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)
Im Vergleich dazu mal das World Community Grid:

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
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.

Benutzeravatar
gemini8
Vereinsmitglied
Vereinsmitglied
Beiträge: 3910
Registriert: 31.05.2011 10:30
Wohnort: Hannover

Re: BOINC nun auch auf OpenWrt

#7 Ungelesener Beitrag von gemini8 » 13.04.2020 05:50

Moin.
Kein direkter Kontakt zu PrimeGrid.
War nur meine Überlegung, da PrimeGrid mit wenig RAM auskommt.
Gruß, Jens
- - - - - -
Lowend-User und Teilzeitcruncher

Bild Bild Bild
Bild

Benutzeravatar
yoyo
Vereinsvorstand
Vereinsvorstand
Beiträge: 7870
Registriert: 17.12.2002 14:09
Wohnort: Berlin
Kontaktdaten:

Re: BOINC nun auch auf OpenWrt

#8 Ungelesener Beitrag von yoyo » 24.04.2020 20:53

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.
HILF mit im Rechenkraft-WiKi, dies gibts zu tun.
Wiki - FAQ - Verein - Chat

Bild Bild

Antworten

Zurück zu „Hardware, Software, Technik, Betriebssysteme“