hallo ich möchte in meinem heimnetz (ca 10 computer) die rechenleistung z.b. beim encodieren von filmen o.ä. auf alle computer im netzwerk aufteilen. viele sagen jetz viel zu hoher aufwand, zu kompliziert.... aber ich finde die thematik sehr interessant darum würd ichs gern mal ausprobiren. mein problem ist gibt man bei google "verteiltes rechnen" ein kommen ne menge seiten auf denen über projkte berichtet wird die übers www laufen. daher meine fragen: 1.wie schafft man es verschiedene programme von mehreren rechnern im heimnetz bearbeiten zu lassen? 2. welche software und welches betriebssystem braucht man bin auch froh wenn ihr mir links geben könnt wo das näher beschrieben wird mfg münzi
Am einfachsten/effizientesten gehts wenn das entsprechende Programm sowas von Haus aus unterstützt. Oder zumindest die Anfallende Rechenarbeit auf mehrere Prozesse (nicht Threads) verteilt. Viele Raytracer bieten das Verteilte Rechnen z.B. von sich aus an. Das Kompilieren von größeren Programmen (viele Einzelfiles => viele Compileraufrufe) lässt sich auch gut auf mehrere Rechner verteilen, z.B. http://distcc.samba.org/ Automatisiertes Verteilen von einzelnen Tasks hat z.B. openMosix gemacht, das wird aber nicht mehr weiterentwickelt: http://linuxwiki.de/OpenMosix Wenn dein Wunsch-Programm aber nur in einem Task seine Arbeit durchzieht (Video-Encoder), lässt sich da nix mehr parallelisieren. Möglichkeit hier: Videofile zerschneiden, Teile parallel auf mehreren Rechnern transkodieren, danach wieder zusammensetzen.
>1.wie schafft man es verschiedene programme von mehreren rechnern im >heimnetz bearbeiten zu lassen? a) Quellcode besorgen b) Quellcode parallelisieren c) kompilieren d) Parallele Laufzeitumgebung konfigurieren e) starten Ein existierendes Programm kannste i.Allg. nicht parallel ausführen. Was machbar wäre, falls dein Encoder z.B. auf Frame x...Frame y losgelassen werden kann, dass du skriptgesteuert einzelne Abschnitte des Films parallel von verschiedenen Rechner encodieren läßt und die zum Schluß in der richtigen Reihenfolge zusammensetzt. >2. welche software und welches betriebssystem braucht man Einen C-Compiler und ein beliebiges Betriebsystem, das diesen C-Compiler unterstützt. Alternativ kannstes auch direkt in Assembler machen, spielt keine Rolle. Mein Tip: laß es bleiben. Wer so blöd ist, grundlos 10 Rechner aufzustellen, oder Rechner, die nicht als Cluster geplant wurden, zum parallel computing verwenden zu wollen, ist nicht in der Lage, ein Cluster mit speedup>1 aufzubauen.
Allerdings ist es gerade beim Kodieren von Filmen wenig sinnvoll den Film in harte Segmente aufzuteilen, weil dann der Vorteil eines multi-pass-encodings vermindert wird oder verloren geht, abhaengig von der Zahl der Segmente.
Was du ansprichst macht natürlich einen riesigen Unterschied, wenn man die einzelnen Prozesse jeweils Segmente von 10min Länge kodieren lässt. Aber gut, daß wir drüber gesprochen haben.
danke für eure antworten ich glaub ich vertrau Christian und lass es bleiben aber trotzdem danke
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.