Verständnissfrage: Unabhängige Simulation

Grid-Computing, technische Entwicklung von Distributed Computing...
Nachricht
Autor
-horn-
Stromkosten-Ignorierer
Stromkosten-Ignorierer
Beiträge: 1053
Registriert: 21.06.2009 19:04

Verständnissfrage: Unabhängige Simulation

#1 Ungelesener Beitrag von -horn- » 14.04.2010 11:59

moien,

ich habe da mal eine verständnissfrage.
gehe ich richtig davon aus, dass bei boinc nur simulationen laufen können, die unabhänig von anderen simulationen, oder simulationsteilen berabreitet werden werden können?
mir ist nämlich noch kein projekt aufgefallen, dass mir WUs schickt und diese WU im sich laufe der berechnung mit anderen WUs bei anderen teilnehmern abgleichen muss, weil es daher werte bekommen muss, oder diese dorthin liefern muss.

mir ist dieses bei direkt vernetzten cluster im CFD-bereich bekannt, dass das aerodynamikmodell geteilt wird, auf die cluster verfrachtet wird und diese teile vor und nach jedem iterationsschritt kommunizieren müssen.

grüße, Andreas
http://www.hdtvtotal.com | Your European Total Source To HDTV!
Bild

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

Re: Verständnissfrage: Unabhängige Simulation

#2 Ungelesener Beitrag von yoyo » 14.04.2010 12:17

Ja, dein Verständniss ist im wesentlichen richtig. Die einzelnen WUs müssen unabhängig sein. Trotzdem können natürlich aus den zum Server gesandten Results neue WUs entstehen. Das ist z.B. bei Muon so.
yoyo
HILF mit im Rechenkraft-WiKi, dies gibts zu tun.
Wiki - FAQ - Verein - Chat

Bild Bild

Benutzeravatar
nico
Vereinsmitglied
Vereinsmitglied
Beiträge: 2211
Registriert: 22.12.2002 13:22
Wohnort: C-Town
Kontaktdaten:

Re: Verständnissfrage: Unabhängige Simulation

#3 Ungelesener Beitrag von nico » 14.04.2010 12:20

Richtig, BOINC ist nicht für die Parallelisierung von Problemen geeignet, deren Teilberechnungen miteinander kommunizieren müssen. BOINC garantiert weder die Ausführungszeit noch die Geschwindigkeit der CPU oder der Netzwerkverbindung.
Das CERN arbeitet allerdings an einer VM, die in BOINC als WU gestartet wird und in der dann auch über mehrere Rechner parallel gerechnet werden können soll. Das macht aber eher keinen Sinn bei Rechnern, die nur über das Internet miteinander verbunden sind.
Bild

-horn-
Stromkosten-Ignorierer
Stromkosten-Ignorierer
Beiträge: 1053
Registriert: 21.06.2009 19:04

Re: Verständnissfrage: Unabhängige Simulation

#4 Ungelesener Beitrag von -horn- » 14.04.2010 14:40

moien,

das mit dem VM finde ich interessant. zum einen frage ich mich, ob die WUs, die mit projekteigenen rechnern gerechnet werden genau so viele validationsversionen der selben WU brauchen. denn man wird seine eigenen rechner sicherlich nicht kompromitieren, womit man im netz immer rechnen muss. damit wäre sowas sicherlich einfacher zu lösen, weil man die eigenen rechner besser zuweisen kann.
ausserdem eröffnet das VM gänzlich andere anwendungsmöglichkeiten. vielleicht kennt jemand OpenFOAM http://en.wikipedia.org/wiki/OpenFOAM
für die wäre sicherlich eine integration mit BOINC eine einfache und ernste möglichkeit die CFD modelle in einem cluster zu rechnen. und gerade im CFD-bereich geht eigentlich nichts ohne parallelisierte rechnungen.

grüße, Andreas
http://www.hdtvtotal.com | Your European Total Source To HDTV!
Bild

-horn-
Stromkosten-Ignorierer
Stromkosten-Ignorierer
Beiträge: 1053
Registriert: 21.06.2009 19:04

Re: Verständnissfrage: Unabhängige Simulation

#5 Ungelesener Beitrag von -horn- » 15.09.2010 14:33

moien,

ich stelle mal eine frage in den raum.

könnte man nicht anstelle boinc für paralleles rechnen zu erweitern einfach einen "app-aufsatz" programmieren, der dann entweder verbindungen zu anderen clients ermöglicht. sei es über zentralen server oder über P2P technik?

ich stelle mir das so vor.

anstelle WUs mit aufgaben zu verteilen werden WUs mit "verfügbarkeitsdauer" verteilt, also ca 1h laufzeit. ob da was grechnet wird oder nur boinc ofen gejalten wird ist ja unerheblich.
diese zeit wird dann der boinc-client verfügbar gemacht und lässt das "verbindungs-app" laufen. mit diesem wird sich in einem verbund von anderen clients eingeklinkt, die dann gemeinsam ein projekt berabrieten und sich untereinander daten austauschen können.
um sich zu finden würde dann ein zentraler server diese anfragen annehmen und den afragenden client einer gruppe zuteilen. oder aber über den P2P ansatz das ganze dezentral halten. beides hat vor und nachteile.
wenn nun eine gruppe gebündelt wurde muss sicher gestellt werden, dass bei einem verlust eines clients seine aufgabe ein anderer übernimmt. deswegen stelle ich mir da vor, dass immer mehrere clients dieser gruppe das selbe teil-WU rechnet und wer als erstes fertig ist darf sein ergebnis den anderen clients übersenden. die langsameren brechen dann ab, und bekommen neue ergebnisse für den nächsten schritt. so müsste man definieren, wie viele clients eine sichere gruppe bilden, die das gesamtergbnis lückenlos erzeugen kann. wenn nun ein client crasht, oder der user den pc ausstellt muss immer für nachschub gesorgt werden.
beim einsatz in einem lokalen cluster wäre das egal, da man alle server verfügbar halten kann und so keinen "überhang" hat. will man dezentral übers netz was auf diese weise machen muss ein sinnvoller überhang vorhanden sein.

was bleibt sind natürlich die internetanschlüsse als nadelöhre. das ist schon gewaltiges daten hin un herschieben und latenzzeiten müssen berücksichtigt werden. dazu kommen wie gehabt heterogene maschinen, wo vielleicht eine validierung nötig wird. also nicht nur der schnellste darf was weiter schicken, sondern innerhalb einer client-gruppe für ein teil-WU muss noch eine validierung vor der weitergabe gemacht werden.

nachteile sind ganz klar, dass es überhang noch und nöcher gibt. wir sind ja sowieso schon nicht gerade energiesparend, und zum quorum kommt dann noch der überhang, um springer-rechner verfügbar zu haben. ausserdem kann der user nichtmehr WUs sammeln, dann den PC vom internet nehmen, alles fertig rechnen lassen, und dann wieder alles gemeinsam hochladen. es bedingt dann eine durchgehende verbindung zum internet.

der vorteil ist, dass so aufgaben von boinc gemacht werden könnten, die vorher nicht möglich waren, weil alles über den boinc-server geht und die clients sich nichtgegenseitig sehen und nur im prinzip über den boinc-server zusamen eine grosse aufgabe lösen.
für lokalen einsatz wären dann cfd rechnungenmöglich, weil alle rechner lan-kabel hätten oder gar noch schneller angebunden sind, übers internert wären dann weniger traffic-intensive aufgaben möglich.
aber es wäre immernoch schneller, als würde man zentral über den boinc-server gehen.

ich hoffe, dass war nachvollziehbar beschrieben, was in meinem kopf rumschwirrt. :D

und ich hoffe, dass wenn ARDN bald läuft es einen programmier-könner geben wird, dem man dieses als "auftragsarbeit" machen lassen könnte. also so eine art P2P Instant Grid für DC als diplomarbeit.

fragen sind immer gerne gesehen! Traut sich das jemand von euch zu umzusetzen?

NACHTRAG:
zur besseren übersicht. das sollen nun node-groups sein, in der eine teil WU gerechnet werden. innerhalb einer node-groupe sind dann alle springer-clients, und nur die ersten liefern das ergebnis in den validator, der dann hier in diesem beispiel das ergebnis zum master-node schickt. dort werden dann alle teil-WU-ergebnisse abgewartet, diese wieder zusammengesetzt und für den nächsten iterationsschritt an die nodegroups zurückgeschickt.
Bild

Uploaded with ImageShack.us
http://www.hdtvtotal.com | Your European Total Source To HDTV!
Bild

Benutzeravatar
mxplm
Partikel-Strecker
Partikel-Strecker
Beiträge: 966
Registriert: 14.09.2009 13:56
Wohnort: Bielefeld

Re: Verständnissfrage: Unabhängige Simulation

#6 Ungelesener Beitrag von mxplm » 17.09.2010 19:35

-horn- hat geschrieben:...muss sicher gestellt werden, dass bei einem verlust eines clients seine aufgabe ein anderer übernimmt. deswegen stelle ich mir da vor, dass immer mehrere clients dieser gruppe das selbe teil-WU rechnet und wer als erstes fertig ist darf sein ergebnis den anderen clients übersenden. die langsameren brechen dann ab, und bekommen neue ergebnisse für den nächsten schritt.
Bei echten Clusteraufgaben kommunizieren die Nodes ständig miteinander. Ein großer Teil der Berechnungen von Node1 hat Einfluss auf die Berechnungen von Node2...NodeN. Die Daten werden ständig übertragen. Nehmen wir einen einfachen Fall: 4 PCs, jeweils 2 rechnen zwecks Ausfallsicherheit den selben Teil der Simulation. Node1 müsste seine Daten dann an Node3 und Node4 schicken, weil die ja beide den Input brauchen. umgekehrt bekommt z.B. Node3 ständig Daten von Node1 und von Node2, und zwar die selben Daten zu unterschiedlichen Zeiten. All das müsstest du beachten und koordinieren. Wenn nur Zwischenstände zwischen den Nodes ausgetauscht werden müssten, könnte man auch normal mit BOINC arbeiten (Output einer [validierten] WU = Input einer neuen WU).

Außerdem wird wie du schon sagst der Traffic zum Flaschenhals. Und die jeweils in der Gruppe langsameren PCs werden >=80% der Berechnungen verwerfen, weil ein anderer sie schneller hatte. Es wird immer mindestens doppelt so viel gerechnet, wie nachher gebraucht wird. Inkl. Quroum (2 als Beispiel) müsste jede WU dann also 4 mal gerechnet werden, um zu einem validen Ergebnis zu kommen. Fehlerfälle machen es dann noch schlimmer. Irgendwann ist ein Cluster vielleicht doch ökonomischer als BOINC. Wir möchten Forschung mit DC unterstützen, aber eben nicht um jeden Preis. Aufwand von Implementierung und Betrieb wären vermutlich um Größenordnungen höher als bspw. schon bei RNA World. Aktuell ist es in meinen Augen nicht sinnvoll, Clusterarbeit mit BOINC erledigen zu wollen, zumindest nicht über das Internet und mit solch heterogenen Hosts.

BOINC kommt mit bestimmten Voraussetzungen an die verwendete Software. Und die Anforderung, dass die Aufgabe in viele kleine, separat berechenbare Stücke teilbar sein muss, hat nichts damit zu tun, dass die Entwickler zu wenig Zeit hatten oder zu faul waren, sowas wie einen Clustermodus zu implementieren. Es hat mit der Umgebung zu tun, in der BOINC eingesetzt wird, und das ist eben das Wild Wild Internet.
:Wiki-Benutzerseite: (Über mich)
:fold.it: (Helfen durch Zocken)

-horn-
Stromkosten-Ignorierer
Stromkosten-Ignorierer
Beiträge: 1053
Registriert: 21.06.2009 19:04

Re: Verständnissfrage: Unabhängige Simulation

#7 Ungelesener Beitrag von -horn- » 19.09.2010 12:38

moien,

ich behaupte auch nicht (mehr), dass die boinc programmierer fiese möp sind, weil die das nicht einbauten oder einbauen wollen ;).
ich denke halt nur, dass es bei immer schnelleren internetanschlüssen und beim einsatz im lan das sicherlich ein guter zusatz ist. dass man leute mit 56k modem nur bedingt dazu gebrauchen kann sagte ich bereits, aber für alles bessere gibt es sicherlich eine quality of connection entscheidung, die man dem system beibringen kann, welcher user man zulässt und wie man diese gruppen zusammenstellt und organisiert.
und es könnte meiner meinung nach levels geben (von besten zu schlechtesten) wie lokaler cluster-scsi-> lokaler cluster lan -> zwei cluster über highspeed internet -> internet grid und das team entscheidet, wie sich das für die nutzen lässt.
es gibt simulationen, die brauchen nur wenige austauschdaten und dennoch heftige rechenresourcen.

ich muss mir ja für meine simulation auch gedanken machen, was rechenbar ist und was nicht und öfters kompromisse eingehen. dawäre dann eine bewertungsgrenze, wie viel traffic die erzeugen und welches netz-level das dann noch unterstützt.

ich habe für ARDN nun 3 absagen, weil die deren aufgabe gerade nicht in zig kleine teilaufgaben spalten können. denen würde ich gerne eine alternative anbieten, dass die dann vielleicht nicht übers internet rechnen lassen können, aber dafür in deren eigenen vier wenden, wo 100mbit lan standard ist und genügend sektretärinnen/sekretär PCs öfters unbenutzt rumstehen.

grüße,

Andreas
http://www.hdtvtotal.com | Your European Total Source To HDTV!
Bild

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

Re: Verständnissfrage: Unabhängige Simulation

#8 Ungelesener Beitrag von yoyo » 19.09.2010 16:36

Ich stimme da im wesentlichen mxplm zu, Boinc ist nicht für Clusteraufgaben geeignet. Die Latenzzeiten sind viel zu groß, die Rechner zu inhomogen oder gar mehrere Tage nicht Online.
Wenn dort irgendwo in einem lokalen LAN Rechner mit schnellem Anschluß für Clusteraufgaben geeignet sind, dann sollen sie halt in ein Cluster eingebunden werden. Aber Boinc dafür zu vergewaltigen halte ich nicht für geeignet.
yoyo
HILF mit im Rechenkraft-WiKi, dies gibts zu tun.
Wiki - FAQ - Verein - Chat

Bild Bild

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

Re: Verständnissfrage: Unabhängige Simulation

#9 Ungelesener Beitrag von Michael H.W. Weber » 19.09.2010 17:00

yoyo hat geschrieben:Wenn dort irgendwo in einem lokalen LAN Rechner mit schnellem Anschluß für Clusteraufgaben geeignet sind, dann sollen sie halt in ein Cluster eingebunden werden. Aber Boinc dafür zu vergewaltigen halte ich nicht für geeignet.
Doch. Es muß eben ermöglicht werden, dass ein bestehender Cluster in BOINC gezielt adressiert werden kann (wie auch gezielte OS-Adressierung, die ich seit über einem Jahr vermisse). Ich denke auch, Sztaki Desktop Grid hat das längst erreicht. :wink:

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
yoyo
Vereinsvorstand
Vereinsvorstand
Beiträge: 8045
Registriert: 17.12.2002 14:09
Wohnort: Berlin
Kontaktdaten:

Re: Verständnissfrage: Unabhängige Simulation

#10 Ungelesener Beitrag von yoyo » 19.09.2010 17:17

Michael H.W. Weber hat geschrieben:
yoyo hat geschrieben:Wenn dort irgendwo in einem lokalen LAN Rechner mit schnellem Anschluß für Clusteraufgaben geeignet sind, dann sollen sie halt in ein Cluster eingebunden werden. Aber Boinc dafür zu vergewaltigen halte ich nicht für geeignet.
Doch. Es muß eben ermöglicht werden, dass ein bestehender Cluster in BOINC gezielt adressiert werden kann (wie auch gezielte OS-Adressierung, die ich seit über einem Jahr vermisse). Ich denke auch, Sztaki Desktop Grid hat das längst erreicht. :wink:

Michael.
Sztaki hat das nicht erreicht. Die lassen ClusterJobs im Cluster laufen, nicht unter Boinc.
yoyo
HILF mit im Rechenkraft-WiKi, dies gibts zu tun.
Wiki - FAQ - Verein - Chat

Bild Bild

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

Re: Verständnissfrage: Unabhängige Simulation

#11 Ungelesener Beitrag von Michael H.W. Weber » 19.09.2010 17:27

Schade. Ich dachte, die haben da eine globale Verwaltung für genau solche Probleme/Anwendungen aufgebaut.

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
yoyo
Vereinsvorstand
Vereinsvorstand
Beiträge: 8045
Registriert: 17.12.2002 14:09
Wohnort: Berlin
Kontaktdaten:

Re: Verständnissfrage: Unabhängige Simulation

#12 Ungelesener Beitrag von yoyo » 19.09.2010 17:29

Sie entscheiden lediglich, ob sie den Job bei Boinc einspeisen oder ins Cluster.
yoyo
HILF mit im Rechenkraft-WiKi, dies gibts zu tun.
Wiki - FAQ - Verein - Chat

Bild Bild

Antworten

Zurück zu „Hintergrundinfos zu Verteiltem Rechnen“