Folding@home mit Computercluster

Seven

Freizeitschrauber(in)
Moin,

ich hab nun zwei Ideen für meine Facharbeit in Informatik. Die eine davon dreht sich um Supercomputer. Das Besondere an meiner Schule ist aber, dass ein Eigenanteil in der Facharbeit erwartet wird. Also zum Beispiel ein Experiment oder die Auswertung einer Umfage.

Nun dachte ich mir bauste doch einfach einen "Supercomputer" also einen Computercluster. Da ich nun noch ein Programm benötige mit dem man die Leistungssteigerung messen kann, bin ich auf F@H gekommen.

Das Cluster würde aus den Dualcore PCs des Computerraums meiner Schule bestehen.

Nun meine Fragen:


  • Ist sowas mit F@H möglich?
  • Linux wäre da wohl Pflich oder? Läßt sich sowas auch mit Windows realisieren? (2000 wäre hier die einzige Möglichkeit[denke ich])
  • Reichen 100Mbit NICs aus?
danke schon mal für die Antowrten.
 
Ist mit Folding leider in der Form nicht so möglich. Die Programmplattform ist darauf nicht ausgelegt.
 
Sven, solltest du programmieren können, kannst du auch relativ einfach mit MPI einen paralleles Programm schreiben, mit dem du dann zeigen kannst, wie eine Aufgabe schneller erledigt wird. Ist aber schon einiges an Aufwand sich dort rein zu arbeiten, und etwas mehr als eine einfache Wärmeverteilung oder Matrixmultiplikation wirst du nicht wirklich hin bekommen.

Ethernet ist für solche Zwecke auch eher hinderlich. Die Latenzen sind einfach VIEL zu hoch.
 
@Skysnake:

Programmieren kann ich zwar etwas aber das was du da schreibst ist dann doch ein wenig abschreckend. Ich glaube ich bleibe einfach bei meinem ersten Thema. ;)
 
Ach MPI ist nicht wirklich schwer. Du musst die Sache ja nicht performant machen. PThreads kannst du dir ja auch sparen.

In 2-3 Wochen kann man sich da die grundlegenden Sachen wirklich gut aneignen, wenn man von C/C++ etwas Ahnung hat. Man sollte aber halt auf jeden Fall etwas einfaches wie eine Hitzeverteilung auf einer Platte machen.

Ohne integrierte Visualisierung hat man das gut an einem Tag programmiert.
 
Von C(++) hab ich keine Ahnung. ;) Ich kann nur Java :D

Was meintest du eingedlich damit, dass bei Ethernet die Latenzen zu hoch sind?
 
Er meinte damit, dass Ethernet ein deutlicher Flaschenhals wäre. Je nach Anwendung ists aber auch möglich, die Daten häppchenweise auf die einzelnen Knoten zu verteilen, so läuft es jedenfalls beim verteilten Kompilieren - jedes involvierte System zieht sich seinen Chunk, bearbeitet ihn, schickt ihn dann an das zentrale System zurück und so weiter.

MfG Jimini
 
Naja, wenn du eine Nachricht von PC A nach PC B und wieder zurück schickst, dann dauert es einfach eine Zeitspanne X bis die Antwort bei PC A da ist. Naja und Ethernet braucht da halt recht lange. Andere Technologien wie Myrinet oder Infiniband sind da deutlich schneller. Ich glaub ein Faktor 10 rum war der Unterschied. Zudem haben die heutzutage 40 GBit/s an Übertragungsrate im Gegensatz von 100/1000 MBit/s die man in einem normalen PC hat.

Wenn du jetzt ein Programm schreibst, das auf mehreren PCs läuft, müssen die normal Kommunizieren, und wenn die Kommunikation jetzt länger dauert als die PCs zwischen den Synkronisationspunkten an Arbeit haben, dann bleiben die PCs halt eine gewisse Zeitspanne Y stehen und warten darauf das die Nachrichten ankommen. Tja und das drückt halt massiv die Leistung. Daher lohnt es sich auch hunderte/tausende von € für die teuren Myrinet/Infiniband etc. Netzwerkkarten auszugeben.

Btw. Folding@home ist meines Wissens nach auf SMP Maschinen beschränkt. Daher kannst du nicht einfach X beliebige Rechner zusammen schließen.

Wenn du Java kannst, ist der Umstieg auf C/C++ nicht sooo schwer. Sehr viele Sachen sind sehr ähnlich. Man hat mit C/C++ eben nur noch ein paar Möglichkeiten mehr, muss sich dann aber auch um einige Sachen selbst kümmern, wie Speicher allozieren und wieder frei geben.
 
Er will F@H auf einem Cluster laufen lassen oder ? Soweit ich weiß kann man mehrere ESX Instanzen konsolidieren und eine VM drüberziehen , also eine Mini-Cloud erstellen um darauf mit z.B. Linux zu falten.
 
Du könntest dir auch mal Rocks Clusters und die Sun Grid Engine anschauen. Allerdings ist hier Linux tatsächlich Pflicht.

Und wenn du noch viele Rechner suchst, dann schau dir vielleicht mal Amazon EC2 an.
 
Er will F@H auf einem Cluster laufen lassen oder ? Soweit ich weiß kann man mehrere ESX Instanzen konsolidieren und eine VM drüberziehen , also eine Mini-Cloud erstellen um darauf mit z.B. Linux zu falten.

ja, das geht ;) aber da braucht man unter anderem ein SAN und ESX kann man auf solchen 0815 PC's leider nicht installieren :(
 
ESX bzw ESXi funktionieren nur wirklich auf zertifizierter hardware...
professionelle vm lösungen kosten net umsonst so viel...
 
und ist hier schon mal ne erkentniss gewonnen worden, wie das problem gelöst werden kann?

@master: hast schon fortschritte gemacht?
 
Zurück