Datum: 28.04.2008 13:10
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
Datum: 28.04.2008 14:50
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.
Datum: 28.04.2008 15:21
>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.
Datum: 28.04.2008 16:54
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.
Datum: 28.04.2008 17:23
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.
Datum: 28.04.2008 22:33
danke für eure antworten ich glaub ich vertrau Christian und lass es bleiben aber trotzdem danke
Antwort schreiben
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel