Tanie procesory x86 jako alternatywa dla SBC z procesorami ARM?
Jednopłytkowe komputery z procesorami ARM dostępne są w wielu konfiguracjach. Niemniej komputery te poprzez wykorzystywane układy mają spore ograniczenia - zazwyczaj nie mają nowszych interfejsów lub po prostu są z nimi problemy związane ze sterownikami czy obsługiwanymi technologiami. Czy tanie i pasywnie chłodzone płytki z procesorami x86 mogą być efektywną alternatywną pozbawioną tych wad?
Zasady gry
Porównanie wysoce wydajnego PCta w małej obudowie do płytek z procesorami ARM nie miałoby większego sensu. Chcę się skupić na tanich, czy wręcz najtańszych płytach głównych z procesorami x86 Intela i AMD.
- Maksymalna cena 100-150 USD za płytę główną z procesorem (limit osiągany przez Rock64Pro, LattePanda)
- Pasywne chłodzenie (lub dostępny wariant z pasywnym chłodzeniem) - szukamy rozwiązań energooszczędnych
- Małe rozmiary (najlepiej mini-ITX lub mniejsze)
- Bezproblemowo dostępne nowe lub na rynku wtórnym
Platformy x86 bez problemu oferują obsługę SATA III, PCIe, USB3.0, GigE, czy obsługę wielu ekranów w wielu rozdzielczościach. Zintegrowane układy graficzne obsługują desktopowy OpenGL a nie tylko mobilny OpenGL ES jak i pod Linuksem mają dostępne sterowniki prosto z pudełka. Dzięki temu natrafimy na znacznie mniej problemów na Linuksowym desktopie. Także bez problemów będziemy w stanie zainstalować Windowsa 10, podłączyć wiele dysków twardych czy dedykowaną kartę graficzną - wszystko wedle potrzeb.
Tylko czy przy niskim pułapie cenowym znajdziemy coś lepszego niż zdziadziałe Atomy? Na ile konkurencyjne są te układy względem Raspberry Pi 3, Odroida XU4, czy Rock64Pro?
W przypadku Raspberry Pi chodzi o coś znacznie więcej niż tylko surowe osiągi, ale w przypadku rynku zalanego różnymi, głównie chińskimi SBC ARM dostajemy tylko osiągi
i zazwyczaj niewiele więcej. Starty kernel ze względu na własnościowe sterowniki, stara dystrybucja Linuksa, słabe i problematyczne osiągu układów graficznych Mali plus niewielkie wsparcie producenta. Co chwilę można usłyszeć o Raspberry Killer
, który rzuca jakiś ładny ficzer i chce się wypromować nie oferując tak naprawdę nic wartościowego.
Czasami też producenci urządzeń konsumenckich wybierają te układy - czy to z niewiedzy, czy chęcie uzyskania dodatkowej darmowej promocji. NAS chwalący się integralnością danych i wydajnością chący użyć Raspberry Pi 2 i dysk na USB? Producent kamer astronomicznych z interfejsem USB3 wybiera Raspberry z portami USB2 mogące przechowywać dane tylko na karcie SD (gdzie kamera jest w stanie wyprodukować kilkaset GB danych). To dość często prowadzi do rozdwojenia oczekiwań użytkowników tych SBC - z jednej strony mamy misję i naukę stojącą za Raspberry Pi, z drugiej wypatrywanie nowych złączy i osiągów na coraz to ogłaszanych nowych SBC czy nowych wersjach Raspberry Pi. Jak na razie nikt nie pogodził ekstremalnie niskiej ceny z wydajnością i możliwościami współczesnego PCta.
Majsterkowicze, konsumencki rynek IoT i elektroniki jest zalewany nowymi płytkami i produktami lecz niewiele, jeżeli cokolwiek ulega poprawie. Może warto jednak popatrzeć w stronę x86, wykorzystać mocne strony tej rodziny procesorów? wybrać lepszą jakość i dopracowane sterowniki, lepsze wsparcie oprogramowania czy systemów operacyjnych? A może świat SBC ARM nie traci wiele i wystarczy że weźmie się za poprawę najbardziej oczywistych problemów, czy modeli biznesowych
?
Tanie płyty główne x86
Poniżej znajdziecie listę płyt głównych, które użyłem w testach i porównaniach do tego zestawienia. Część z nich pochodzi z rynku wtórnego, lecz jest na tyle dostępna na aukcjach Allegro czy ebay że nie powinno być problemów z zakupem jakiegoś wariantu.
Qotom Mini PC Pico ITX Z3735F
Płyta główna dostępna w kilku kopiach na Aliexpress będąca desktopową adaptacją układu stosowanego w tabletach.
- Cena: około 85 USD
- Procesor: Intel Atom Z3735F 4 x 1,33 GHz; 2,2W TDP
- RAM: 2 GB DDR3 1333MHz
- Pamięć: 32GB eMMC
- Oprogramowanie: Windows 8.1 / Windows 10 Pro
- Złącza: HDMI, VGA, Ethernet, 2 x USB2, MicroSD, micro USB, wtyk zasilania 5V
- Realtek RTL8723BS WiFi/BT, Realtek RTL8152B Ethernet
- Benchmarki: userbenchmark
Ta płyta główna oferuje ograniczony zestaw interfejsów niemniej jest bardzo mała jak i wyposażona została we wszystkie podzespoły - RAM, pamięć i gotowy do użycia system operacyjny. Przy uruchomieniu pojawił się ekran wyboru Windowsa 8.1 Pro i Windowsa 10 Pro - po wybraniu tego drugiego system operacyjny uruchomił się bez problemów. Ze względu na bardzo prosty układ graficzny odpaliłem tylko podstawowe testy UserBenchmark. Według producenta system nie posiada aktywnej licencji.
W przypadku Linuksa - nie jest możliwe odpalenie systemu z portu USB - nie przewiduje tego konfiguracja UEFI. Powinna być opcja restartu z użyciem innego nośnika z systemem kompatybilnym z EFI (współczesne dystrybucje raczej nie mają z tym problemu), lecz nie udało mi się jeszcze tego sprawdzić.
Płytka tego typu nadaje się do prostych systemów wbudowanych, szczególnie tam gdzie potrzebny jest MS Windows lub płytka ze wszystkimi komponentami na PCB, gotowa do użycia.

Qotom Mini PC Pico ITX Z3735F

Qotom Z3735F dół

Qotom Z3735F zdjęcie w podczerwieni
Piesia nano ITX N2806
Kolejna mała płytka z Aliexpress, która w różnych odmianach jest używana w różnych przemysłowych
nettopach różnych producentów.
- Cena: około 85 USD
- Procesor: Intel Celeron N2806 2 x 1,6GHz; 4,5W TDP
- RAM: brak; gniazdo DDR3 SODIMM
- Pamięć: brak; 2 x mSATA, 1 x SATA III
- Oprogramowanie: brak
- Złącza: HDMI, VGA, USB 3, USB 2, 4 x Ethernet, wtyk zasilania i terminal-block 12V
- Benchmarki: Userbenchmark
Ta płyta główna występuje w różnych konfiguracjach złączy. Wersja, która do mnie dotarła wyposażona została w cztery kontrolery Ethernetowe - więc potencjalnie może pełnić rolę switcha/routera. Po wyposażeniu w pamięć i dysk można bez problemu zainstalować Windowsa jak i Linuksa. W przypadku złącza SATA będzie potrzebny niestandardowy kabel zasilający.
Wyspecjalizowane płyty główne tego typu stosowane są w dedykowanych rozwiązaniach różnego typu. Ta płyta główna ma 4 gniazda Ethernet, ale są też wersje z szeregiem portów COM lub większą ilością złączy USB.
Dość słaby procesor nie pozwoli na wiele jeżeli chodzi o moc obliczeniową czy multimedia, akcelerację 3D. To raczej płytka pod rozwiązania sieciowe, serwer z dyskami mSATA SSD.

Piesia N2806

Piesia N2806 bok

Złącza Ethernetowe

Radiator procesora

Górna część płyty głównej w podczerwieni

Dolna część płyty głównej w podczerwieni
Anonimowa płyta N3160 thin mini ITX
Ostanią płytą główną z Aliexpress będzie płyta z procesorem Intel Celeron N3160 w formacie thin mini-ITX. Format ten narzuca limit wysokości komponentów na płycie głównej, jak i nie wykorzystuje złącza ATX do zasilania.
- Cena: około 63 USD
- Procesor: Intel Celeron N3160 4 x 1,6 GHz; 6W TDP
- RAM: brak; gniazdo DDR3 SODIMM
- Pamięć: brak; 2 x mSATA, 1 x SATA III
- Oprogramowanie: brak
- Złącza: HDMI, VGA, 4 x USB 3, 2 x USB2 (wewnętrzne), Ethernet, wtyk zasilania 12V
- Benchmarki: UserBenchmark
W zestawie z płytą główną dostajemy oba kabla SATA oraz przycisk power na przewodzie. Dzięki formatowi thin mini-ITX płytę tą można zamontować w bardzo niskich kompaktowych obudowach.
Na Aliexpres występują różne odmiany tej jak i podobnych płyt głównych. Podobnie jak poprzednia ta rodzina płyt głównych również jest nastawiona na przemysłowe
nettopy. Po zamontowaniu pamięci i RAM można bez problemu zainstalować Linuksa czy Windowsa 10.
Złącza USB3 i niska cena mogą stanowić ciekawą propozycję do projektów potrafiących wykorzystać możliwości takiej płyty głównej. W zestawie znajduje się potrzebne okablowanie (niestandardowy przewód zasilający SATA), lecz brakuje I/O shield.

Płyta główna z N3160

N3160 w podczerwieni
MSI E350DM-E33
Płyta główna MSI E350DM-E33 to przykład jednej z wielu płyt głównych wyposażonych w starsze generacje procesorów AMD - E-350, E-450, C60, C70, A4-5000 i temu podobne. Większość z nich nie jest już dostępna w sprzedaży, ale na rynku wtórnym jest ich bardzo dużo.
Wybrany model, który mogłem przetestować to płyta główne mATX wyposażona w mały wentylator niemniej dostępne są wersje pasywnie chłodzone, jak i laptopy, komputery all-in-one czy nettopy z tymi procesorami w cenach nawet rzędu 200 zł. Mogą być więc użyte w różnych ciekawych projektach.
- Cena: około 25-30 USD używane
- Procesor: AMD E-350 2 x 1,6GHz; 18W TDP
- RAM: brak; dwa gniazda DDR3 DIMM
- Pamięć: brak, 6 x SATA II
- Oprogramowanie: brak
- Złącza: VGA, DVI, HDMI, 6 x USB2; x4 PCIe 2.0, dwa PCIe x1 2.0; PCI; złącze zasilania ATX 24 i 4-pin
- Benchmarki: UserBenchmark
Tanie procesory AMD starej generacji nie miały najlepszych osiągów, ale zazwyczaj wygrywały ze słabymi Atomami Intela. Na rynek trafiła ogromna ilość gotowych urządzeń jak i płyt głównych z wbudowanymi procesorami. Obecnie są dostępne na rynku wtórnym w bardzo niskich cenach. Jeżeli komputer, czy płyta główna jest w pełni sprawna można pomyśleć o jej wykorzystaniu.
W tym przypadku mamy do dyspozycji sporą ilość złączy SATA II - nie są to co prawda SATA III, ale niemniej jako serwer plików, czy prosty komputer powinno to wystarczyć. Obecność złączy PCIe oznacza iż możemy podłączyć dedykowane karty graficzne, albo potrzebne kontrolery. Windows 10 jak i Linux nie miały problemu z tą płytą główną. Osiągi kart graficznych zazwyczaj będą bardzo mocno ograniczone przez słaby procesor (np. w grach).

MSI E350DM-E33

MSI E350DM-E33 w podczerwieni
Asrock J5005-ITX
Płyta główna Asrocka wyposażona jest w procesor Pentium J5005 - najsilniejszy i najnowszy w chwili pisania artykułu procesor Intela w kategorii energooszczędnych procesorów Atom
. Płyty główne z tym procesorem nie są łatwo dostępne, a cena ostatnio rośnie - zapewne w związku z brakiem mocy przerobowych w fabrykach Intela. Płyta główna zaczęła od około 500 zł, a obecnie kosztować możen nawet 600 zł co nie jest ceną aż tak wartą uwagi jeżeli chcemy zbudować normalny komputer PC, tym bardziej do grania.
- Cena: około 135 USD
- Procesor: Pentium J5005 4 x 1,5GHz; 10W TDP
- RAM: brak; dwa gniazda DDR4 SODIMM
- Pamięć: brak; 4 x SATA III
- Oprogramowanie: brak
- Złącza: HDMI, DVI, VGA, 2 x USB3, 2 x USB2, Ethernet, PCIe x1 3.0, M.2 na moduł WiFi/BT.
- Benchmarki: UserBenchmark
Głównymi zaletami tej płyty głównej i procesora Intela jest sprzętowe wsparcie dla wielu formatów multimedialnych, w tym 10 bitowego HEVC jak i obsługa rozdzielczości 4K przy 60FPS, czy do trzech ekranów na raz. Procesor ten dostępny jest też w wybranych modelach nettopów (np. Gigabyte Brix, Intel NUC) i komputerów integratorów (np. Dell). Niektóre z nich oferują wyjście DisplayPort.
To co czyni tą płytę główną szczególną to jej pasywne chłodzenie - na chwilę obecną jest to chyba najsilniejszy procesor pasywnie chłodzony przez producenta płyty. Są dostępne pasywne chłodzenia dla silniejszych procesorów o TDP rzędu 35 i więcej wat, lecz to już wykracza poza zakres cenowy tego porównania.
Zakup tej płyty głównej można rozważać gdy chcemy całkowicie bezgłośny komputer, który musi radzić sobie z multimediami wysokiej jakości (w tym także Netflix), czy codziennymi PCtowymi zadaniami. Sprawdzi się też jako bezgłośny serwer plików - do dyspozycji mamy aż cztery porty SATA. Pytanie na ile wysoka cena przełoży się na osiągi?


Asrock J5005-ITX

Superposition benchmark 720p iGPU

Superposition benchmark 1080p GTX 1050 Ti
Procesor jest na tyle wydajny, że można próbować odpalać na nim gry - oczywiście z pomocą dedykowanej grafiki. W tym przypadku pasywnie chłodzony procesor został połączony z pasywnie chłodzoną kartą graficzną - GTX 1050 Ti KalmX. Karta ta oferuje przyzwoite osiągi na niezbyt wysokich ustawieniach na rozdzielczości 1080p - niemniej i tak ten 10W procesor będzie ją nieco ograniczał. Dodatkowo karta graficzna może być podłączona tylko poprzez PCIe x1 3.0 - co ma dość ograniczoną przepustowość. Jako że Asrock J5005-ITX ma zamknięty slot PCIe x1 to kartę graficzną ze złączem x16 trzeba podłączyć poprzez riser PCIe.

J5005-ITX w podczerwieni

Pasywnie chłodzona karta GTX 1050 Ti

RX Vega 64
Fallout 76 na J5005 + GTX 1050 Ti
Alternatywne rozwiązania
Jak na razie wymieniłem standardowe płyty główne - czy to konsumenckie, czy bardziej przemysłowe. W kategorii tanich rozwiązań x86 trzeba także uwzględnić rynek wtórny, a w szczególności rynek części zamiennych. Na allegro, czy ebay możemy znaleźć płyty główne do laptopów, czy komputerów integratorów. Nie każda płyta główna tego typu będzie łatwa do wykorzystania w niestandardowy sposób, lecz majsterkowicz zawsze będzie miał się z czym pobawić.
Pierwsza grupa to płyty główne laptopów. Ograniczając się do np. płyt głównych z lutowanymi procesorami możemy znaleźć ciekawą płytę w niskiej cenie. Niemniej nie wszystko wygląda tak łatwo jak się wydaje. Niektóre laptopy używają kilku PCB połączonych ze sobą i użycie tylko głównej płyty nie da nam działającego laptopa. Jeżeli rozważasz taki zakup - szukaj płyt głównych posiadających wszystkie złącza, wliczając gniazdo na wtyk zasilacza. Dodatkowym problemem do rozwiązania będzie chłodzenie procesora - trzeba będzie dopasować niestandardowy radiator, czy inny układ chłodzenia. Czasami dostępne są również tanie ekrany, a jeżeli ich nie ma lub mamy inne plany - sprawdź czy laptop ma złącze HDMI, VGA, czy DP. Dodatkowo musisz np. znaleźć na płycie głównej złącze odpowiedzialne za włączanie laptopa - coś co nie będzie zazwyczaj udokumentowane w sieci.

Płyta główna HP Envy 15-AS z i7-6560U
Druga grupa to płyty główne komputerów integratorów. Np. HP czy Dell oferują szeroką gamę gotowych PCtów. Z czasem części zamienne, lub części z rozbiórek trafiają na rynek wtórny. Daje to możliwość wykorzystania tych części we własnych projektach. Niemniej sporym problemem może być kompatybilność. Komputery integratorów, dla których nie przewidziano modyfikacji przez klienta mogą mieć ograniczone wsparcie dla podzespołów, nawet na poziomie białych list w BIOSie. Jeżeli nie użyjemy specyficznych kości RAM, czy nawet dysku - system może się nie uruchomić. Kupuj ostrożnie.
Wspomniane problemy natrafiłem testując płytę główną DAFT3L-Kelia A4-6210 wykorzystywaną w komputerach Acer Aspire XC-105 i Packard Bell S2910. Jest ich bardzo dużo na Allegro, ebay i w różnych sklepach z częściami. Przy cenie 190 zł z procesorem A4-6210 można próbować wykorzystać taką płytę główną do jakiś celów multimedialnych, czy do obsługi wielu ekranów. Niemniej testowany egzemplarz nie widział nośnika danych (dysk podłączony przez SATA lub na USB) i nie pozwalał wejść do BIOSu - albo wymaga specyficznych podzespołów, albo jak to zdarza się częściom z rynku wtórnego - płyta jest uszkodzona.

DAFT3L-Kelia A4-6210
Trzecią grupą są nettopy i części z nettopów. Z założenia są to małe PCty z energooszczędnymi podzespołami. Jako że zazwyczaj są oferowane w wersji barebone posiadają szersze wsparcie dla podzespołów. Niemniej jeżeli chcemy wykorzystać niestandardową obudowę to sami będziemy musieli zadbać o chłodzenie podzespołów, czy doprowadzenie. Lepiej szukać kompletnych nettopów, czy nawet komputerów all-in-one.

Płyta główna HP ELITEDESK 705 G2 z AMD A12-8800
Nowe nettopy z niskonapięciowymi procesorami podobnymi do tych z płyt głównych na początku artykułu zaczynają się od około 500zł. W zestawie dostajemy płytę główną w obudowie i z zasilaczem. Zazwyczaj sami musimy dokupić i zainstalować RAM i dysk. Bardziej wydajne to wydatek 1000 i więcej złotych. Zaprezentowana powyżej płyta główna z HP ELITEDESK 705 G2 wyceniona została na aukcji na 250 zł, gdzie oryginalny komputer HP kosztuje znacznie więcej - niemniej żeby użyć tej płyty głównej w niestandardowej obudowie będziemy musieli rozwiązać problem chłodzenia procesora. Dodatkowo te części nie są powszechnie dostępne, więc dość często takie płyty główne to jednokrotna okazja (i raczej nie znajdziemy dokumentacji płyty głównej).
Komputery SBC ARM
Energooszczędne procesory x86 porównałem z popularnymi obecnie SBC ARM. Raspberry Pi 3+, Odroid XU4 i RockPro64. Odroid ma najsilniejszy układ graficzny, natomiast RockPro64 ma szansę wyjść na prowadzenie dzięki złączu PCIe.
Raspberry Pi 3+
- Cena: około 45 USD
- Procesor: BCM2837B0 4 x 1,4GHz
- RAM: 1 GB LPDDR2
- Pamięć: brak; slot na kartę microSD
- Oprogramowanie: brak
- Złącza: HDMI, 4 x USB2, Ethernet, GPIO, złącze micro-USB do zasilania
Kolejna generacja Raspberry Pi. Niska cena, świetne wsparcie społeczności i sporo możliwości zabawy z elektroniką poprzez GPIO. Niemniej sprzętowo ma spore ograniczenia i z każdą nową wersją jest narzekanie na brak USB3, czy przepustowość interfejsów. Mimo iż Raspberry nie miało być pełnoprawnym desktopem, niektórzy chcą używać taką płytkę jako Pecet, co może prowadzić do frustracji.
Odroid XU4
- Cena: około 95 USD
- Procesor: Exynos5422; 8 rdzeni
- RAM: 2 GB LPDDR3
- Pamięć: brak; slot na kartę microSD lub eMMC
- Oprogramowanie: brak
- Złącza: HDMI, USB2, 2 x USB3, Ethernet, złącze na zasilacz 5V/4A
Odroid XU4 jest dość dobrze znaną płytką dostępną w kilku wariantach, w tym jednym ze złączem SATA. Można więc wykorzystać dość mocny procesor ARM do różnych projektów w niskiej cenie. Wbudowany układ graficzny jest najsilniejszy spośród wszystkich trzech wymienionych tutaj - niemniej nadal jest to mobilny układ graficzny.
RockPro64
- Cena: około 95+ USD
- Procesor: RK3399; 6 rdzeni
- RAM: 4 GB LPDDR4
- Pamięć: brak; slot na kartę microSD lub eMMC
- Oprogramowanie: brak
- Złącza: HDMI, 2 x USB2, USB3, Ethernet, PCIe x4 2.0, złącze na zasilacz 12V
To dość nowa płytka, którą wyróżnia obecność złącza PCIe x4. Można podłączyć różne kontrolery, adapter NVMe SSD i temu podobne. Potencjalnie takżde dedykowane karty graficzne AMD i Nvidii (ale to temat na oddzielny artykuł). Prosto od producenta dostaniemy RockPro64 w cenie około 95 dolarów. W sklepach detalicznych w Europie cena jest już wyższa, czasami dość spekulacyjnie bo mało kto ma ją na stanie. Niemniej sam SoC nie jest aż tak mocny jak Exynos5422.

Płytki z ARM SoC

Odroid XU4 w podczerwieni

Raspberry Pi 3 w podczerwieni

Rock64Pro w podczerwieni
Porównania i benchmarki
Większość Linuksowych benchmarków udało mi się wrzucić na openbenchmarking.org (plus wyniki GLmark), lecz niestety nie wszystkie, część wyników nie przesłała się na serwery Phoroniksa ze względu na błędy usługi. W miarę możliwości postaram się je wrzucić w późniejszym terminie. Do porównania poszczególnych procesorów Intela między sobą można użyć wyników benchmarków UserBenchmark.

Czas kompilacji Kernela

Procentowy wynik testów CPU UserBenchmark

Konwersja plików RAW do PPM

Test wydajności operacji zmiennoprzecinkowych
Powyższe testy skupiają się głównie na testowaniu wydajności procesora. Kompilacja Kernela Linuksa jest w stanie wykorzystać wiele rdzeni jak i może być czasami ograniczana przez wydajność systemu plików. Odroid XU4 z jedną z kart MicroSD GoodRAM był ekstremalnie powolny - ale to temat do omówienia w oddzielnym artykule. Na potrzeby tego porównania ograniczyłem wyniki do tej samej karty MicoSD SanDiska.
Jak widać Pentium J5005 osiąga zazwyczaj ponad dwa razy lepszy wynik od najbliższej konkurencji, którą stanowią wydajne procesory ARM z tego zestawienia - Exynos5422 i RK3399. Pozostałe niskonapięciowe procesory Intela, czy procesor AMD E-350 z 2011 roku mogą co najwyżej konkurować z Raspberry Pi, choć wygrana też nie musi być gwarantowana.
To dość ciekawe wyniki, pokazują jak silne są procesory ARM w segmencie energooszczędnych i małych procesorów. Mimo obsługi większej ilości peryferiów procesory x86 Intela nie okazują się dominującymi faworytami. Dopiero najmocniejszy i najnowszy, a zarazem dość drogi J5005 jest w stanie znacząco wygrywać.

Wydajność generowania podpisów RSA 4096-bit
W przypadku tego benchmarku duże znaczenie ma obsługa instrukcji optymalizujących tego typu operacje niemniej ogólna wydajność procesora też musi iść w parze. Oba procesory Intela obsługują instrukcje AES-NI, lecz tylko J5005 jest w stanie skutecznie wykorzystać swój potencjał.

Czas potrzebny na wstawienie kolekcji danych do bazy SQLite
Ten test skupia się bardziej na wydajności systemu plików, obsłudze bariery zapisu (wymuszanie zapisu danych a nie tylko trzymanie ich w ulotnym keszu), choć i procesor ma w tym swój udział. Wszystkie płyty główne z procesorami x86 używały dysku SSD, natomiast wszystkie SBC z procesorami ARM karty MicroSD SanDiska. Procesor N3160 mimo fatalnej wydajności gdy nie jest ograniczony obliczeniowo jest w stanie uzyskać dobry wynik.
J5005 wydaje się korzystać z jakiś dodatkowych optymalizacji, tudzież nowszych podzespołów jak pamięć DDR4. Płytki ARM, szczególnie RockPro64 wymagają dalszych testów z kartą MicroSD optymalizowaną pod losowe operacje I/O (będę testował kartę klasy A2 oferującą bardzo wysoką optymalizację pod tego typu operacje). Niemniej warto mieć to na uwadze jeżeli chcemy implementować aplikacje mocno polegające na operacjach I/O - karty SD, czy nawet niektóre dyski SSD mogą słabo sobie radzić albo z losowym I/O albo z barierą zapisu.

Test OpenGL QGears2

Test OpenGL GLmark2 800 x 600
Testowanie wydajności wbudowanego układu graficznego w ARMowskie SoC jest dość trudne na klasycznym desktopowym Linuksie. Implementują one obsługę OpenGL ES ale już niekoniecznie pełnego OpenGL przez co aplikacje wykorzystujące akcelerację 3D OpenGL mogą mieć problemy nie tylko z wydajnością, ale nawet z uruchomieniem się. Do tego QGears2 miał problemy z kompilacją na architekturze ARM.
Raspberry Pi 3 była w stanie odpalić GLmark2, ale wydajność była bardzo słaba i widoczne były artefakty. RockPro64 generował już płynniejsze animacje, ale nadal miał kilka artefaktów. Odroid XU4 poradził sobie bez problemu przy średnio 40 FPS. Współczesne dedykowane karty graficzne typu GTX 1050 Ti, czy GTX 1060 osiągają nawet ponad tysiąc klatek na sekundę w tym benchmarku. Uzyskane wyniki idą w parze z dostępnymi w sieci wynikami dla poszczególnych układów graficznych - Exynos5422 ma najsilniejszy układ z tej trójki.
N3160 ponownie pojawia się z dala od końca
- mimo słabej wydajności procesora daje radę zintegrowanym układem graficznym w pełni implementującym pełen standard OpenGL.
Układy graficzne Mali jakie znajdziemy w większości SoC ARM nie posiadają sterownika w drzewie Kernela Linuksa, kod nie jest dostępny na otwartej licencji i od dawna są problemy z wieloma SBC gdy szwankuje akceleracja 3D z powodu braków lub problemów z własnościowym sterownikiem Mali. Dodatkowo te układy projektowane są pod urządzenia mobilne. Raczej nie powinniśmy liczyć na implementację OpenGL, prędzej będzie to obsługa Vulkana (niektóre z nich implementuję jakąś obsługę DirectX), który z czasem powinien poprzez Waylanda i kompatybilne kompozytory zastąpić X11 i rozwiązania oparte o OpenGL.
Podsumowanie
Jakie wnioski można wynieść z tego przeglądu i porównania ARM vs x86? Współczesne procesory ARM nie odstają aż tak od procesorów x86 jeżeli chodzi o ogólne osiągi. Oczywiście nieco droższe procesory x86 będą wyraźnie lepsze, lecz idąc z ceną w górę po prostu dostajemy więcej i więcej osiągów. Osoby zainteresowane wykorzystaniem SBC za 200-300 zł raczej nie patrzą na płytkę za 600-900 zł.
Wybierając bardzo tanie tabletowe/energooszczędne procesory Intela dostaniemy obsługę współczesnych interfejsów, ale osiągi będą niskie. Wybierając rozwiązania oparte na architekturze ARM otrzymamy potencjalnie nieco niższą cenę, trochę lepsze osiągi, ale nieco bardziej ograniczony zestaw interfejsów. Natomiast bardziej high-endowe
, serwerowe rozwiązania ARM będą bardzo drogie i przeznaczone dla zupełniej innej grupy odbiorców. Bardzo ciężko o coś pośrodku co byłoby dostępne dla masterkowiczów
. Chromebooki, czy iPady mogą pochwalić się silnym procesorem ARM, ale cena będzie wyższa jak i będzie to urządzenie czysto konsumenckie.
Jeżeli coraz to nowym płytkom z SoC ARM zależy na byciu desktopem to niestety potrzebne są zmiany. Ze sterownikami Mali za wiele się nie zmieni, można tylko liczyć że słabsze warianty zostaną szybciej wyparte przez nowsze, silniejsze z obsługą Vulkana, nalepiej poprzez sterownik z drzewa Kernela, lub taki łatwy do zainstalowania - wtedy przyszłościowy desktop i aplikacje Linuksa mogą zacząć oferować lepszą jakość. Inaczej APU Ryzen 3, Athlony, czy Intelowskie Core i3 w niskobudżetowych komputerach PC będą oferować nieporównywalnie lepszą jakość - nie ma co liczyć że wydajny nowoczesny SoC ARM będzie tak tani jak Raspberry Pi - ceny dość szybko rosną już teraz listując płytko od najsłabszych do najsilniejszych. Jeżeli x86 oferuje bezproblemową obsługę Linuksa, Windows, popularnych aplikacji, czy nawet grania - co może zaoferować płytka z SoC ARM za 600+ PLN? Za droga na projekt IoT, za słaba i za bardzo ograniczona by być konsumenckim produktem, konsumenckim desktopem. Pozostają zastosowania do dedykowanych systemów wbudowanych, do specyficznych urządzeń jak Chromebooki, lecz firmy zalewające rynek płytkami SBC chyba za bardzo na to nie patrzą. Może najpierw coś poprawmy, przemyślmy zanim wrzucimy na rynek kolejną płytkę?
Karty microSC mogą być zawodne, mechaniczne złącze też nie gwarantuje że karta pozostanie w miejscu w urządzeniu i nie skoroduje (np. pracująca na otwartej przestrzeni, czy w różnym zakresie temperatur i wilgotności. Karty optymalizowane pod smartphony z lepszą obsługą losowego I/O są wyraźnie droższe. eMMC pojawia się na wielu płytkach, lecz też jeżeli nie jest to rozwiązanie lutowane to trwałość może nie być pewna. SATA, czy tym bardziej mSATA i M.2 to interfejsy, które powinniśmy widziej częśćiej - i z obsługą bootowania z tych nośników, a nie tylko eMMC, czy SD. Przy pierwszych testach Odroida XU4 z kartą microSC GoodRAM natrafiłem na fatalne osiągi w niektórych testach, które uległy normalizacji
po zmianie karty. Rock64Pro w ogóle nie uruchomił się na karcie GoodRAM, natomiast na karcie SanDiska działał tylko przez jakiś czas, po czym zgłosił problemy z kartą. Ponowne wypalenie obrazu na kartę SD nie pomogło (choć nadal działa z innymi SBC).
Zbierając sprzęt do tego porównania oczekiwałem iż współczesne procesory Intela będą miały wyraźną przewagę. Zostałem mile zaskoczony wydajnością Odroida czy Rock64Pro. Lecz główną przyczyną tego porównania nie były osiągi lecz rozwiązywanie problemów jakie ARMowskie SBC wykazują - brak obsługi współczesnych interfejsów, lepsze wsparcie dla oprogramowania i podzespołów. W tym przypadku płyty x86 wypadają znacznie lepiej. Linuks, Windows - działają bez problemu. J5005 z GTX 1050 Ti bez problemu był w stanie obsłużyć betę Fallouta 76. Tak więc jeżeli szukasz lepszego
SBC - popatrz na rozwiązania oparte o x86.
Comment article