Beowulf oder nicht Beowulf?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Shilong
Beiträge: 266
Registriert: 21.05.2003 19:12:37
Wohnort: Oensingen, Schweiz
Kontaktdaten:

Beowulf oder nicht Beowulf?

Beitrag von Shilong » 15.10.2005 22:14:14

Hi folks!

Ich möchte hier keine Detailfragen stellen (die kommen später), ich brauche im Prinzip nur einen Tritt in den Hintern :)

Also, folgendes Szenario: Ich habe diese Woche einen Kollegen zu Debian "migriert" und der kommt jetzt nicht mehr davon los (kenne ich...). Eines Tages kommt der zu mir und sagt, er habe gestern da etwas über Cluster gelesen, ob ich etwas übrige Zeit hätte....

Wir bauen jetzt also einen Cluster.... Die Antwort auf meine Frage, was wir denn mit dem Cluster anstellen, wenn er mal läuft lautete wie folgt: "Hmmmm, we could take a picture, write our names on it and put it on the internet..." Ich denke das charakterisiert unser Projekt verständlich genug. Es geht vor allem darum, etwas zu lernen.

Hardwaremässig stellen wir uns das etwa so vor: http://spinlab.wpi.edu/Projects/Cluster ... llsize.jpg

Ich habe mich die letzten Tage mal etwas eingelesen, mich über openMosix, Beowulf und Co versucht schlau zu machen.
Ich versuche nun mal mein Wissen hier aufzulisten und hoffe auf Korrekturen, Denkanstösse etc:

+ Ich kann unsere zwei WS via openMosix verkuppeln und die Prozesse werden verteilt. Wenn ich aber ein einzelnes Bild rendern will, bringt mir das erst mal nichts, sondern nur wenn ich dazu noch ein Video schauen möchte.

+ Ich kann zwei Server via Heartbeat verkuppeln, den einen mit dem Vorschlaghammer bearbeiten und der User merkt nichts von dem Ausfall weil der andere die Arbeit übernimmt.

+ Ich kann zwei Server mit LVS verkuppeln, auf den einen die DB und auf den anderen den Rest packen und der User denkt es sei beides auf dem selben Server (also LSV ist eigentlich kein Cluster).

+ Ich möchte einen High Performance Computing Cluster bauen. Das kann dann so aussehen wie auf dem Bild und nennt sich Beowulf.

+ Wenn der Beowulf dann tatsächlich läuft, kann ich den auch wie eine Node mit openMosix mit unseren WS verbinden?

Sodele...und nun die Frage: Richtig oder falsch?

Für einen Beowulf habe ich mal folgendes gefunden: http://www.phy.duke.edu/~rgb/Beowulf/be ... index.html

Ich habe das mal zu lesen begonnen, bin aber noch nicht über die Grundlagen hinausgekommen, welche recht gut beschrieben sind. Kennt eventuell jemand etwas debian-spezifisches für die Softwarebelange?

Besten Dank
Zuletzt geändert von Shilong am 18.10.2005 00:53:44, insgesamt 1-mal geändert.

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 16.10.2005 08:58:46

+ Ich kann unsere zwei WS via openMosix verkuppeln und die Prozesse werden verteilt. Wenn ich aber ein einzelnes Bild rendern will, bringt mir das erst mal nichts
so ist es - bei open mosix migrieren prozesse am cluster hin und her - Beowulf sind HPC bei denen eine parallel Rechenaufgabe gelöst wird - d.h hier hast du EINEN Prozess
+ Ich kann zwei Server via Heartbeat verkuppeln, den einen mit dem Vorschlaghammer bearbeiten und der User merkt nichts von dem Ausfall weil der andere die Arbeit übernimmt.
du könntest anstatt dem hammer auch kreativere wege beschreiten *grins* - hierbei handelt es sich um einen HA (High Availability Cluster)

there a diffent kind's of clusters out there:

HPC
HA
so called Load Balancer
siehe alles unter Punkt 1
http://en.wikipedia.org/wiki/Computer_cluster
+ Ich kann zwei Server mit LVS verkuppeln, auf den einen die DB und auf den anderen den Rest packen und der User denkt es sei beides auf dem selben Server (also LSV ist eigentlich kein Cluster).
typischer Load Balancing Cluster - kommt bei großen Web Server Farmen zum Einsatz
Ich möchte einen High Performance Computing Cluster bauen. Das kann dann so aussehen wie auf dem Bild und nennt sich Beowulf.
Beowulf gehört zur gruppe der HPC's - er definiert diese nicht - gibt mehrere HPC projekte
+ Wenn der Beowulf dann tatsächlich läuft, kann ich den auch wie eine Node mit openMosix mit unseren WS verbinden?
Sinn :?:

Ihr Jungs seht aus als ob ihr es Ernst meint - SUPER - das Beowulf tutorial kannst du immer noch online lesen. Anfangen solltet ihr damit
http://www.springeronline.com/sgw/cda/f ... -0,00.html
exactly fit's your needs :wink:

aja - HW mässig würde ich auf tyan und amd opteron setzen

markus

Shilong
Beiträge: 266
Registriert: 21.05.2003 19:12:37
Wohnort: Oensingen, Schweiz
Kontaktdaten:

Beitrag von Shilong » 17.10.2005 15:08:02

meandtheshell hat geschrieben: du könntest anstatt dem hammer auch kreativere wege beschreiten *grins*
Naja, es ist schwierig, eine Prägung wegzubekommen...ich habe meine ersten pc-schritte auf Windows gemacht und habe manchmal immer noch Mühe, die antrainierten Reflexe zu unterdrücken.... :D

Danke für den Link, scheint zu sein was wir brauchen. Mal schaun obs sowas auch in Englisch gibt - mein amigo hier spricht nur Spanisch und Englisch (ahja, übrigens: Grüsse ans Forum aus Uruguay :D)

Den HW-Tip werde ich mal ins Gespräch bringen. Da wir beide keine Kohle haben, bauen wir das Teil vermutlich mit etwas älteren Elementen - sein Cousin hat einen HW-Shop, mal schauen was wir da kriegen können....

Benutzeravatar
Frosch6669
Beiträge: 163
Registriert: 02.07.2003 23:16:49
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Hamburg
Kontaktdaten:

Moin

Beitrag von Frosch6669 » 27.10.2005 19:54:41

Moin,
als ich diesen post gelesen habe überlegte ich mir auch ein beowulf cluster zu bauen, habe da über 20 identische celeron 333mhz rechner. Meine Frage dich sich mir immer wieder stellt ist folgende:
wenn ich jetzt das diskless modell bevorzuge (strom und arbeit sparen) ist es dann so, dass ich mich an den einen diskrechner setze und dort z.B. einen Kernel kompilieren kann, oder eine dvd rippen oder einen film in echtzeit in xvid aufnehmen kann mit der gebündelten rechen und speicherleistung. sieht es für mich dann so aus als säße ich an einem single super computer, auf dem ich alles super schnell rechnen lassen kann?

bitte um antwort
kp aber vieleicht ist meine frage auch blöd
mfg frosch

hennes@debian
Beiträge: 465
Registriert: 18.01.2005 02:11:40
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz - Kanton St. Gallen
Kontaktdaten:

Beitrag von hennes@debian » 28.10.2005 09:54:35

Ich hab mal meine zwei und der Rechner vom Bruder via openmosix gekoppelt. Faszit: Das austauschen der Prozesse benötigt mehr Zeit als das ich mit den zusätzlichen CPU's gewinne. Kernel compillieren dauerte zimlich gleich lange.
Als zweiter Versuch habe ich mir ein Programm geschrieben, das eine beliebige Anzahl Prozesse generiert, die eine gewisse Anzahl sinlose Berechnungen machen. Hier war der Geschwindikeitsansteig bei ca. 6 Prozessen am grössten und zimlich genau drei mal so schnell. Hier muss auch wenig übers Netz übertragen werden und die Lebensdauer der Prozesse ist sehr gross.
Ich hatte aber kein gbit-Ethernet.

Cluster sind vor allem bei Cluster optimierten Programmen gut, wie zum beispile distcc beim Compillieren. Auch die meisten 3D-Animationsprogramme haben ein clusteringsystem. Auf jedem PC wird ein Bild gerendert und dann das ganze zusammengesetzt. MP3 ripen geht auch gut, jeder Rechner kann ein stück von einer CD comprimieren. Für Filme gibts soviel ich weiss auch Programme die sie aufspliten, auf jedem Computer ein teil komprimieren und dann wider zusammensetztn. Diese arbeiten alle nicht mit Openmosix, sondern tauschen die Jobs selbständig aus. Dadurch enfällt viel overhead.

Für Filme schaunen nützt das ganze nichts, 1. ist es ein Prozess und 2. müssen zu viele Daten übers nezuwerk ausgetauscht werden.

@Frosch6669:
Aus Echtzeit wird bei Bewoulf clustern nix, die Netzwerkantwortzeit beträgt normalerweise 5-10ms... Beim Gamen auch nix, zu viele Daten und nur 2 Prozese. (XServer und Game) Hier könnte man mal xforwarding über GBit-Ethernet versuchen, auf dem einen PC läuft das Game und auf dem anderen der XServer.

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 28.10.2005 10:10:01

@frosch
1) lies das buch - siehe link oben
2) ein cluster ist wie ein maßanzug - dieser wird exakt auf einen fall hin angepasst und konzipiert - DANN UND NUR DANN ist das ergebniss überdiemassen zufriedenstellend

ein massanzug für einen 70kg Mann gemacht sieht bei einem 120kg Footballspieler sicher nicht gut aus

solch wesentliche dinge werden immer übersehen - das ist aber die erste frage die man sich beantworten muss - darum auch der verweis auf das buch

markus

Benutzeravatar
Frosch6669
Beiträge: 163
Registriert: 02.07.2003 23:16:49
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Hamburg
Kontaktdaten:

vielen dank..

Beitrag von Frosch6669 » 28.10.2005 13:37:04

@ meandtheshell
das buch habe ich mir in einer hamburger fachbuchhandlung angesehen, es ist sehr interessant, aber etwas theoretisch.
aber es ist zu TEUER ich kann mir als student nicht unbedingt leisten ein buch für 50 euro zu kaufen.
@ hennes@debian
ok, also macht es für mich keinen sinn, da die programme die ich nutze, normale anwendungen, nicht schneller laufen.

nächste frage, wie bastel ich mir aus mehreren rechern sonst ein quasi supercomputer der meinen bedürfnissen entspricht?

mfg
frosch

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Re: vielen dank..

Beitrag von meandtheshell » 28.10.2005 13:47:34

Frosch6669 hat geschrieben: das buch habe ich mir in einer hamburger fachbuchhandlung angesehen, es ist sehr interessant, aber etwas theoretisch.
es wird darin notwendiges basis wissen vermittelt - nicht mehr und nicht weniger
aber es ist zu TEUER ich kann mir als student nicht unbedingt leisten ein buch für 50 euro zu kaufen.
dann gehst du zu dem dafür zuständigen menschen in deiner Universitäts Bibliothek und bittest ihn das Buch zu kaufen
BTW - du sagst du hast 20 celerons herumstehen - einen beowulf kann man auch mit 10 machen - der verkauf der 10 anderen sollte genug finanzen frei machen zumal du switches usw. brauchen wirst die weit mehr als 50 euro kosten
seltsam die sache ...
@ hennes@debian
ok, also macht es für mich keinen sinn, da die programme die ich nutze, normale anwendungen, nicht schneller laufen.
nächste frage, wie bastel ich mir aus mehreren rechern sonst ein quasi supercomputer der meinen bedürfnissen entspricht?
eines verstehe ich nicht - die fragen die du stellst sind eben so allgem. und basis wissen auf diesem gebiet das es nicht sehr viel sinn macht sie zu stellen ohne zu wissen welche requirments man hat - der grund zu faul zu sein ein buch zu lesen ... also wenn es das ist dann kann dir sonst auch keiner helfen - nicht das du das falsch verstehst aber ERST WENN du GENAU WEISST was du machen willst kannst du dir über den cluster gedanken manchen - DAFÜR ist es aber notwendig grundlagenwissen zu haben DARUM nocheinmal: beginne damit ein buch zu lesen (nicht nur darin blättern)

markus

hennes@debian
Beiträge: 465
Registriert: 18.01.2005 02:11:40
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz - Kanton St. Gallen
Kontaktdaten:

Re: vielen dank..

Beitrag von hennes@debian » 28.10.2005 14:18:48

@ hennes@debian
ok, also macht es für mich keinen sinn, da die programme die ich nutze, normale anwendungen, nicht schneller laufen.
nächste frage, wie bastel ich mir aus mehreren rechern sonst ein quasi supercomputer der meinen bedürfnissen entspricht?
Kommt auf deine Bedürfnisse an... Aber ich denke, nachdem was du vorher geschriben hast, ist es nicht möglich... Vür einen normalbenutzter sind heutzutage Computer mit mehr als 2 Prozessoren sowiso sinnlos, da meist nicht mehr als ein Prozess den PC wirklich beansprucht. D.h. ein Prozessor voll ausgelastet, der andere führt die anderen Prozesse, die weniger CPU brauchen, aus. Momentan habe ich ein Dual PIII 860Mhz. Ausser beim Compillieren (make, 3 Jobs) ist die Load bei jeder Anwendung ca. CPU0=100% CPU1=20-60%. Bei 64 CPU wäre es dann CPU0=100% CPU1-64=1% und die Performance wäre ca. gleich.

Das Problem: ein Prozess kann nur auf einer CPU laufen... Aufteilung eines Prozesses auf mehrere CPU's ist nicht möglich...

Wen du einen Schrank zügeln willst, bist du mit einem Auto und einem Fahrer genau gleich schnell wie mit 100. Wenn es aber 100 Schränke sind bist du mit 100 Autos und 100 Fahrer fast 100 mal so schnell... Ein bisschen Zeit geht noch bei der Organisation drauf ;)

Sehr warscheindlich werden in Zukunft die Programme mehr Multithread (D.h. mehrere Prozesse) Programmiert, da nun dualCore CPU's rausgekommen sind. Aber das wird noch dauern.

Benutzeravatar
Frosch6669
Beiträge: 163
Registriert: 02.07.2003 23:16:49
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Hamburg
Kontaktdaten:

so

Beitrag von Frosch6669 » 31.10.2005 20:45:29

vielen dank für die antworten
das buch bei der unibibliothek bestellen zu lassen ist ne sinnvolle idee.
vieleicht macht es sinn damit ich nächstes mal nicht in so eine "" fallte tappe.......
Aber da es ja so zu sein scheint das es sich für einzel prozesse (vielen dank für das auto beispiel) nicht zu lohnen scheint macht das auf einer ca 80% workstation nicht viel sinn.
ich werde mal sehn wenn ich zeit finde werde ich das buch lesen.
leider ist man als wiing aber sehr beschäftigt
ach ja und die uni hamburg ist pleite, vieleicht sieht es in " vienna " mit dem bildungssystem ja besser aus
mfg
a.sigari

herrhannes
Beiträge: 156
Registriert: 30.04.2006 10:25:32
Kontaktdaten:

Beitrag von herrhannes » 04.11.2006 22:51:26

Wie kann man denn dann zB einen Webserver auf einen Cluster aufteilen, um ihn zu beschleunigen?
So dass auch zB auf alten P3-rechnern eine mySQL-Datenbank eine ordentliche Geschwindigkeit erreicht?

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 04.11.2006 23:01:03

herrhannes hat geschrieben:Wie kann man denn dann zB einen Webserver auf einen Cluster aufteilen, um ihn zu beschleunigen?
Dafür nimmt man http://www.linuxvirtualserver.org

Den MySQL Cluster (dieser hat mit Linuxvirtualserver nicht unbedingt was zu tun da die Dinge getrennt voneinnader gesehen werden können) macht man mit MySQL selbst - MySQL ist Cluster fähig.

BTW - bitte einen neuen Thread aufmachen - dieser ist uralt.

markus

Antworten