Cluster
lima-city → Forum → Heim-PC → Software
arbeiten
aufwand
befehl
beginne
berechnen
buchstabe
cluster
frage
gans
guter punkt
mappe
melde
mus
nutzen
sagen
server
vergleich
verwenden
windows
zeichen
-
Moin moin erstmal
da ich gans gerne für unterschiedliche gams mappe (und diese dan berechnen) wolte ich mal fragen, welches der 3 aufgefürten dinge ich am sinigsten dafür nutzen könnte
Beowulf
Open Mosix
Kerrighed
Dann stelt sich dan die frage wie instalire ich das eigentlich. Ich habe momentan 3 Rechner die ich dafür nutzen könnte. Nur wie instalirt man so ein System? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ClusterKnoppix finde ich cooler.
Aber du installierst die OS, hängst alle Nodes an nen Verteiler, am besten noch nen DCHP dazu, nimmst MPICH oder Java (ich denke das sind die besten dafür), schreibst das Gamsmappenberechenprogramm, startest am Master den Server, auf den Nodes die Clienten, gibst den Master alle variablen und startest den Rechenvorgang.
http://www.mini-itx.com/projects/cluster -
Moin moin erstmal
da ich gans gerne für unterschiedliche gams mappe (und diese dan berechnen) wolte ich mal fragen, welches der 3 aufgefürten dinge ich am sinigsten dafür nutzen könnte
Kannst du dich ein wenig besser ausdrücken? Was ist \"gams mappe\"? Ein effizienter Cluster ist ein mega Aufwand und bevor man her geht und diesen Aufwand betreibt, ist es vlt. sinnvoller einen von der Hardware guten PC zu kaufen, denn dies bringt erstmal mehr als wenn man 2 oder 3 schlechte PCs als Cluster verbindet. -
nunja ob das ganze einen sin später hat ist erstml dahingestelt. Sprich es eigentlich erstmal egal was der Cluster später macht und ob das überhaubt sin ergibt
Ich werde in wol für JK3 maps nutzen
sprich map in bsp umwandeln. -
Es ist im grunde eh sehr einfach. Du brauchst nur alle Computer vernetzen, das Programm schreiben und es ausführen.
Wichtig sollte dabei nur sein dass neue Berechnungen von alten innerhalb eines Zeitfensters nicht abhängig werden.
Eine Zahl immer um 1 zu addieren würde in einen Cluster nicht viel bringen. Wenn der Head einen Node den Befehl gibt, wartet bis er sie wieder empfängt und dann weiterleitet bringt das höchstens noch Verzögerungen, als wenn er sie selbst rechnen würde.
Deshalb solltest du Dinge nehmen die Linear gehen, und in dem man in der Zukunft quasi schon sagen kann was für eine Rechnung kommen wird. Dann kannst du sie schön in Portionen aufteilen.
Ein Beispiel:
Der md5-Hash von \"u\" ist \"7b774effe4a349c6dd82ad4f4f21d34c\".
Du willst den Hash bruten, hast 2 Nodes + den Head, und suchst lowalpha_1-1
Du gibst den Head die Befehle.
Der Head:
Wecke Nodes per Netzwerkkarte auf. (Glaube die Funktion heißt PXI bzw. Wake-on-on-LAN oder so.)
Sende Node01 lowalpha_1-1 1² 2³
Sende Node02 lowalpha_1-1 2² 2³
Node01:
lowalpha_1-1 enthält 26 Zeichen.
Es gibt 2³ Nodes, ich bin der erste².
26 / 2 = 13.
Ich habe 13 Buchstaben abzuarbeiten.
Da ich der erste bin beginne ich bei Buchstaben 0 * 13 + 1. (1)
Der 1. Buchstabe ist \"a\".
Errechne md5(\"a\") -> 0cc175b9c0f1b6a831c399e269772661 -> Vergleiche 0cc175b9c0f1b6a831c399e269772661 - 7b774effe4a349c6dd82ad4f4f21d34c
Errechne md5(\"b\") -> 92eb5ffee6ae2fec3ad71c777531578f -> Vergleiche 92eb5ffee6ae2fec3ad71c777531578f - 7b774effe4a349c6dd82ad4f4f21d34c
usw.
Wärenddessen...
Node02:
lowalpha_1-1 enthält 26 Zeichen.
Es gibt 2³ Nodes, ich bin der zweite².
26 / 2 = 13.
Ich habe 13 Buchstaben abzuarbeiten.
Da ich der erste bin beginne ich bei Buchstaben 1 * 13 + 1. (14)
Der 14. Buchstabe ist \"n\".
Errechne md5(\"n\") -> 7b8b965ad4bca0e41ab51de7b31363a1 -> Vergleiche 7b8b965ad4bca0e41ab51de7b31363a1 - 7b774effe4a349c6dd82ad4f4f21d34c
Errechne md5(\"o\") -> d95679752134a2d9eb61dbd7b91c4bcc -> Vergleiche d95679752134a2d9eb61dbd7b91c4bcc - 7b774effe4a349c6dd82ad4f4f21d34c
usw.
Im Endeffekt wird der erste Node nichts finden, dass den Head Node melden und wieder runterfahren. Der 2. Node wird rausfinden dass \"7b774effe4a349c6dd82ad4f4f21d34c\" u ist, das den Head Node melden und runterfahren. Der Head Node wird dann irgendwie dir das mitteilen.
Am besten wäre es wohl für die Aufgabe Java zu verwenden, vor allem weil es plattvormunabhängig ist und du anfangs Windows und später Linux verwenden kannst. Dürfte zwar keinen sonderlichen Unterschied machen, aber Linux hat dafür einfach mehr Style.
Aber trueweb dürfte wohl recht haben. Du hast hier wohl die Wahl zwischen 775 und Mini-ITX-Boards. 775 sind leistungsstark, dafür ist der Stromverbrauch zu hoch um sie effizient zu clustern. Mini-ITX haben zwar das viel bessere W/FLOPS-Verhältniss, aber sie sind im allgemeinen schwächer, das heißt du müsstest mehr Clustern um die gewünschte Leistung zu bekommen, was die Anschaffungskosten wieder in die Höhe treiben würde.
Anderst wäre es wenn du kommerziellen Nutzen hättest (z. B. als Rendnerfarm), aber da dass wohl nicht der Fall ist bringt eine 333 MHz-CPU wohl mehr als jedes Cluster was du dir leisten könntest. -
Ich weis irgentwie nicht gans genau was du mir amit sagen wilst... Auserdem rätzel ich was ich mit md5 anstellen soll
-
Ich weis irgentwie nicht gans genau was du mir amit sagen wilst... Auserdem rätzel ich was ich mit md5 anstellen soll
Ich vermute eher, das du nicht sooo genau weisst, was \"Clustern\" ist. Meinst du, du könntest einfach die 3 PCs verbinden, sodass diese ab besten virtuell einfach einen PC \"machen\" und so einfach 3mal so schnell sind!?!
Das geht nicht so einfach und lol4me hat erklärt, wie Cluster wirklich aufgebaut sind und wie sie arbeiten, auch wenn ich die Idee Java einzusetzen natürlich doof finde, obwohl die Betriebssystemunabhängigkeit sicher ein Guter Punkt ist ;)
Naja, was solls... zum Experimetieren kannste mal was mit Linux Probieren und dann mit VirtualBox oder besser XEN ein Windows auf dem Host Emulieren, aber ich vermute, das das eher Performance frisst, als welche bereitstellt... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage