www.wikidata.de-de.nina.az
Die Berkeley Open Infrastructure for Network Computing kurz BOINC ist eine Software Plattform fur verteiltes Rechnen BOINCDer BOINC Client fur macOSBasisdatenEntwickler Universitat BerkeleyErscheinungsjahr 10 April 2002Aktuelle Version 1 4 2 1 23 Januar 2023 Betriebssystem Windows macOS Linux AndroidProgrammiersprache C Kategorie Verteiltes RechnenLizenz GPL LGPL Freie Software deutschsprachig jaboinc berkeley eduDie BOINC Plattform wird an der Universitat Berkeley entwickelt und ermoglicht es die ungenutzte Rechenleistung von vielen tausend Computern uber das Internet oder Intranet verfugbar zu machen Dies geschieht in Form von Projekten die meist gemeinnutzig arbeiten und von Universitaten oder anderen Institutionen betreut werden Die derzeit rechenintensivsten Projekte umfassen unter anderem Berechnungen zur Erstellung eines genauen 3D Modells der Milchstrasse die Suche nach ausserirdischem Leben Berechnung von Gravitationswellen Vorhersagen zur Klimaentwicklung sowie die Simulation von Proteinfaltungen fur die Erforschung von neuen Medikamenten Inhaltsverzeichnis 1 Details 2 Bestandteile 2 1 Teilnehmerseitig 2 2 Serverseitig 3 Funktionen 4 Sicherheit 4 1 Sicherheit des Clients 5 Credits 6 Projekte 7 Weblinks 8 EinzelnachweiseDetails BearbeitenBei der Entwicklung von BOINC wurden Erfahrungen des Volunteer Computing Projekts SETI home genutzt Ein Merkmal der Plattform ist die Trennung der Projektverwaltung von den wissenschaftlichen Inhalten Anwender dieser Plattform installieren sich ein Clientprogramm und konnen damit ihre freie Rechenzeit auf ein oder mehrere Projekte verteilen Dies ist eine wichtige Verbesserung gegenuber an nur ein Projekt gebundenen Clients da einige Distributed Computing Projekte nicht uber genugend Arbeit verfugen um die Ressourcen einer grossen Teilnehmerbasis zu nutzen SETI home classic umging dieses Problem indem manche Arbeitspakete bis zu zwolfmal zur Berechnung herausgegeben wurden obwohl zur Sicherung von akkuraten wissenschaftlich verwertbaren Resultaten nur drei Ergebnisse notwendig waren Mit einem an mehreren Projekten teilnehmenden BOINC Client kann die verfugbare Rechenleistung somit effektiver verwendet werden Seit dem 18 November 2003 steht BOINC unter der GNU General Public License Das Ziel der Freigabe des Programmcodes ist eine noch breitere Unterstutzung verschiedener Plattformen durch aktive Mithilfe der freien Softwaregemeinde und eine erhohte Sicherheit Ab der Version 6 4 5 wird die CUDA Technologie von Nvidia unterstutzt Damit ist es moglich die Rechenleistung von Grafikkarten mit CUDA Unterstutzung zu nutzen Ab der Version 6 10 x wird die ATI Stream Technik unterstutzt welche ahnlich wie CUDA die Berechnung auf Grafikkarten des Herstellers ATI Technologies erlaubt Derzeit Stand Mai 2020 hat die Plattform bei rund 150 000 Teilnehmern 2 und ca 800 000 aktiven Rechnern 3 eine Rechenleistung von durchschnittlich 32 PetaFLOPS 4 die je nach Tag schwankt Durch die Unterstutzung der Berechnung von Arbeitspaketen mit einer kompatiblen Grafikkarte ist die Rechenleistung in der Vergangenheit stark angestiegen nbsp Der BOINC Manager im Expertenmodus mit den grafischen Fenstern von Rosetta home und ClimatePrediction netBestandteile BearbeitenTeilnehmerseitig Bearbeiten Core Client Der Core Client ist ein auf dem Teilnehmerrechner im Hintergrund laufendes Kommandozeilen Programm Er steuert und uberwacht die wissenschaftlichen Anwendungen gemass den Vorgaben des Teilnehmers puffert Arbeitspakete und kommuniziert mit den Schedulern und Datenservern der Projekte Der Core Client kann neben Windows theoretisch auch auf jedes Unix artige Betriebssystem portiert werden ist fur sich allein genommen jedoch recht nutzlos wenn fur die jeweilige Plattform keine wissenschaftlichen Anwendungen zur Verfugung stehen BOINC Manager Der BOINC Manager ist eine grafische Oberflache zur Konfiguration und Uberwachung des Core Clients Er basiert auf dem wxWidgets Toolkit und ist damit auf allen Plattformen lauffahig die von wxWidgets unterstutzt werden Boinc Commandline Interface das Programm boinc cmd erlaubt es den Core Clienten uber die Kommandozeile zu steuern beispielsweise wenn keine grafische Oberflache verfugbar ist wie bei Servern Projektanwendungen Jedes Projekt stellt Anwendungen bereit die vom Core Client heruntergeladen und zur Berechnung der Arbeitspakete verwendet werden Diese werden zur Laufzeit vom Core Client mittels Shared Memory uberwacht Die Funktionen fur diese Uberwachung werden in der von BOINC mitgelieferten Programmierschnittstelle BOINC API bereitgestellt Bei alteren Programmversionen ist der Core Client sowohl in den grafischen BOINC Manager als auch in das Kommandozeilen Interface integriert Bei aktuellen Versionen kommuniziert der separate Core Client uber Shared Memory mit den Steuerungsprogrammen Serverseitig Bearbeiten Das vom jeweiligen Projekt zur Verfugung gestellte Backend basiert auf einem Webserver PHP als Skriptsprache und einer MySQL Datenbank Bei grossen Projekten konnen die Backend Dienste auf mehrere Server verteilt sein Einige Projekte verwenden Perl oder ASP anstelle von PHP fur das Backend dies sind Eigenentwicklungen der Projekte die das von Berkeley vorgegebene Kommunikationsprotokoll nachbilden Scheduler Der Scheduler ist ein CGI Programm auf dem Webserver des Projekts Er teilt den Teilnehmer Clients ihre Arbeitspakete zu und nimmt nach getaner Arbeit eine kurze Meldung uber Erfolg Misserfolg entgegen Uber alle Aktivitaten fuhrt er in der Datenbank Buch Datenserver Ein einfacher HTTP Server von dem die Clients ihre vom Scheduler zugeteilten Arbeitspakete herunterladen und die Ergebnisdateien hochladen Validator Der Validator ein fur jedes Projekt unterschiedliches Programm pruft die von den Clients zuruckgelieferten Ergebnisdateien auf Korrektheit Meist geschieht dies dadurch dass ein Arbeitspaket von mehreren Teilnehmern redundant bearbeitet wird Der Validator vergleicht dann die Ergebnisse Idealerweise sind sie identisch Assimilator Ein projektspezifisches Programm Nimmt validierte Ergebnisdateien und bereitet sie zur weitergehenden wissenschaftlichen Analyse auf Dazu konnen die Ergebnisse beispielsweise in eine weitere Datenbank archiviert werden File Deleter Nachdem die Ergebnisse assimiliert wurden sind die Input und Output Dateien der Clients unnotiger Ballast fur den Datenserver die durch ihre Anzahl auch seine Performance beeintrachtigen konnen Mit dem File Deleter werden nicht mehr benotigte Dateien vom Server geloscht Transitioner Der Transitioner uberwacht den Fortschritt der Arbeitspakete entlang einer gedachten Pipeline So stosst er beispielsweise den Validator an wenn er feststellt dass zu einem Arbeitspaket genugend redundante Ergebnisse vorliegen so dass mit der Validierung begonnen werden kann Funktionen BearbeitenDas Verhalten des BOINC Frameworks kann an die Bedurfnisse verschiedener Projekte angepasst werden Zu den Funktionen die nur von einigen Projekten genutzt werden gehoren Homogene Redundanz Einige wissenschaftliche Anwendungen reagieren empfindlich auf numerische Differenzen die sich auf unterschiedlichen Teilnehmerrechnern ergeben konnen Die Ursachen dafur konnen in den Betriebssystemen den Prozessoren oder den verwendeten Compilern liegen Kleine Unterschiede in der Rundung oder Gleitkomma Implementation konnen dabei zu vollig unterschiedlichen Ergebnissen fuhren Im Falle von Predictor home stellte man beispielsweise fest dass Intel und AMD Prozessoren haufig unterschiedliche Proteinfaltungen errechneten Keiner der Prozessoren hatte dabei falsch gerechnet da man Proteinstrukturen ohnehin nur statistisch annahern kann aber die Unterschiede waren signifikant genug um den Validator aus dem Tritt zu bringen LHC Home hat das Problem fur sich durch eine neue plattformunabhangige Mathematik Bibliothek losen konnen BOINC seitig besteht die Moglichkeit ein Arbeitspaket jeweils nur identischen Plattformen zuzuteilen Ein Arbeitspaket fur Windows AMD wird dann nur von Rechnern mit dieser Ausstattung bearbeitet Locality Scheduling Bei einigen Projekten sind die Input Dateien der Arbeitspakete sehr gross Das belastet die Netzwerkanbindung des Projekts Manche Projekte haben jedoch den Vorteil dass fur viele Arbeitspakete die gleichen Input Dateien benotigt werden Dann kann durch Locality Scheduling der Netzwerkverkehr reduziert werden Ein Client bekommt in diesem Fall bevorzugt Arbeitspakete zugeteilt zu denen er angibt dass er die benotigten Input Dateien bereits vorliegen hat Diese Technik wird derzeit vor allem von Einstein home verwendet Trickles engl fur Tropfchen sind kleine XML Dateien mit denen die Projektanwendung den Scheduler uber den Fortschritt von sehr lange laufenden Berechnungen unterrichten kann ClimatePrediction net benutzt zum Beispiel Arbeitspakete deren Fertigstellung Wochen oder sogar Monate dauern kann So lange mochten die Benutzer aber nicht auf Creditpunkte warten Durch diese Trickles unterrichtet der Core Client den Scheduler uber den Arbeitsfortschritt so dass bereits Creditpunkte vergeben werden konnen wahrend das Paket noch in Arbeit ist Datenarchivierung Bis zu einer vom Teilnehmer festlegbaren Grenze konnen Projekte die Festplatte des Teilnehmerrechners zur Archivierung alter Input oder Output Daten verwenden Das Projekt kommt an die Daten jedoch nicht ohne Kooperation des Teilnehmers heran Diese Moglichkeit wurde zeitweise von ClimatePrediction net verwendet es handelte sich um Datenmengen im Bereich von einigen 100 MB Inzwischen gibt es Projektkonzepte die sich ausschliesslich mit der verteilten Archivierung mit BOINC befassen bisher ist aber kein derartiges Projekt offentlich verfugbar Sicherheit BearbeitenSicherheit des Clients Bearbeiten Der BOINC Client kann so konfiguriert werden dass ein sogenannter Protected Mode verwendet wird Dabei lauft die BOINC Instanz in einem Sandbox Modus Dazu wird ein mit geringsten Rechten ausgestattetes Benutzerkonto verwendet 5 Credits BearbeitenFur erfolgreich berechnete und innerhalb der Gultigkeitsdauer zuruckgemeldete Arbeitspakete werden sogenannte Credits vergeben Diese virtuellen Punkte ermoglichen den Vergleich der investierten Berechnungszeiten zwischen den Teilnehmern und den Teams Die Hohe der Credits kann zum einen vom Projekt vorgegeben werden fixed credits oder zum anderen anhand der Berechnungszeit sowie der Geschwindigkeit des berechnenden Computers ermittelt werden 6 Projekte Bearbeiten Hauptartikel Liste der Projekte verteilten Rechnens Auf dem Rechner muss lediglich die BOINC Software installiert werden Nach der Registrierung bei einem oder mehreren der Projekte ladt BOINC sich selbstandig die benotigte Projektsoftware herunter und beginnt den eigentlichen Rechenprozess Inzwischen steht eine breite Auswahl an Projekten zur Verfugung laufend werden neue entwickelt Weblinks Bearbeiten nbsp Commons Berkeley Open Infrastructure for Network Computing Album mit Bildern Videos und Audiodateien nbsp Wikinews Computerdiebstahl dank BOINC aufgeklart Nachricht BOINC Offizielle Website BOINC Wiki auf seti germany de BOINC fur Android BOINC auf Android EndgeratenEinzelnachweise Bearbeiten github com 23 Januar 2023 Active User Ubersicht auf boincstats com Active Host Ubersicht auf boincstats com Ubersicht BOINC Leistung auf boincstats com Sicherheit von BOINC auf der Projektseite Erklarung zu Credits auf der BOINC ProjektseiteNormdaten Sachbegriff GND 1025312678 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Berkeley Open Infrastructure for Network Computing amp oldid 201246067