Czy superkomputer zbudowany z wielu RP jest naprawdę praktyczny, czy tylko nowość?

13

To pytanie jest inspirowane tym artykułem .

Obecnie spędzam dużo czasu w R na analizie danych. Niektóre skrypty uruchamiane w języku R mogą korzystać z obliczeń równoległych w celu zaoszczędzenia czasu. Powiedzmy, że mógłbym zbudować „prawdziwy” komputer bez systemu operacyjnego za około 300 USD, a za te same 300 USD mógłbym dostać 6 Pis (w tym kabel zasilający i kartę SD). Zakładając, że mam zadanie, które dobrze nadaje się do równoległości, czy byłbym lepszy z Pisem lub „prawdziwym” komputerem?

Czy odpowiedź zmieniłaby się, gdybym podniósł „prawdziwy” sprzęt komputerowy do czegoś, co może kosztować 1000 USD, jak by to wyglądało w przypadku 20 Pis?

Dean MacGregor
źródło
Pi to powolny komputer z małym ram, ale dobrym GPU. Jeśli Twoje zadania na tym skorzystają, może to mieć sens.
Thorbjørn Ravn Andersen
GPU przyniesie korzyść tylko wtedy, gdy chcesz zrobić coś, na co już jest kod, lub jeśli możesz negocjować dostęp do zastrzeżonej dokumentacji programowania GPU.
Chris Stratton

Odpowiedzi:

10

Jeśli chcesz to przeanalizować, musisz wykroczyć poza powiedzenie 20 rpisów vs. 1000 USD i sam zdecydować, co możesz faktycznie uzyskać i wykorzystać za 1000 USD. Pamiętaj, że to nie jest kanał zakupów.

Załóżmy, że możesz dostać płytę główną, zasilacz, 8 GB pamięci RAM, 6-rdzeniowy procesor i7 3,4 GHz i trochę stary dysk twardy (wciąż szybszy niż karta SD!) Za około 1000 USD. Całkowita liczba cykli na sekundę wynosiłaby 6 * 3,4e9 = 20,4e9, w porównaniu do 20 * 0,7e9 = 14e9 dla superkomputera pi.

Rozważmy teraz fakt, że procesor wielordzeniowy jest procesorem wielordzeniowym, podczas gdy betwixt pis we / wy (jeśli stanie się to znaczącym czynnikiem) będzie wolniejszy o rząd wielkości.

Chociaż nie mam poważnego zainteresowania (lub wiedzy) o superkomputerach pi, zakładam, że służą one do eksperymentów i celów edukacyjnych. To zdecydowanie tania klaster, ale jeśli Twoim celem jest szybkie niszczenie liczb (w przeciwieństwie do eksperymentowania i edukowania), klaster pi nie będzie w żaden sposób bardziej opłacalny ani bardziej efektywny energetycznie niż zwykły komputer.

Złotowłosa
źródło
Dzięki, „Całkowita liczba cykli na sekundę wynosiłaby 6 * 3,4e9 = 20,4e9, w porównaniu do 20 * 0,7e9 = 14e9 dla superkomputera pi.” jest w zasadzie tym, czego szukałem, ale nie wiedziałem, czego szukać.
Dean MacGregor
Jedno Pi zużywa tylko 5 watów. Oznacza to, że 20 pisów zużywa tylko 100 watów, czyli mniej niż komputer, który opisujesz, więc jest bardziej kosztowny i energooszczędny (ale z mniejszym procesorem :))
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen z mojego doświadczenia, 8 rdzeń i7 + dysk SSD + 16 GB pamięci RAM zużywa około 50-70 Wt w zależności od obciążenia procesora w instalacji bez głowy (bez monitora).
lenik
Gdy użyjesz RPi2, liczba cykli wzrośnie do 20 * 4 * 0,9e9 = 72e9, przy podkręcaniu możesz nawet osiągnąć 20 * 4 * 1,1e9 = 88e9 cykli na sekundę. Teraz, kiedy ten wzrost mocy obliczeniowej pi jest wystarczający, czy uważasz, że warto zbudować klaster RPi?
Sirac,
1
@goldilocks 1) Moja wiedza na temat superkomputerów nie jest dobra, aby spierać się o prędkość Mbps. 2) Podsumowując, procesor Intel może być szybszy niż zestaw ARMv7 w tej samej cenie. Muszę sprawdzić statystyki, aby uzyskać lepszy pogląd na ten temat. 3) Skompilowanie jądra na RPi2 zajmuje wiele godzin, próbowałem i mam nadzieję, że nie zrobię tego ponownie w przyszłości. Podsumowując, RPi może nie być idealnym wyborem dla superkomputera, nawet nie RPi2. Ale z pewnością stanowi dobry projekt, ponieważ RPi jest bardzo tani i można łatwo połączyć kilka z nich. Mam na myśli symulację sieci, ponieważ możesz ...
Sirac
2

To dość złożona odpowiedź - kluczowym pytaniem, na które musisz odpowiedzieć, jest: „o jaką pracę poprosisz maszynę?”.

Zestawy instrukcji na różnych komputerach (ARM vs. Intel vs. ktokolwiek inny), a także jakość kompilatorów mają duży wpływ na rzeczywistą wydajność. Jeśli praca, którą chcesz wykonać, ma przyspieszenie sprzętowe na jednym komputerze, ale nie na drugim, sam ten czynnik będzie miał większą różnicę niż znacząca zmiana częstotliwości taktowania.

Mówiąc najogólniej, wydaje mi się, że największe zyski pod względem ceny / wydajności będą pochodzić z umiarkowanie taktowanego wielordzeniowego procesora AMD lub Intela. Jeśli jesteś w kontrolowanym środowisku, w którym temperatura otoczenia jest niska, prawdopodobnie możesz nieco przetaktować te układy, aby uzyskać większą wydajność.

RasPi zdecydowanie NIE jest przeznaczony do tego rodzaju rzeczy, co nie powinno odbierać jego wysokiej wartości w uczeniu się, jak rzeczy działają, a nawet budowaniu prawdziwie „rozproszonego” systemu w bardzo przystępnej cenie. Ale jeśli poważnym problemem jest kradzież danych i / lub liczb, rasPi prawdopodobnie nie będzie właściwym wyborem.

ljwobker
źródło
1

Pomijając słabą moc procesora na pi, nie widzę, jak dostaniesz dane do procesorów wystarczająco szybko na dziesiątki pis, aby zobaczyć wzrost wydajności warty wysiłku. Szybkość magistrali jest tak samo ważna w superkomputerach klastrowych, jak szybkość procesora, a liczba pi jest tutaj bardzo nieodpowiednia.

Zarówno sieć, jak i dostęp do dysku będą współużytkować tę samą 60 MB magistralę USB2. Karta SD ma co najwyżej wydajność w zakresie prędkości 20 MB.

Sprzęt komputerowy klasy niskiej z SATA o przepustowości 150 MB i Ethernetem na szynie PCI o pojemności 2 GB oferuje przepustowość o rząd wielkości.

sal
źródło
3
Zależy to całkowicie od aplikacji - niektóre aplikacje mają bardzo wysoki stosunek „pracy” do „komunikacji”, a inne wymagają znacznie większej komunikacji na ilość wykonanej pracy.
Chris Stratton
0

Jeśli chcesz nauczyć się superkomputera między węzłami. .. Ustawiłbym pi. Jeśli chcesz czegoś niedrogiego, ale potężnego - kup używany wielordzeniowy serwer / stację roboczą opartą na ksenonach i umieść jedną lub więcej używanych kart Tesli lub kart Cuda gpu lub kart Intel Phi.

Jay Wolfe
źródło