Pytanie:
Czy klaster Raspberry Pi ma sens dla małej farmy renderującej?
Rehan Ullah
2016-06-25 23:07:35 UTC
view on stackexchange narkive permalink

Widziałem kilka artykułów mówiących o tym, jak można połączyć maliny w klaster. W zasadzie jestem artystą 3D i wiesz, że renderowanie 10-sekundowej animacji może zająć godziny.

Więc jeśli utworzę grupę około 20 lub więcej malin, z których każda ma 1 GB pamięci RAM, wynik końcowy będzie 20 GB RAM? Chcę tylko wiedzieć, jaka będzie rola klastra w odniesieniu do pamięci RAM? Martwię się o pamięć RAM, ponieważ to mnie niepokoi ... Nie koncentruję się na procesorze, ale na pamięci RAM.

Dzięki za cierpliwość P.S. Moje pierwsze pytanie.

prawdopodobnie lepszy od karty graficznej 8 GB
Jak odpowiedzieli inni, nie, to naprawdę nie ma sensu. W zależności od potrzebnej mocy renderowania, wysokiej klasy [„Komputer skutera”] (https://blog.codinghorror.com/the-scooter-computer/) (lub kilka) może dobrze radzić sobie z renderowaniem za pomocą procesora. Jeśli wykonujesz renderowanie na GPU, nie byłoby to dobre.
Wygląda na to, że możesz użyć Thea Render dla Cinema 4D na Raspberry Pi. https://www.thearender.com/site/index.php/downloads/thea-for-arm.html
Sześć odpowiedzi:
#1
+23
tlhIngan
2016-06-26 00:26:56 UTC
view on stackexchange narkive permalink

Ogólny konsensus jest taki, że klastry są stratą przepustowości. Tak, Twój klaster będzie miał dostęp do sumy całej mocy obliczeniowej i pamięci RAM, ale wprowadzasz opóźnienie sieci do równania wydajności. Jeśli koncentrujesz się bardziej na pamięci RAM niż na procesorze, możesz zbudować komputer stacjonarny z dużą ilością pamięci RAM za tę samą cenę, co klaster Pi. Wspomniałeś o urządzeniach 20 Rpi2 dla swojego klastra. 20 x 35 USD = 700 USD. Jeśli wybierzesz trasę AMD (tańszą przy tym samym poziomie wydajności co Intel), możesz zbudować komputer stacjonarny z 32 GB lub pamięcią RAM za tę samą kwotę.

Ponadto pamięć RAM w RPi (LPDDR2 ) działa z częstotliwością 400 MHz i jest dostępny z szybkością 800 MT / s, podczas gdy komputer stacjonarny (oparty na AMD) wykorzystuje pamięć RAM (DDR3), która działa z częstotliwością 1066 MHz i jest dostępna z szybkością 2133 MT / s, około 2,5 raza szybciej.

Biorąc wszystko pod uwagę, tak, budowanie klastra Pi to fajny projekt. Ale jeśli Twoim celem jest uzyskanie lepszej wydajności, lepszym rozwiązaniem jest komputer stacjonarny z lepszymi specyfikacjami.

W rzeczywistości DDR3 ma zwykle 1333 MHz lub 1600 MHz. 1066 MHz jest tylko wtedy, gdy używasz starszego procesora (który obsługuje maksymalną prędkość DDR2), a następnie umieścisz go na płycie obsługującej DDR3. Miałem tę konfigurację z Intel Q6600 (Socket 775), który miał prędkość FSB 1066 MHz.
@IsmaelMiguel Nie myl szybkości zegara z szybkością transferu :) https://en.wikipedia.org/wiki/DDR2_SDRAMhttps://en.wikipedia.org/wiki/DDR3_SDRAM
Tak, dzięki za informację .. Teraz zdaję sobie sprawę, że to była głupota z mojej strony .. Ale wy prowadziliście mnie i teraz jestem na dobrej drodze :)
#2
+6
sir_ian
2016-06-25 23:30:38 UTC
view on stackexchange narkive permalink

Krótka odpowiedź: prawdopodobnie

To naprawdę zależy od tego, czy proces może być zrównoleglony, czy nie. Niektórych procesów po prostu nie można podzielić między RPi i dlatego klaster nie przyniósłby żadnych korzyści. Ale renderowanie animacji brzmi jak zadanie, które można by podzielić, a zatem skorzystałoby na klastrze.

@Thingian powiedział, że wprowadza duże opóźnienie w sieci, to prawda, ale nie wiem zbyt wiele o renderowaniu, ale po raz kolejny myślę, że miałoby to niewielki wpływ, ponieważ prawdopodobnie przy renderowaniu innego procesu nie musisz ze sobą zbyt wiele "rozmawiać".

Jeśli chcesz uzyskać więcej informacji na ten temat, polecam skorzystanie z tego pytania i tego powiązanego wątek na forum z oficjalnego forum RPi (choć mniej dotyczy to grafiki, a więcej ogólnego grupowania), a także Jak zbudować klaster?

Jeśli chciałbyś kupić konfigurację przy minimalnym nakładzie pracy z Twojej strony Iden .inc http://idein.jp to budowanie tablicy, co ułatwi abyś mógł podłączyć 16 zer RPi, a to prawdopodobnie zadba o połączenia i sprawi, że twoje biurko będzie wyglądać trochę mniej jak gniazdo szczurów (JEŚLI możesz znaleźć zera, ponieważ są one teraz niezwykle rzadkie)

Mówisz o procesie wielowątkowym ... Myślę, że Maya i Blender muszą być wielowątkowymi ... Przeczytam o nich teraz ...
Dzięki za wkład… myślę, że będę musiał pójść inną drogą… Szukałem więcej i stwierdziłem, że Raspberry nie była całkiem dobra.
Myślę, że słowo, które chcesz, jest równoległe. Nie dostaniesz 20 GB, ponieważ część tej pamięci RAM będzie używana przez system, podobnie jak na połączenie sieciowe. Podczas gdy @RehanUllah nie zajmuje się procesorem - Pi jest wolniejsze niż najnowsze komputery stacjonarne. Kiedy zdał sobie sprawę, może to nie być najlepsze rozwiązanie.
@SteveRobillard Dziękuję za słowo i masz rację co do wszystkiego innego.
Raspberry Pi są wolne i tanie, ale mają dobry procesor graficzny. Jeśli to, co chcesz zrobić, może to pasuje. W przeciwnym razie prawdopodobnie nie.
@SteveRobillard tak, natknąłem się na artykuł, który pokazuje, jak zrobić 24-rdzeniową farmę renderującą w rozsądnej cenie około 3200 dolców ... Myślę, że ma dobre chłodzenie i stosunkowo lepsze niż farma pi.
@ThorbjørnRavnAndersen Nie wiem o Maya, ale w przypadku Blendera przynajmniej silnik renderujący Cycles może korzystać z GPU i robi to za pomocą CUDA. To tak, jakby używać GPU jako szybkiego procesora, trochę jak wydobywanie na GPU. Blender może używać tylko procesorów graficznych NVIDIA, więc procesor graficzny Pi będzie bezwartościowy do renderowania. Procesor nie będzie świetny, a pamięć RAM zostanie rozproszona między wszystkie Pis, więc nie będziesz w stanie renderować niczego, co wymaga więcej niż 1 GB pamięci RAM (patrz [odpowiedź Agate'a] (http: //raspberrypi.stackexchange. com / a / 50403/39319)).
#3
+6
Journeyman Geek
2016-06-26 16:00:45 UTC
view on stackexchange narkive permalink

Prawdopodobnie nie. Jest tu kilka problemów.

Raspberry pi obsługuje architekturę ARM i nigdy nie widziałem oprogramowania do renderowania, które na niej działa. Najlepsza farma renderująca jest bezużyteczna, jeśli twoje oprogramowanie nie będzie działać.

Chociaż droższa, x86 ma lepszą obsługę jednowątkową , dostępne oprogramowanie. Chociaż pamięć RAM on die może mieć mniejsze opóźnienie, większa i szybsza pamięć RAM może się przydać.

„Więc jeśli zrobić grupę około 20 lub więcej malin, z których każda ma 1 GB pamięci RAM, czy wynik końcowy będzie miał 20 GB pamięci RAM? ”

Nie, uruchomiłbyś X wątków w systemie, z których każdy wykonuje część zadania, z Y ram. Możesz więc skonfigurować swojego menedżera renderowania do wykonywania 4 zadań z maksymalnie 512 MB pamięci RAM każde i podzielić renderowanie na wiele systemów obsługujących po jednej klatce każdy.

Zacząłbym od oprogramowania . Sprawdź, na czym będzie działać. Nie ma sensu budować klastra raspberry pi z oprogramowaniem, które działa tylko na x86, a możesz skończyć z odpowiednim komputerem i kartą graficzną, jeśli akceleracja GPU daje dobre wyniki z twoim konkretnym oprogramowaniem. Moja poprzednia praca obejmowała wiele wiele rdzeni x86, więc moja odpowiedź to odzwierciedla.

Jeśli chodzi o sprzęt, myślę, że „komputer skuter”, o którym pisał Jeff Atwood, byłby dobrym punktem odniesienia. Możesz pójść jeszcze taniej, jeśli chcesz poświęcić trochę wydajności kosztem

Za 350 USD (lub 10 pis) otrzymasz

  i5-5200 Broadwell 2-rdzeniowy / 4-wątkowy procesor przy 2,2 Ghz - 2,7 Ghz 16 GB DDR3 RAM 128 GB M.2 SSD Podwójny gigabitowy Ethernet Realtek 8168 z przodu 4 porty USB 3.0 / z tyłu 4 porty USB 2.0 Podwójne wyjście HDMI  

Otrzymasz ponad 10x więcej pamięci RAM, szybszy rdzeń x86 z HT.

Nie otrzymujesz kiepskiego połączenia Ethernet 100 Mb / s z wąskim gardłem USB

Otrzymujesz dość szybką wbudowaną pamięć masową (która również bądź miły, jeśli potrzebujesz więcej zamiany).

Otrzymujesz mniej wątków, ale z lepszą wydajnością na jednym wątku (co i tak jest fajne!).

Miałem też osobiście problemy z niepowodzeniem instalacji RPI, a cóż, te mają rzeczywiste dyski twarde (dobrze dyski SSD), a nie wolne karty SD i byłyby bardziej niezawodne .

Patrząc na to wszystko, klaster pi byłby okropną opcją w porównaniu z jedną przyzwoitą maszyną z niższej półki.

„Nigdy nie widziałem oprogramowania do renderowania, które na nim działa” - http://blender.stackexchange.com/questions/33015/can-blender-run-headless-on-an-arm-processor/33062, ale spójrz na szybkość : * ponad godzinę * na wyrenderowanie tej jednej klatki?
blender może działać na platformie ramienia przy użyciu produktu eltechs exagear ...
#4
+3
Agate
2016-06-27 06:37:17 UTC
view on stackexchange narkive permalink

Oczywiście, że nie! Każdy węzeł w twoim klastrze musi mieć możliwość załadowania wszystkich tekstur / geometrii itp. Więc ograniczyłoby to całkowity rozmiar danych źródłowych do (znacznie mniej niż) 1 GB, ale 20 kopii.

Zamiast tego rozważ wypożyczenie instancji EC2 na żądanie: https://aws.amazon.com/ec2/pricing

Na przykład opłata 3,8xlarge w cenie 1,68 USD za godzinę będzie renderować znacznie szybszy niż klaster PI, a także łatwiejszy w konfiguracji i konfiguracji.

(W zależności od lokalizacji jest to prawdopodobnie to samo, co energia elektryczna do uruchomienia 20x PI.)

Pi 2 pobiera [około 2,1 W przy pełnym obciążeniu.] (Https://www.raspberrypi.org/magpi/raspberry-pi-3-specs-benchmarks/) Mnożenie przez 20, czyli 42 waty. Średni koszt energii w USA to [około 12 centów / kWh.] (Http://www.npr.org/sections/money/2011/10/27/141766341/the-price-of-electricity-in-your -stan) Czyli 0,504 centa / godzinę, czyli 333 razy taniej. Australia ma [najwyższe ceny na świecie] (http://www.statista.com/statistics/477995/global-prices-of-electricity-by-select-country/) na poziomie 0,49 USD, ale to wciąż tylko 2,058 centów / godzinę lub 81 razy mniej. Nie mówię, że Pis jest dobry do renderowania ...
@Nateowami Myślę również, że pod względem mocy, Pis zużywa mniej, ale musisz również wykonać system chłodzenia dla tego, który czasami może zwiększyć zużycie energii elektrycznej.
@RehanUllah Właściwie Pis chłodzi się pasywnie i [nawet nie potrzebuje radiatora.] (Http://raspberrypi.stackexchange.com/questions/22928/does-the-raspberry-pi-need-a-cooling-system) Gdybyś stale je uruchamiał z pełnym obciążeniem, obniżyłoby to częstotliwość zegara, w takim przypadku pomocny byłby pasywny radiator. Ale Pis nadal nie jest dobrym rozwiązaniem, ponieważ 1 GB pamięci RAM jest bardzo ograniczające.
@Nateowami Tak, masz rację ... Na pewno teraz nie idę w ten sposób .. Chciałem tylko wiedzieć, czy to jest możliwe i korzystne, ale teraz ze wszystkich odpowiedzi i informacji tutaj zdaję sobie sprawę, że tak nie jest :)
#5
+2
JDługosz
2016-06-26 12:57:01 UTC
view on stackexchange narkive permalink

Jeśli prędkość nowego pi3 jest taka (patrząc na raporty mips), potrzeba około 26 z nich, aby dorównać jednemu Haswel Xeon lub i7, dochodzę do wniosku, że tańsze jest użycie procesorów do komputerów stacjonarnych. Mój komputer stacjonarny ma 32 GB pamięci RAM, więc to więcej niż w przypadku 26 węzłów 1 GB, a potrzebujesz mniej, ponieważ kodu nie trzeba duplikować 26 razy.

W przypadku klastrów, które widziałem przy użyciu starsze pis, zajęłoby to 4 × tyle! Myślę, że to samo dotyczy pi-zero. Tak naprawdę bezcelowe, ale tani sposób na posiadanie platformy do testowania oprogramowania klastrowego, więc naprawdę jest to klaster.

W przypadku farmy renderującej powinieneś porównać GPU.
+1! Całe to renderowanie prawdopodobnie nie stanowiłoby problemu w przypadku odpowiedniego procesora graficznego opartego na obliczeniach, takiego jak nVidia Quadro. W rzeczywistości prawdopodobnie każdy z nowszych procesorów graficznych nVidia do gier z obsługą obliczeń byłby lepszy dla dowolnego oprogramowania renderującego kompatybilnego z CUDA.
#6
+2
nicholas
2017-04-06 17:40:25 UTC
view on stackexchange narkive permalink

Szczerze mówiąc, zależy to od tego, co obliczasz. Raspberry Pi są wszechstronne i robią wiele różnych rzeczy. IoT, komputery osobiste, superkomputery, serwery itp.

Jeśli tworzysz klaster, zwiększasz moc swojej konfiguracji dzięki Pi. Istnieją superkomputery zbudowane w celu haszowania i przetwarzania danych, zbudowane z pi. Są o wiele bardziej wydajne konfiguracje GPU, które będą przetwarzać grafikę, a także duże zbiory danych.

Weźmy na przykład przetwarzanie w chmurze i zrozum, że zasadniczo możesz tworzyć klastry i superkomputery w ramach chmury.

to powinieneś zrozumieć, że dodanie procesorów graficznych w chmurze Google, AWS, AZURE lub Bluemix, zwiększa cenę działającej instancji.

Często jest to równie drogie, jeśli nie o wiele droższe drogie, wystarczy dodać instancję GPU.

Na przykład w Google Cloud możesz mieć do 8 instancji GPU dla 8-rdzeniowej maszyny wirtualnej.

Teraz weź wszystkie ciasto, które wydałbyś nie tylko na zakup wszystkich tych malinowych pi i wszystkich kosztów energii elektrycznej, i zrozum, że prawdopodobnie w większości przypadków lepiej będzie mieć 1 malinowy pi. a potem po prostu użyj g tego raspberry pi, aby połączyć się z usługami przetwarzania w chmurze.

są wersje demonstracyjne do wypróbowania usług przetwarzania w chmurze, ale prawie żadna z nich nie pozwala wypróbować instancji GPU na kontach demonstracyjnych.

Więc po prostu użyłbym raspberry pi, uruchomiłem ubuntu mate i po prostu połączyłem się z IBM bluemix lub google cloud.in w celu tworzenia klastrów.

jedyna rzecz, która gryzie z tym jest to, że tworzenie aplikacji w chmurze jest do niczego, jeśli musisz uruchomić xcode, ponieważ możesz marzyć o znalezieniu cholernego obrazu MacOS do chmury, bez kupowania własnego, do przesłania do maszyn wirtualnych.

chyba, że ​​tworzysz jakiś rodzaj robotycznego klastra, który jest zmotoryzowany, do fizycznych celów.

to moje 2 centy.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...