Forum: PC Hard- und Software verteiltes rechnen


von Daniel M. (erfolgstyp)


Lesenswert?

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

von Εrnst B. (ernst)


Lesenswert?

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.

von Christian (Gast)


Lesenswert?

>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.

von Chris (Gast)


Lesenswert?

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.

von Christian (Gast)


Lesenswert?

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.

von Daniel M. (erfolgstyp)


Lesenswert?

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
Noch kein Account? Hier anmelden.