Cluster

- OCinside.de PC Forum
https://www.ocinside.de

-- Software
https://www.forum-inside.de/forums.cgi?forum=17

--- Cluster
https://www.forum-inside.de/topic.cgi?forum=17&topic=9160

Ein Ausdruck des Beitrags mit 11 Antworten ergibt bei 3 Antworten pro Seite ca. 4 DIN A4 Seiten. Das entspricht bei 80 g/m² ca. 19.96 Gramm Papier.


-- Veröffentlicht durch fuUser am 19:58 am 27. Aug. 2011

Wenn du auch noch Grafikkarten einbauen willst, dann wird es etwas schwierig.

Meistens gibt es Rack-Mountable "Workstations", die 2 Grafikkarten aufnehmen könne, aber nur ein oder 2 CPU Sockel haben
oder
Server, die zwar 4 CPUs aber keine PCIe x16 Karten aufnehmen können.

Wenn du eher mehr Hardware und weniger Service brauchst, dann kommst du meist bei Dell etwas besser weg als bei IBM, HP, Sun usw.
Leider ist das aber von Fall zu Fall so unterschiedlich, das eine generelle Empfehlung kaum zu machen ist.
Ich würde aber auf jeden Fall etwas von einer Firma kaufen, deren Namen du schon mal gehört hast. Es gibt zwar inzwischen auch Server von OEMs, die auch im Prinzip die gleiche Hardware wie von den "Großen" ist, aber wenn du in 2 Jahren ein Ersatzteil brauchst, dann siehst du alt aus.

Ansehen solltest du dir auf jeden Fall Dells neue "Precision R5500 Rack-Workstation". Sind wohl 2 CPUs und 2 Grafikkarten möglich. Musst eventuell aber noch Windows Server OS mit TerminalServer kaufen, damit mehrere Remote Desktop Verbindungen möglich sind. Dann kann jeder "auf dem Desktop" mit der Kiste was machen.


-- Veröffentlicht durch MisterY am 22:02 am 25. Aug. 2011

danke für die ausführliche antwort/hilfe

werde wohl auch auf ein multi-CPU system (irgendwelche tipps, welche da ein gutes P/L-Verhältnis haben?) setzen mit mehreren Grafikkarten und ein weiteres system als datenserver.

grüße


-- Veröffentlicht durch fuUser am 21:01 am 19. Aug. 2011

Ich glaube du verkennst die Komplexität dieser Aufgabe etwas.
Es gibt zwei Prinzipielle Ansätze für "verteiltes Rechnen":

Shared-Memory-Systeme (im Prinzip immer NUMA-Architektur), bei denen alle Rechner virtuell zu einer logischen Maschine zusammengefasst werden. D.h die Software sieht einfach nur alle CPUs und den ganzen RAM usw als wenn sie in einem Rechner stecken würden. Theoretisch kann man darauf dann ein 'normales' OS installieren und seine normalen Anwendungen laufen lassen. Für solche Systeme gibt es auch Zeug von MS, das sich mehr oder weniger wie ein normaler Windows-Server bedienen lässt.
Nachteil der ganzen Sache ist, dass die Verbindung zwischen den physischen Systemen immer zum Flaschenhals wird, sowohl in Bandbreite als auch Latenz. Wenn eine CPU in Rechner A also Daten aus dem RAM von Rechner X braucht, dann dauert der Transfer 'ewig'.
Streng genommen ist auch schon eine aktuelle Dual-Sockel Xeon oder Opteron Maschine ein NUMA-System, da der Speicher direkt an die CPUs angebunden ist, also es etwas länger dauert, wenn eine CPU an Speicher muss, der an der anderen CPU hängt. Da es aber nicht über ein klassisches Netzwerk läuft, fällt das nicht so arg ins Gewicht.
Wenn die Software also nicht für NUMA-Systeme gemacht ist, dann ist die Performance bei wirklich verteilten Systemen aber recht schlecht, meist schlechter als Ausführung auf einem einzelnen Rechner allein.
Die meisten "professionellen" Systeme arbeiten nach dem Prinzip und es gibt für (fast) jeden Zweck bereits die passende Anwendung (kommerziell wie auch teilweise open source).

Dann gibt es Nicht-Shared-Memory-Systeme, also ganz einfach eigenständige Rechner, die irgendwie zusammenarbeiten. Das macht z.B. dieses Condor, Seti@Home oder auch Google usw. Hier muss aber die Anwendung, die das System nutzen soll, speziell auf die Koordinierungssoftware angepasst werden. Außerdem muss sich natürlich auch die Aufgabe so aufteilen lassen, das die Rechner niemals Daten direkt aus der Berechnung von anderen Rechnern brauchen, die Einzelaufgaben also völlig unabhängig sind. Das wird oft von Universitäten usw eingesetzt, wenn sie sich kein NUMA-System leisten können/wollen. Dort ist es auch besser einzusetzen, da die Berechnungssoftware meist direkt an der Uni oder einer anderen mit ähnlichem System geschrieben wurde und daher  gleich dafür ausgelegt ist.

Mir scheint du hast (übertrieben gesagt) so die Vorstellung, dass du dir einfach ein paar Rechner in die Ecke stellst, da Software Y installierst und nun auf magische Weise alle möglichen Anwendungen plötzlich verteilt auf allen Rechnern läuft. Das kannst du einfach vergessen.
Wenn ihr "nicht so viel Ahnung" habt, dann gehe ich mal davon aus, dass ihr nicht eure eigenen Anwendungen schreibt und eher irgendwas "of the shelf" einsetzen wollt. Daher kommt eigentlich nur ein NUMA-System in Frage. Mit wenig Expertise, wenig Manpower, "minimal" Budget und endlichem Zeitaufwand kannst du einen Cluster aus mehreren Standardrechnern vergessen. Standardrechner rauchen dir auch schneller ab als richtige Server, besonders ohne die richtige Kühlung usw.
Die blauäugige Rechnung mit den 6TFlops kannst du auch knicken, besonders wenn sie zum Großteil aus Grafikkarten besteht. Die real nutzbare Leistung, besonders mit double precision ist weit niedriger. Auch sind die Standard-Karten sowohl im Treiber als auch in der Hardware bei GPGPU Sachen reichlich beschnitten und haben recht wenig Speicher. Nvidia und AMD wollen schließlich ihre überteuerten Quattro, FireGL, Stream usw Versionen verkaufen. Wir versuchen immer mal wieder auf 'normale' Karten umzusteigen und die sind bei gleichem "basis" Chip und Frequenzen oft nur halb so schnell...

Mein wirklich erst gemeinter Tipp ist entweder sich einer Organisation mit Know-How und Ausstattung gegen etwas Querfinanzierung anzuschließen (z.B. Universitäten, die auch meist recht offen für solche Sachen sind) oder sich vom Serverhersteller deiner Wahl ein kleines 4HE pseudo NUMA System zu besorgen. Also ein einzelner "großer" Rechner mit z.B. 4 o. 8 Sockeln. Darauf ein "klicki Bunti" OS (Linux mit X, wenn es sein muss auch Windows). Auf so einer Kiste laufen dann auch normale Multicore Anwendungen ganz akzeptabel.

Als erstes sollte dir aber ganz genau klar sein welche Anwendungen darauf laufen sollen und was für verteilte Systeme die unterstützen.

Trotzdem viel Glück mit dem Projekt :thumb:


-- Veröffentlicht durch MisterY am 0:21 am 18. Juli 2011

oh wie schade :cry:

ne war mir (leider) schon klar ;)

wäre cool, wenn ihr mir dabei ein bisschen helfen könntet, da ich wie gesagt noch nicht viel ahnung mit linux habe.

Ich sag euch mal, wofür der Cluster gebraucht werden soll:

Der soll für eine Naturforschende Gesellschaft sein und der soll Leistung für alle authorisierten Mitglieder bieten, die (z.T.) nicht wirklich viel Ahnung von Linux haben (neben mir :lol: )
Dabei soll der z.B. zum Stacken von Astronomie- oder Mikroskopbilder (das können z.T. bis zu 1000 Bilder werden - Pro Serie versteht sich. Also 1000 Bilder müssen überlagert werden), Filmbearbeitungen und klima modelle erstellen, z.T. aus historischen Aufzeichnungen (kennt da jemand ne software für die erschwinglich oder gar umsonst ist?) oder um zu Rendern oder Filme zu erstellen verndet wrden.
Eine "grafische" Oberfläche ist auf jedenfall von Nöten. also dass die sich mit ihrem oder einer Workstation "einloggen" können und ihre Rohdaten auf den Cluster verteilen können (bzw. der Cluster es von alleine verteilt). So nach dem Motto "Bilder auswählen, operation auswählen ("Stacken"), an cluster senden, cluster rechnet, gibt ergebnis auf der workstation wieder aus" wäre schon toll. Kann man den auch irgendwie so programmieren, dass der die nicht benötigte hardware deaktiviert, also IDLE stellt und dann hochfährt wenn jemand die leistung braucht? Denn ich spiele mit dem Gedanken, einen von den Servern noch zusätzlich als Web-, Backup- und Datenserver laufen lasse. Natürlich muss ich mir dann auch gedanken um die Sicherheit machen, will ja nicht, dass irgendein Kellerkind 6TFlops als Botnetz missbraucht :lol: Die drei weiteren Server/Cluster sollen nicht ans netz bzw. nur zu Fernwartungszwecken.



Die Hardware hat noch zeit, da die Naturforschende Gesellschaft noch in den Kinderschuhen steckt. Aber angepeilt wird eine rechenleistung von etwa 6TeraFlops (4* AMD Quadcore (16 Cores; ~72GFlops) + 4* HD6850 (~6000GFlops); wenn nicht gar 8 Grafikkarten). Die Zahl von Rechnern ist aufgrund des schon vorhandenen Servergehäuses auf 4 4HE begrenzt. sollte natürlich so günstig wie möglich sein.


-- Veröffentlicht durch Ino am 18:36 am 17. Juli 2011

Schau dir das mal an

Aber ich hoffe dir ist schon klar, dass das Ganze nicht so einfach ist. Da reicht es nicht Software zu installieren 2 Buttons zu drücken und das ganze läuft.


-- Veröffentlicht durch masterofavenger am 16:55 am 17. Juli 2011

Wikipedia Beitrag


-- Veröffentlicht durch MisterY am 16:15 am 17. Juli 2011

hmm was kann man mit Condor denn so alles machen? finde die Seite da etwas unstrukturiert und unübersichtlich


-- Veröffentlicht durch masterofavenger am 15:58 am 17. Juli 2011

Vor Ewigkeiten habe ich mal mit Condor nen paar Gehversuche gemacht. Lief auch mal sehr gut, aber schon 10 Jahre oder mehr her... :(


-- Veröffentlicht durch MisterY am 13:29 am 17. Juli 2011

also erstmals sollen da nur Boinc und ein Videobearbeitungsprogramm drauf laufen.

das mit dem Videobearbeitungsprogramm habe ich mal SO gesehen und so will ich das auch machen:

auf "normalen" PC das Video erstellen, schneiden, verbessern. dann die rohdatei auf Cluster-"Verteiler" packen, mit ner Festplatte oder gar SSD. der verteilt die Rohdaten dann an 2-3 weitere cluster, die über KEINE festplatte verfügen.

natürlich soll das nicht in einen Ikea-Rollcontainer sondern in ein 19" serverschrank ;) aber mir der Software haperts bisher noch was. welche software ist dafür geeignet, wie installier ich die, und, was am wichtigsten ist, wie benutze ich die? ich habe bisher nur windows-erfahrungen. zwar auch ein klein wenig linux, aber das will nie wie ich will...

achja: CUDA oder ATI-Stream wäre natürlich auch nice ;)

(Geändert von MisterY um 13:43 am Juli 17, 2011)


-- Veröffentlicht durch KakYo am 12:01 am 17. Juli 2011

Wenn wir was in nem Cluster berechnen dann sind das Linux Clients. Ich glaube nicht das du mit ner Windows Lösung weit kommen wirst.
(FEM Festigkeits-, Strömungs- und Verbrennungssimulationen).

Keine Festplattenaktivität? Wenn es schnell berechnet wird, fallen auch viele Daten an, ansonsten kann man sich das doch sparen...FEM Analysen wie es auch bei Wettermodellen üblich ist, sind ja einfach nur riesige Matritzen die dann irgendwie auf die einzelnen Rechner aufgeteilt werden.
Die Datenmengen die bei uns anfallen liegen dann auch mal ganz schnell im Bereich von 500Mb/sec, da wird man mit nem gammeligen USB Stick nicht weit kommen.

Welches OS genommen wird hängt ja wohl von der verwendeten Software ab...


-- Veröffentlicht durch MisterY am 0:32 am 17. Juli 2011

hi,

ich möchte mir einen Cluster aufbauen. Ja, wozu denn eigentlich? 1. möchte ich da gerne BOINC drauf laufen lassen, 2. Videos mit bearbeiten (selbst aufgenommene, also Daten jenseits der 100GB) bzw rendern lassen und 3. später auch Klima-/Wettermodelle berechnen lassen.

An hardware habe ich an 2-4 AMD Quadcores mit 45W TDP gedacht und jeweils 2GB Ram vorerst. da denke ich mal nicht viel festplattenaktivität erforderlich ist, wollte ich jeweils einen 8GB USB-Stick verbauen.

also hardwaremäßig sehe ich eher kein problem, aber: software....welches OS kann man da nehmen? wie kann ich die berechnung der einzelnen WUs oder der Filmdatei auf den Cluster verteilen? am liebsten wäre mir ein klicki-bunti betriebssystem, also auf jedenfall ein programm auf dem (normalen) Hauptrechner, wo ich dann auswählen kann, an welchen rechner es geleitet werden soll.

was kann man da machen? Linux mag mich nicht, es will nie so laufen wie ich es will...  


OCinside.de PC Forum
© 2001 - 2024 www.ocinside.de