Własna farma renderująca 8

Jeżeli dysponujemy kilkoma komputerami, możemy renderować szybciej, wykorzystując coś, co można nazwać własną farmą renderującą. Taką – dla zastosowań domowych.

W materiale wideo pokazuję jak można zrobić, aby kilka komputerów renderowało jednocześnie jedną scenę. Rozwiązanie, które pokazuję to Network Render – wtyczka obecna w Blenderze, która pozwala na renderowanie danego zestawu klatek w sieci.

Jeżeli macie kilka komputerów, to w ten sposób można wszystkie zaprząc do pracy, a wtedy rendery da się uzyskać szybciej. W tutorialu nie chciałem rozpraszać uwagi na wiele hostów, zatem wszystko uruchomiłem w sieci lokalnej (na tej samej maszynie). Renderer działał doskonale. Metodę tę można zastosować na pracowni komputerowej gdzie wszystkie komputery widzą się w sieci. Wtedy zyski z przyspieszenia procesu renderowania np. animacji są bardzo znaczne.

Aby wykorzystać możliwość zdalnego uruchamiania blendera należy przygotować sobie pliki startowe w których ustawimy odpowiednio klienta, serwer oraz niewolników, i takie instancje blendera możemy już uruchomić zdalnie, logując się na maszyny za pomocą ssh. Pracujące na nich blendery powinny widzieć osobną przestrzeń dyskową, ponieważ podczas połączenia NFSem (lub w inny sposób) tego samego dysku przez sieć, może dojść do nadpisywania swoich plików, co doprowadzić może nawet do przerwania pracy.

 

 

8 thoughts on “Własna farma renderująca

  1. Odpowiedz Orgi Paź 2,2015 09:42

    Właśnie usnało manie za bota spamującego :) idę sprawdzić w lustrze – czy jestem człowiekiem :P
    generalnie chciałem porównać to rozwiązanie z renderingiem na naszej farmie i wyprodukowałem dość długi post zaletach i wadach. :)

  2. Odpowiedz blahax2g Sie 23,2015 22:24

    Hmm, no sprawdziłem to i muszę przyznać, że szkoda, że nie działa. Testowane na platformach Ubuntu. Jeden sprzęt przeznaczony do całego modelingu i renderingu, a dwa stare laptopy chciałem zaciągnąć do pomocy. Niestety bez efektu. Może to jeszcze dopracują, wtedy na pewno będę korzystać :/

  3. Odpowiedz Marcel Lut 28,2015 19:56

    Czy w takim razie możliwy jest myk, polegający na uruchomieniu mastera i podpięciu dwóch slave-ów jeden liczy na GPU, drugi na CPU (wszystko na jednym komputerze) ?

    • Odpowiedz piotao Lut 28,2015 22:37

      Wygląda na to, że nie. Master zlecając zadania określa jak mają być renderowane, więc to samo zadanie poleci w ten sam sposób. Nie sprawdzałem co się stanie, gdy slave dostając zadanie do renderowania na GPU, nie mając GPU spróbuje zrobić render na CPU.

      • Odpowiedz blahax2g Sie 23,2015 22:27

        Uzupełniam mój poprzedni komentarz…
        1 sprzęt miałem z GPU Radeona, 2 z zintegrowanym w CPU Intelem… Nie zadziałało, nie chciało renderować…

    • Odpowiedz Jaras Mar 30,2015 10:44

      Czy developerzy poprawili wreszcie stabilność renderingu sieciowego? Jak testowałem to w wersji 2.69, to nie wolno było tego renderingu przerywać, pauzować czy też usuwać z listy mastera przed ukończeniem zadania, bo inaczej wszystkie slave się wywypywały. Poza tym często slavy same z siebie się gubiły, by po kilkudziesięcu minutach się znaleźć. Słowem nie nadawałos się to do poważnej i terminowej pracy, by ustrojstwo było bardzo niestabilne.
      Marcel, nie można mieszać renderingu CPU i GPU, bo trochę inaczej ta sama scena będzie liczona, a są takie materiały, których na GPU w ogółe nie policzysz (np. pochłanianie światła poprzez wejście volume). Nawet gdy Twój materiał dobrze się liczy i na CPU i na GPU, tocienie mogą mieć inny nieco szum, co może być widoczne. Ponadto to nie jest tak, że przy liczeniu na GPU procesor w ogóle nie bierze w tym liczeniu udziału. Zawsze coś tam trochę robi, bo blender przecież chodzi na CPU i odbiera on z karty przeliczone dane.

      • Odpowiedz piotao Kwi 3,2015 23:14

        Od wielu lat obserwuję, że podczas silnego obciążenia obliczeniami karty NVIDIA, jeden wątek na jednym rdzeniu CPU jest także mocno obciążony. W przypadku kart AMD (oraz innych obliczeń w OpenCL, nie w Blenderze) takie zjawisko nie występowało – problem obciążenia CPU występuje tylko pod NVIDIA.

A Ty co o tym myślisz?