AG Verteiltes Rechnen/Glossar

Aus Piratenwiki
Wechseln zu: Navigation, Suche
up
AG Verteiltes Rechnen (last edit: Woogpirat)

Für alle Neueinsteiger, die sich mit den gängigen Begriffen im Verteilten Rechnen noch nicht auskennen. Für die Hilfe bedankt sich die AG Verteiltes Rechnen sowie das Team 'Piratenpartei Deutschland' bei den crunchers@freiburg


A

Account

Ein Account ist ein Konto eines Crunchers bei einem Projekt. Unter diesem Account werden die Hosts geführt, die ein User bei diesem Projekt verwendet.

Account key

Der Account key ist ein innerhalb eines Projektes eindeutiger Kontoschlüssel, der bei Clients vor Version 5 für die Anmeldung eines Projektes im Boinc-Client benötigt wird. Bei einigen Projekten kann er auch statt eMail mit Passwort für die Anmeldung auf den Projektseiten im Internet verwendet werden.

Anonymous platform

Möglichkeit zum Einbinden von optimierten Anwendungen zu einem am Hosts angemeldeten Projekt. Siehe "Optimized applications".


B

Badge

Manche Projekte bieten verschiedene Anwendungen für unterschiedliche "Unter-Projekte". Meist kann man einstellen, von welchen dieser Unter-Projekte man Results geschickt bekommen möchte. Für das Erreichen eines bestimmten Creditwertes erhält man dann ein Badge, also sowas wie eine Medaille. Diese gibt es in unterschiedlichen Werten je nach erreichten Credits. BOINC

BOINC

Berkeley Open Infrastructure for Network Computing (BOINC) ist eine Entwicklung der University of California, Berkeley. Boinc ist aus dem ersten großen Verteiltes-Rechnen Projekt SETI@home entstanden. SETI@home (Search for ExtraTerestrial Intelligence) war eine Anwendung, die sowohl die Infrastruktur für verteiltes Rechnen bot als auch die wissenschaftliche Anwendung beinhaltete. Der Infrastrukturteil wurde herausgelöst und so entstand Boinc, welches nun alle Funktionen für das Verteilen und Verwalten von Projektdaten und -programmen als auch für eine Teilnehmerverwaltung usw. bietet. Die ursprüngliche wissenschaftliche Anwendung wurde nach SETI@home portiert und bedient sich nun der durch Boinc bereitgestellten Infrastruktur.

Bunker / Bunkern

Als Bunker wird unter BOINC die Größe bzw. die Dauer an Tagen, der auf dem Rechner gespeicherten Arbeitseinheiten (Work Units) bezeichnet. Demnach ist das Bunkern von WU's das Sammeln eben dieser Work Units für mehrere Tage (bis zu 10), um die Berechnungen offline durchführen zu lassen und die gesammte Menge an Arbeitseinheiten dann nach ihrer Berechnung geschlossen hochzuladen.

C

CAL

CAL ist die Abkürzung von Compute Abstraction Layer. ATI verwendet das, um seine GPU als Coprozessor zu nutzen. CAL bietet eine C-ähnliche Programmiersprache namens Brook+ als auch die Möglichkeit der Low-Level- Programmierung der Hardware. Bisher gibt es leider nur wenige Projekte, die ATI-GPUs verwenden können: Milkyway und Collatz. Bei Milkyway können Karten aus den Reihen 38xx, 48xx, 58xx verwendet werden. Bei Collatz finden auch viele andere Karten Verwendung. GPUgrid untersucht die Möglichkeit, ATI-Karten zu verwenden. Wenn überhaupt, dann kommt aus Performancegründen wohl nur die 5870 zum Einsatz. CC_Config.xml In der CoreClient-Configuration Datei cc_config.xml können viele Konfigurationsmöglichkeiten eingetragen werden, die z. B. für Tests und Fehlersuche verwendet werden, aber auch, um Optionen unterschiedlich zum voreingestellten Standardwert einzustellen. Die Liste der Optionen und Schalter ist recht lang und kann bei Berkeley unter Client configuration nachgelesen werden. Änderungen an der Datei können ohne Neustart des BoincClients mit dem Befehl "Extras -> Konfigurationsdatei lesen" übernommen werden.

Claimed credit

Claimed credit ist der Credit, den ein Host nach Fertigberechnen eines Results fordert. Meist ermittelt der Host diesen Wert aus den Benchmarks und der für das Result benötigten CPU time. Siehe auch Granted credit.

Client

Mit Client bezeichnet man den Softwareteil "Boinc" von Berkeley. Dieser Client stellt all die Funktionen zur Verfügung, die ein Projekt benötigt, um Arbeitspakete (Results) an User zu verteilen. Boinc.exe ist der Core-Client. Das ist ein im Hintergrund laufendes Programm. Der Core-Client steuert die Projektprogramme entsprechend der Vorgaben durch den User und kommuniziert mit den Projektservern. Boincmgr.exe, der Boinc-Manager, stellt eine Benutzeroberfläche zur Verfügung, mit der der Core-Client gesteuert wird.

Cloud Computing

Cloud Computing ist ein Begriff aus dem IT-Management. Es bezeichnet ein Konzept, nach dem Anwendungen und Daten nicht mehr auf dem lokalen PC oder Server liegen, sondern irgendwo im Netzwerk, also in der "Wolke". Der Zugriff erfolgt über ein Netzwerk, üblicherweise also das Internet oder das Intranet.

Credits

Die Basis für das Boinc Credit System ist:

  • ein Rechner mit 1000 doppeltgenauen MIPS gemäß dem Whetstone Benchmark (hauptsächlich Fließkommaberechnungen) und 1000 VAX MIPS gemäß dem Dhrystone Benchmark (hauptsächlich Ganzzahlberechnungen) soll für einen Tag Rechenzeit 100 Credits erhalten.

Diese Benchmarkwerte werden für jeden Host alle 5 Tage neu ermittelt und bei den Computer-Details unter "Measured floating point speed" bzw. "Measured integer speed" gespeichert. Aus diesen Benchmarks und der benötigten Rechenzeit für ein Result werden die Claimed Credits ermittelt. Diese Credits hießen ursprünglich Cobblestones nach einem SETI-Mitarbeiter Jeff Cobb. Auch wenn das Wort Credits den Eindruck vermittelt: kaufen kann man nichts dafür. Der SInn liegt einfach darin, zu zeigen, wieviel man für ein oder mehrere Projekte geleistet hat, also symbolische Anerkennung für erledigte Arbeit. Das fördert den Wettbewerbsgedanken und führt häufig wiederum dazu, noch mehr zu crunchen.

Cross Project Identifier (CPID)

Eine CPID wird verwendet, um Accounts verschiedener Projekte dem gleichen User zuordnen zu können. Dafür hätte auch die E-Mail Addresse benutzt werden können, aber das hätte Spammern Tür und Tor geöffnet. Boinc verwendet folgendes System:

  • jedem Account wird beim Erzeugen des Accounts eine Zufallszeichenkette als interne CPID zugeordnet.
  • der Scheduler schickt in einer Antwort an den Client diese Account CPID, die E-Mail Adresse und den Erzeugungszeitstempel. Das wird in der Datei client_state.xml gespeichert.
  • wenn ein Boinc Client eine Anfrage an einen Scheduler schickt, durchsucht dieser die Accounts mit der der gleichen E-Mail Adresse, nimmt den Eintrag mit dem ältesten Erzeugungsdatum und schickt die dort gespeicherte CPID zurück.
  • erhält der Scheduler eine andere CPID als die bei ihm gespeicherte, speichert er diese neue CPID.
  • Benutzerdaten in den Statistikdateien enthalten einen Hash der E-Mail Adresse und der CPID. Diese externe CPID dient als eindeutige Zuordnung aller Accounts zu einer E-Mail Adresse.

Dieses System bietet somit eine Projekt-übergeordnete Identification basierend auf der E-Mail Adresse, ohne Informationen zu veröffentlichen, aus denen die E-Mail Adresse abgeleitet werden könnte.

Crunchers

Beschreibt eine Geisteshaltung (manche sagen auch Verrücktheit dazu), die sich in Besessenheit verwandeln kann. Cruncher müssen ihre Rechner immer auslasten und missbrauchen diese dazu, Zahlen zu verdrehen, zu rechnen, solange bis das Ergebnis passt. Der Proz schuftet also und der Cruncher streicht die Credits ein. Echte Arbeitsteilung eben.

CUDA

Die Compute Unified Device Architecture, kurz CUDA genannt, ist eine von Nvidia entwickelte Technik zur Beschleunigung wissenschaftlicher und technischer Berechnungen. CUDA nutzt die enorme parallele Rechenleistung der zahlreichen Recheneinheiten des Grafikprozessors, welcher durch die CUDA-API quasi als Co-Prozessor zum Einsatz kommt. Eine Übersicht über die CUDA-fähigen Grafikkarten findet ihr hier: CUDA enabled products. BOINC unterstützt CUDA ab der Version 6.4.5 und ein NVIDIA Treiber > 181.x wird auch noch gebraucht. Die Liste der unterstützenden Projekte wächst ständig. Derzeit sind uns bekannt: Einstein@home, GPUGRID, SETI@Home, PicEvolvr, CollatzConjecture, Milkyway, Primegrid (Unterprojekt AP26) [wird fortgesetzt]. Schaut auch mal in unserem Forumsthread vorbei, vielleicht finden sich da noch mehr Informationen.


D

Deadline

Die Deadline gibt den Zeitpunkt an, zu dem ein Result fertig berechnet zurückgemeldet sein muss, damit Credits vergeben werden. Für ein nicht rechtzeitig zurückgemeldetes Result wird in der Regel ein neues verschickt. Wird das vermisste Result nach der Deadline zurückgemeldet, dann bekommt man meist keine Credits mehr, es sei denn, dass noch kein Ersatzresult verschickt wurde.

Dhrystone

...ist der Name eines allgemeinen Test-Programmes (Benchmark), um die Leistungsfähigkeit unterschiedlicher Rechner oder Compiler zu vergleichen. Die Ausgabe der Rechenleistung erfolgt in Dhrystone-Instruktionen pro Sekunde“, wobei oft die Einheit „Dhrystone MIPS“, kurz „DMIPS“, für eine Million verwendet wird.

Duration correction factor (DCF)

Ein Projekt versucht, für einen Host anhand der Zeiten für schon gerechnete Results die voraussichtlich benötigte Zeit immer besser abzuschätzen. Die serverseitig vorab geschätzte Zeit kann so auf spezifische Eigenheiten des Hosts angepasst werden. Dadurch soll vermieden werden, dass ein Host zuwenig oder zuviel Arbeit bekommt. DCF startet mit dem Wert 1 und kann Werte von 0,01 bis 100 annehmen. Der Faktor wurde mit Boinc Version 5 eingeführt.


E

Earliest deadline first (EDF)

Ist der Client mit Results überladen (Projekte temporär angehalten, falscher DCF,...), dann geht er in den EDF-Zustand. Das bedeutet, dass die Results zuerst abgearbeitet werden, deren Rückmeldezeitpunkte als erste erreicht werden. Beeinflusst wird das auch noch durch den Wert der Resource shares der Projekte. Normalerweise wird dann auch das Nachfragen nach neuen Results solange eingestellt, bis der EDF-Zustand wieder verlassen wird.


F

Fixed credits

Fixed credits bedeutet, dass der Wert für Granted credits nicht anhand der CPU-Zeit und der Benchmarks ermittelt wird, sondern ein vorher schon festgelegter Wert für ein Result vergeben wird. Grund für die Einführung von Fixed credits war wohl die Manipulation der Benchmarks und damit auch der Credits.

FLOPS

Floating Point Operations Per Second (englisch für Gleitkommaoperationen pro Sekunde, Abk.: FLOPS) ist eine Maßeinheit für die Geschwindigkeit von Computersystemen oder Prozessoren und bezeichnet die Anzahl der Gleitkommazahl-Operationen (Additionen oder Multiplikationen), die von ihnen pro Sekunde ausgeführt werden können. Häufig wird als FLOP eine Gleitkommazahlenoperation (floating-point operation) bezeichnet, wodurch vereinzelt auch die Variante FLOP/s auftaucht, beide Varianten sind allerdings gleichbedeutend.

G

GPU

GPU ist die Abkürzung für Graphics Processor Unit, das ist die Hauptrecheneinheit auf einer modernen Grafikkarte. Eine GPU kann die CPU entlasten, indem Rechenarbeit nicht nur von der CPU, sondern auch von der Grafikkarte erledigt wird. Hat bei uns also nix zu tun mit Glawnoje Polititscheskoje Uprawlenije, einen Geheimdienst der Sowjetunion. Die hauptsächlich verwendeten GPUs sind die CUDA-fähigen Grafikprozessoren von nVidia und die CAL-fähigen Grafikprozessoren von ATI.

Granted credit

Granted credit ist der vom Projekt für das Result vergebene Credit.


H

Host

Der Host ist der PC, auf dem Boinc und ein oder mehrere Projekte laufen.


I

Initial replication

Das ist die Anzahl Results, die für eine WU anfänglich verschickt wird.


K

Konto

Ein deutscher Begriff für Account.

Kontoschlüssel

Siehe Account key.


L

Long term debt (LTD)

Für jedes Projekt führt Boinc einen Wert für Long_term_debt mit, zu deutsch Langzeitschuld. Wenn für ein Projekt gerechnet wurde, dann wird der Wert verringert und die Werte der anderen Projekte entsprechend erhöht. Das passiert immer bei einem Ereignis wie z. B. Umschalten von einem Projekt auf ein anderes oder beim Beenden bzw. Starten eines Results. Ist LTD für ein Projekt negativ, wird keine neue Arbeit angefordert, es sei denn, der Client hat keine Arbeit mehr und kein anderes aktives Projekt.

   Die Summe der Long_term_debt aller Projekte eines Hosts ist immer 0.

Die Werte verändern sich in Abhängigkeit von den Resource shares evtl. für jedes Projekt unterschiedlich. Die Long_term_debt-Werte stehen in der Datei client_state.xml jeweils bei den Projekt-Daten.


M

MIPS

„Millionen Instruktionen pro Sekunde“ („MIPS“, von engl. „Million instructions per second“ oder „Mega instructions per second“), ist eine Maßeinheit für die Rechenleistung von Computern, dabei insbesondere die Leistungsfähigkeit der CPU (siehe auch Benchmark). Die Einheit gibt an, wie viele Maschinenbefehle (Instruktionen) ein Mikroprozessor pro Sekunde ausführen kann. 1 MIPS bedeutet, er kann eine Million Maschinenbefehle pro Sekunde ausführen.


O

Optimized applications

Manche Projekte geben den Source ihrer Anwedung heraus, die dann von Tüftlern verbessert werden. Möglichkeiten hierbei sind Umstellungen in der Anwendung selbst, die Benutzung von CPU-spezifischen Befehlssätzen wie z. B. die verschiedenen SSE-Versionen mit den entsprechenden Compiler-Schaltern oder auch das Miteinbeziehen einer GPU. Bei manchen Projekten werden diese optimierten Anwendungsprogramme automatisch installiert, oft müssen diese aber auch getrennt heruntergeladen werden. Das sind in der Regel zumindest eine .EXE, die getunte Anwendung, und eine Datei app_info.xml, in der ein paar Informationen zu der neuen Anwendungen stehen. Dieser Mechanismus wird beim Boinc-Start erkannt und gemeldet als "anonymous platform". Zur Installation der optimierten Anwendung wird Boinc gestoppt, die heruntergeladenen Dateien werden ins entsprechende Projektverzeichnis kopiert (z. B. nachD:\Boinc_Data\projects\setiathome.berkeley.edu) und danach Boinc wieder gestartet.

OS

Operating System - Ein Betriebssystem ist die Software, die die Verwendung (den Betrieb) eines Computers ermöglicht. Es verwaltet Betriebsmittel wie Speicher, Ein- und Ausgabegeräte und steuert die Ausführung von Programmen


P

pending Credit

Ausstehendes Guthaben

Projektübergreifende ID

(english - crossproject-ID) Alle Projekte erhalten bei eurer Anmeldung dort eine neue Projektübergreifende ID. Die "Projektübergreifende ID" ist eine 32stellige, einzigartige Zeichenkette, die einem Benutzer fest zugeordnet ist. Anhand dieser ID werden User in den Statistiken geführt und identifiziert. Zu finden ist die Projektübergreifende ID auf der jeweiligen Projektseite.

Punkte

Ein deutscher Begriff für Credits.

Q

Quorum

Das Quorum beschreibt die erforderliche Anzahl Results, deren Ergebnisse übereinstimmen müssen. Ein Quorum von zwei bedeutet, dass zwei gültige Results zurückgemeldet werden müssen, die im Ergebnis gleich sein müssen, damit die WU als erfolgreich berechnet gilt.


R

RAC

Recent average credits, kurz RAC, zeigt die Credits an, die ein User, ein Host oder auch ein Team durchschnittlich an einem Tag erarbeitet. Bei der Berechnung werden aktuell erhaltene Credits stärker gewichtet als ältere. Die Halbwertszeit ist eine Woche. Einige Statisikseiten errechnen jeweils eigene RACs mit evtl. abweichenden Parametern.

Resource share

Auf den meisten Hosts laufen mehrere Projekte. Mit Hilfe des Parameters "Resource share" kann gesteuert werden, wieviel Zeit ein Projekt bekommt im Vergleich zu den anderen.

Result

Ein Result ist ein Arbeitspaket eines Projektes für einen Host. Häufig wird auch der Begriff WU dafür verwendet, was jedoch nicht immer korrekt ist. Siehe WU.


S

Scheduler

Der Scheduler ist ein Programm auf dem Projektserver, welches die Kommunikation mit den Clients steuert, also z. B. Results an den Client verschickt oder von diesem zurückgemeldet bekommt.


Schwacher Kontoschlüssel

Der schwache Kontoschlüssel auch Weak Account Key genannt, dient dazu, Computer zu einem bestehenden Projektaccount hinzuzufügen, ohne dass man sich mit dem Schlüssel auf der Projektseite anmelden und Einstellungen verändern kann.

Der schwache Kontoschlüssel funktioniert nur bei Projekten ab Server-Software Version 14367 (Server Software ab 7.12.2007).

Zu beachten ist dabei, dass sich mit einer Passwortänderung im eigenen Account auch der schwache Kontoschlüssel ändert.

Short term debt (STD)

Für jedes Projekt führt Boinc einen Wert für Short_term_debt mit, zu deutsch Kurzzeitschuld. Projekte mit hoher Short_Term_debt werden beim Umschalten von einem Projekt auf ein anderes bevorzugt.

   Short_term_debt ist 0 für Projekte ohne Results.

Die Summe der Short_term_debt aller Projekte eines Hosts ist immer 0. Die Werte verändern sich in Abhängigkeit von den Resource shares evtl. für jedes Projekt unterschiedlich. Die Short_term_debt-Werte stehen in der Datei client_state.xml jeweils bei den Projekt-Daten.

T

Team

Ein User kann ein Team gründen, dem dann andere User beitreten können. Alle Credits, die ab dem Beitritt zu einem Team erarbeitet werden, werden auch dem Teamkonto gutgeschrieben. Zu einem Team können eine Beschreibung und auch eine URL angegeben werden. Durch Einführung von Teams wird der Wettbewerbsgedanke vom User auf Teams erweitert.

Team founder

Der User, der ein Team gründet. Er kann die Teaminfos speichern und ist der einzige, der die E-Mail Adressen der Teammitglieder einsehen kann. Die Eigenschaft "Team founder" kann auch auf ein anderes Teammitglied übertragen werden.

Trickle

Mit Hilfe von Trickles kann ein Client dem Server Informationen über den Fortschritt eines Results mitteilen. Dies ist inbesondere bei sehr lange laufenden Results wie z. B. von Climateprediction hilfreich, damit zum einen der Projektserver weiß, dass der Client das Result noch bearbeitet und wie weit er damit ist, zum anderen bekommt der User nach einer Trickle-Meldung auch entsprechende Credits gutgeschrieben und muss nicht warten, bis das Result komplett fertig ist.


V

Validator

Der Validator ist ein Prozess auf dem Projektserver. Er überprüft die zurückgemeldeten Results auf Gültigkeit, indem er z. B. die Results einer WU miteinander vergleicht.


W

Walltime

Die Walltime ist die Zeit, die während des Bearbeitens eines Results vergeht. Das entspricht bei einer 100% Auslastung eines Prozessorkerns auch der CPU time. Jedoch haben nicht alle Projekte diese Vollauslastung, insbesondere bei Projekten, die eine GPU verwenden, ist die Walltime größer als die CPU time.

Whetstone

...(englisch für „Wetzstein“) ist der Name eines EDV-Benchmark-Programmes, um die Geschwindigkeit und Effizienz von Computern vergleichbar zu messen. Als Ergebnis liefert das Programm eine Zahl, welche die „whetstone instructions per seconds“, also die „Whetstone-Instruktionen pro Sekunde“, angibt. Diese Maßeinheit wird kurz auch WIPS genannt. Inzwischen wird allerdings in GigaWIPS (kurz GWIPS) gerechnet (siehe dazu auch Vorsätze für Maßeinheiten).

Work Unit (WU)

Eine Work Unit besteht aus einem oder mehreren Results. Die Anzahl Results hängt ab vom benötigten Quorum und wird größer, wenn ein Result ungültig ist oder nicht innerhalb der Deadline zurückgemeldet wurde.