mehr-prozessor-systeme: aufteilung einer rechnung



  • moinsen...

    ich hab da mal eine frage...
    wenn man eine rechenoperation auf "mehrere" prozessoren aufteilen will, was muß man dann machen?? also theoretisch!( nein, es gibt bis jetzt noch kein os drauf (freiwillige vor))

    grund:
    ich plane ein projekt, welches mehrere prozessoren (keine x86'er) verwendet und als "rechner" für simulation dienen soll!

    mfg
    tüddel



  • Dieser Thread wurde von Moderator/in AJ aus dem Forum ANSI C in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Du brauchst ein SMP-fähiges OS und musst das Programm auf mehrere Prozesse oder Threads aufteilen.



  • Der Fortran-Compiler bei HP-Risc-Rechner kann das schon längst. Bei C/C++ weiss ich nicht genau.
    Die Parallelisierung eines Algorithmus soll von Compilern unterstützt werden. Selber parallelisieren bringt wegen Threadsverwaltung und Speicherzugriffe nicht wesentlich mehr.



  • ich würd die rechnung auch auf mehrere threads verteilen,
    nur is das nich so das beste für die performance...

    bei den meisten berechnungen würde dann ja relativ viel rechenzeit für die
    synchronisation der threads/rechnungen draufgehen, also nich unbedingt optimal



  • jo, dass hängt stark vom Algorithmus ab, ob sich das lohnt. Wenn der Compiler das automatisch macht, dann muss der ja extrem intelligent sein, da man ja leicht langsameren Code erzeugen kann oder Probleme mit der Synchronisation oder Seiteneffekten haben kann.



  • Naja, diese ganzen großen Fortran-Compiler sind ja auch undurchschaubare perfekt optimierende alte Monster. Wenn ein 30 Jahre altes Produkt nicht ausgereift ist, was denn dann? 😉



  • naja, die idee war es einen rechner zu bauen (vornehmlich ppc (type mpc754x)weil wenig leistunsaufnahme (~10w bei 1GHz)), der je nach leistungsanspruch nachrüstbar ist und für (echtzeit) rendering von objekten/landschaften oder mathematischen rechnungen gedacht war (modular aufbaubar, je nach anspruch).

    sollte eventuell als produkt einer neuen (noch nicht vorhandenen) firma dienen.
    jetzt sind wir jedoch eben auf solche probleme gestoßen.

    also noch ist das ganze produkt nur theorie! ob es denn durchgeführt wird liegt daran, ob solche probleme gelößt werden.

    by the way
    bei interesse (hard und softwareseitiger) entwicklung mitzuwirken oder interesse an dem produkt einfach mal melden!



  • Hm, was wäre denn der Vorteil von Eurem Rechner gegenüber einem normalen Cluster?



  • ja, ich seh da auch nicht den Durchbruch drin. Solche Techniken sind ja seit langem bekannt und werden seit langem genutzt.



  • nunja, neu ist das system nunmal nicht, aber ein cluster soll es nicht werden!

    mpp > massiv parallel processing
    oder
    smp > symetrischem multiprocessing

    nunja, ein cluster hat nunmal eine sehr hohe latenz für die daten (der grund dafür ist das ethernet, denn es ist niemals für echtzeit gedacht gewesen!!!) ich meine die liegt annäherd bei 20us. nunja, da dieses system nunmal keine ethernet benutz ist dort die latenz kleiner ich schätze mal, das man sie auf unter 5us bekommen kann.



  • Cluster müssen ja nicht nur über Ethernet laufen.

    Aber was genau stellst du dir vor? Ein Mainboard auf das du immer mehr weitere Prozessoren stecken kannst?



  • hmm ein dual oder quad besücktes board, das über ein eigenes bussystem verfügt und so zu anderen boards hinzugefügt werden kann.

    so ähnlich wohl wie der vme-bus nur wesentlich schneller.
    das system ist so schnell wie die langsamste komponente 😉



  • auch ist bei clustern der energieverbrauch/verlustleistung etwas höher, ebenso wie der platzaufwand.

    hmm wieviele cpus kann man wohl in einem rack unterbringen?
    ich geh mal ungefähr von 4cpus auf doppelt eurokartenvormat aus.
    dann kann ich auf ein 6HE-19zoll gehäuse bestimmt 10 karten unterbringen. also 40 cpus.
    davon dann mind 5 pro rack und schon habe ich 200 cpus verhältnismäßig platzsparend (~1m²)
    untergebracht. und bei der leistungsaufnahme von ~10w bei 1GHz sind wir dann bei 2kw pro rack.
    da kommt ein gleichstarkes cluster doch schonmal nicht mit, oder??



  • tüddel schrieb:

    [...]und bei der leistungsaufnahme von ~10w bei 1GHz sind wir dann bei 2kw pro rack.
    da kommt ein gleichstarkes cluster doch schonmal nicht mit, oder??

    Das ist jetzt aber eine Milchmädchenrechnung.
    Btw., hast Du sowas schon gesehen?



  • Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Rund um die Programmierung in das Forum Themen rund um den PC verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Ich würd' PlayStations nehmen... http://arrakis.ncsa.uiuc.edu/ps2/cluster.php 🕶 👍



    1. IBM macht mit seinen Blade Servern nix anderes
    2. Das Pendant zu Fortran parallel computing ist "CxC" in C ähnlicher Syntax
    3. Warum das Rad immer wieder neu erfinden, wenn MPI oder PVM schon da sind.

    Winn



  • ok...
    nachdem ich jetzt sehr viele neue quellen gelesen habe, bin ich
    jetzt doch der ansicht, das man ein cluster benutzen sollte.
    am meisten hat mich dieses fasziniert! http://www.mini-itx.com/projects/cluster/
    hmm, aber die meiste komponente dieses boardes wie vga,sound,... braucht man nicht!
    weiß jemand, ob diese auch ohne angeboten werden?
    von via zumindest nicht.so könnte man weitere kosten senken!


Anmelden zum Antworten