Komputer klastrowy Raspberry Pi

13

Niedawno kupiłem Porta Pi Arcade, która jest w zasadzie zasilaną RPi automatem do gier z emulacją i retro pi. Obecnie używam Mame, Sega Genesis itp. Korzystając z Pi 2 udało mi się zagrać w niektóre gry N64, ale nie wszystkie działają tak dobrze, jak chciałbym. Więc chciałem połączyć 2 Pi 2 razem lub ulepszyć wydajność procesora i RAM, aby spróbować uruchomić gry PSX i N64. Czy w gruncie rzeczy możliwe jest uaktualnienie procesora i pamięci RAM w RPi 2? Jeśli tak to jak?

Czy łatwiej byłoby stworzyć klaster RPi, aby osiągnąć to samo, widziałem na YouTube kilka filmów o tym, jak je zbudować, ale nikt tak naprawdę nie wyjaśnia, czy działa jak jeden duży komputer, czy tylko zadania udostępniania 2 Pi i jeśli tak jest podzielić zadania, czy to zadziała w moim przypadku?

Geordan
źródło
11
Obliczenia klastrowe nie dzielą mocy procesora i nie zapewniają jej w jednym procesie. To rozproszone obliczenie naprawdę złożonego zadania (które można rozbić) na kilku komputerach.
PNDA,
1
Zasadniczo, zamiast jednego procesora wykonującego A i B zadania AB, zadanie A jest przekazywane do procesora 1, a B do procesora 2. Po ich zakończeniu części robocze są łączone w celu uzyskania końcowego wyniku.
PNDA
Również gdy klastrowanie 1 + 1 nie jest równe 2, narzuty związane z zarządzaniem i administracją oraz zwiększony ruch sieciowy są wymagane dla członków klastra do komunikacji.
Steve Robillard,
2
„Więc w gruncie rzeczy, czy możliwe jest uaktualnienie procesora i RAM w RPi 2? Jeśli tak, to w jaki sposób?” 5 sekundowe Google dałoby odpowiedź.
joan

Odpowiedzi:

14

Na pewno nie możesz ulepszyć pamięci RAM. Jest on zamontowany na procesorze i nie można go aktualizować przez użytkownika, jak na komputerze stacjonarnym. Nie możesz też fizycznie zamienić procesora, co możesz zrobić, to podkręcić procesor, ale mogło to już być zrobione. Można ustawić szybkość zegara za pomocą następującego polecenia: sudo raspi-config.

Jeśli chodzi o tworzenie klastrów, uruchomiony program musiałby być zaprojektowany tak, aby działał równolegle, aby z niego skorzystać, a oprogramowanie do gier, którego używasz, raczej nie będzie w stanie go obsługiwać, ponieważ oryginalne gry prawie na pewno nie zostały zaprojektowane do działania zaletą tego.

Steve Robillard
źródło
Aby się zakwalifikować: wiele nowoczesnych gier z pewnością korzysta z procesorów wielordzeniowych (nie mówiąc już o ich wykorzystaniu GPU, co jest wysoce sparaliżowane). Tylko ogólnie wymagają wspólnej pamięci głównej , której nie ma się w architekturze klastrowej.
leftaroundabout,
9

Naprawdę nie można po prostu zaktualizować pamięci RAM lub procesora. Oba są jednym solidnym pakietem wlutowanym na płytkę.

Przetwarzanie klastrowe również tego nie rozwiąże - po prostu nie działa tak, jak można by oczekiwać. Zapewnienie więcej niż jednego komputera do pracy w tym samym zadaniu jest co najmniej złożone, a oprogramowanie do emulacji, w którym uruchamiane są gry, nie może czerpać korzyści z rozproszonych zasobów.

Klastry obliczeniowe RPi, które widziałeś na YouTube, gdzie prawdopodobnie skupiają się Beowulf. Tworzenie ich za pomocą RPis nie jest zbyt skuteczne, ale można nauczyć ludzi, jak działają klastry obliczeniowe, co możesz z nimi zrobić i gdzie są ograniczenia.

Izzy
źródło
8

Jest kilka rzeczy, które możesz zrobić.

  1. Umieść wentylator / radiator na swoim Raspberry Pi.

    Zapobiegnie to dławieniu procesora, jeśli zrobi się zbyt gorąco, zapewniając stabilną wydajność i pomagając w 2.

  2. Przetaktuj swój procesor

    Po prostu przyspieszenie jego działania powinno poprawić twoje wyniki, ale naprawdę chcesz najpierw spojrzeć na 1.

  3. Dostosuj przydział pamięci RAM do GPU lub procesora, w zależności od tego, co jest najbardziej potrzebne.

  4. Poczekaj na ulepszoną / szybszą wersję Raspberry Pi.

Antzi
źródło
1
Wykazano, że Raspis tak naprawdę nie potrzebuje radiatora, wszystko inne tutaj jest prawdą.
Thomas Shera,
To chyba prawda, chyba że podkręcisz trochę. (Lub jeśli malinowe pi jest w gorącym miejscu).
Antzi
1
Przetaktowałem mój B + do 1100 MHz CPU (+400), 900 MHz GPU (+200) i nadal miałem około 30 stopni Celsjusza pod pełnym obciążeniem przez kilka godzin. Jeśli jesteś w naprawdę gorącym miejscu, może być.
Thomas Shera,
@ThomasShera Całkowitym powodem podkręcania jest to, że nie wszystkie procesory wychodzące z tej samej linii montażowej są w rzeczywistości równe, dlatego przypisują najwyższą liczbę, która powinna mieć zastosowanie do wszystkich z nich. Jedna osoba anegdotycznie mówiąc: „Tak przetaktowałem i nie miałem problemu” nie oznacza, że ​​będzie to ogólnie prawda, a chłodzenie z definicji pomoże podkręceniu, ponieważ problemem jest upał, a nie prędkość.
złotowłosy
1
... Więc jeśli chcesz najszybszej możliwej prędkości, chcesz chłodzenia. Możesz go podkręcić tak wysoko, jak chcesz, o ile utrzymujesz niską temperaturę rdzenia. Ktoś zdołał uzyskać pi B do 3,0 Gz, ale wymagało to sporo chłodzenia ...
goldilocks
4

Musisz całkowicie przeprogramować starsze gry. Pomyśl o tym w ten sposób: obliczenia klastrowe z 2 Raspis miałyby sens tylko wtedy, gdy możesz podzielić zadanie na 2 komputery. Ponadto procesor jest szybszy niż USB. Niewiele jest praktycznych powodów do grupowania.

Radzę przetaktować Raspi (najpierw spróbuję) lub zmienić ustawienia grafiki w grze.

EDYCJA: Nie jestem pewien, czy istnieje sposób, aby dowiedzieć się, czy wąskim gardłem systemu jest procesor, czy GPU, ale zwiększenie wolnej pamięci RAM trochę pomoże.

Thomas Shera
źródło
3

Nawet jeśli gra lub emulator może korzystać z wielu jednostek obliczeniowych - co jest bardzo, bardzo mało prawdopodobne, szczególnie w starszych grach zaprojektowanych dla platform jednordzeniowych - koszty komunikacji byłyby prawdopodobnie zbyt wysokie dla większości celów gier.

Każda informacja będzie musiał przejść przez cały TCP / IP Ethernet stos (chyba użyć specjalnego sprzętu do łączenia jednostek, które mogę nie powiedzieć na pewno nie istnieje). Dodaje to opóźnienia rzędu milisekund, tj. Setek tysięcy cykli zegara. Nie możesz sobie pozwolić na tego rodzaju opóźnienia, chyba że masz stosunkowo duże zadania, które będą należne dopiero w przyszłości. Jednak w grach potrzebujesz teraz większości wyników .

Raphael
źródło
2

Jedynym realistycznym sposobem na zwiększenie wydajności jest wybór szybszego komputera jednopłytowego. Modele Odroid (oparte na Samsung Exynos SoC) są znane z szybkości, istnieją inne opcje opisane w Wikipedii .

Pamiętaj, że musisz upewnić się, że każdy wybrany komputer jednopłytkowy jest zgodny zarówno z oprogramowaniem, które chcesz uruchomić (co jest całkiem prawdopodobne), jak i akcesoriami sprzętowymi, których będziesz używać (dość mało prawdopodobne). Zasadniczo zakończysz projektowanie automatu do gier na dowolną płytę, którą wybierzesz. Chyba że masz jakieś doświadczenie z elektroniką i ogólnie platformą ARM, nie radziłbym ci spróbować.

Dmitrij Grigoriew
źródło