artykuły

Rzecz o procesorach ARM, ich pojedynku z procesorami x86 oraz ich przyszłości

Anatomia ARM

82 6 sierpnia 2016, 09:00 Mieszko Krzykowski, Mateusz Brzostek

ARM kontra Linux

To jednak nie koniec naszych testów i porównania wydajności układów ARM i x86. Poznajcie Jetsona TX1:

Jest to platforma deweloperska Nvidii oparta na Tegrze X1 z 4 GB pamięci DDR4 – czyli tej samej, która jest montowana w konsoli Shield TV. Jetson TX1 ma pewną bardzo ważną zaletę: na jego 16-gigabajtowym nośniku eMMC zainstalowano Ubuntu 14.04 (od niedawna w 64-bitowej wersji). A to pozwoliło nam wykonać pewne testy, których nie moglibyśmy uruchomić na smartfonie lub tablecie.

Żeby zbadać linuksową wydajność procesora zamontowanego w Jetsonie TX1, skorzystaliśmy z wybranych testów narzędzia Phoronix Test Suite w wersji 6.4.0 i porównaliśmy wyniki z osiągami kilku platform x86, na których również zainstalowaliśmy Ubuntu 14.04. Na główny punkt odniesienia wybraliśmy Phenoma II X4 975, którego spowolniliśmy do 2 GHz, czyli do częstotliwości, z którą taktowane są duże rdzenie Tegry X1. Dlaczego akurat Phenom II? Potrzebowaliśmy starszego desktopowego procesora o dobrze wszystkim znanej wydajności, którą można w miarę łatwo odnieść do wyników współczesnych jednostek centralnych (na przykład podczas lektury naszych artykułów o tym, jak zmieniała się wydajność procesorów Intela i AMD). Niestety, nie mieliśmy dostępu do procesora pokroju Q6400 (cztery rdzenie Conroe taktowane z częstotliwością 2,13 GHz) i platformy LGA775, które to zapewne spisałyby się lepiej w tych zastosowaniach. Jest to rozwiązanie dalekie od ideału i wiemy, że przydałaby się znacznie obszerniejsza baza wyników, ale ze względów czasowych i technicznych (o których więcej za chwilę) zdecydowaliśmy się poprzestać na tym, co widzicie poniżej.

Phoronix Test Suite 6.4.0
(Kliknij na nazwę testu w tabelce, żeby otworzyć wykres)
C-Ray 1.1 SmallPT
John the Ripper 1.8.0 – Blowfish Open SSL
x264 Kodowanie FLAC
7-Zip benchmark Kompresja BZIP2
Kompilowanie Apache MAFFT

Na początek jedna bardzo ważna obserwacja. Porównajcie wyniki uzyskane w 7-Zipie przez Jetsona TX1 z osiągami konsoli Shield TV, które można znaleźć na poprzedniej stronie tego artykułu. Podpowiemy, że Jetson osiąga 3863 MIPS, a Shield TV – 6586 MIPS. Ten sam benchmark, ten sam procesor, ale inny system i sposób kompilacji. Co ciekawe, zmiana systemu i kompilatora nie zaszkodziła platformom x86, których wyniki zamieszczone na poprzedniej stronie zostały uzyskane w Windows i nie różnią się zbytnio od rezultatów widocznych powyżej. Podobnie duże różnice można zauważyć podczas analizy wyniku testu x264: Jetson TX1 odstaje w nim od Phenoma II taktowanego z częstotliwością 2 GHz znacznie bardziej (o mniej więcej 33%) niż Shield TV (niecałe 17%). Oczywiście, w przypadku testu x264 dochodzą jeszcze inne czynniki i nie jest to aż tak bezpośrednie porównanie jak w przypadku 7-Zipa (trochę inne ustawienia kodowania, inny plik testowy itd.), jednak daje to do myślenia. 

Spostrzeżenia te wskazują, że testy składające się na Phoronix Test Suite uruchomione w Ubuntu zainstalowanym w Jetsonie TX1 z jakiegoś powodu mogą nie pokazywać pełni możliwości Tegry X1. Nie wiemy, czy jest to kwestia użytego kompilatora, przypadłość systemu platformy deweloperskiej Nvidii czy jeszcze innego czynnika, nad którym nie mamy kontroli. Dlatego podchodzimy do powyższych wykresów ze sporą rezerwą.

Nawet jeśli Phoronix Test Suite i Jetson TX1 nie są najlepszym połączeniem i Tegrę X1 stać na więcej, niż wskazują powyższe słupki, to i tak pokusimy się o wyciągnięcie pewnych wniosków.

Przede wszystkim powyższe wykresy dobrze pokazują, jak dużo zależy od doboru testów. W niektórych z nich (C-Ray, MAAFT, x264) Tegra X1 wypada bardzo dobrze i zbliża się na niewielką odległość do 2-gigahercowego Phenoma i mobilnych procesorów Intela, co sugeruje, że nowsze i szybsze architektury, takie jak: ARM Cortex-A72, ARM Cortex-A73, Qualcomm Kryo, powinny w nich dogonić (lub nawet przegonić) Phenoma II. A to oznacza, że najnowsze smartfony nie mają pod względem wydajności daleko do procesora Intel Core 2 Quad Q6400.

Natomiast w innych wygląda to znacznie gorzej. Skrajne przypadki to test szyfrowania Open SSL i test SmallPT (renderowanie globalnej iluminacji). Przypominają nam one o tym, że często programista ma więcej do powiedzenia w kwestii wydajności architektury procesora od jego twórców.

Mimo to widzimy, że moc obliczeniowa smartfonowych i tabletowych procesorów powoli zbliża się do tego, co kilka lat temu było zarezerwowane dla desktopów i drogich laptopów, więc wizja smartfona wkładanego do biurkowej stacji dokującej z myszką, klawiaturą i monitorem, pozwalającego na w miarę komfortową pracę, staje się coraz klarowniejsza. Tylko jeszcze trzeba popracować nad throttlingiem, kompilatorami i optymalizacją kodu pod kątem architektur innych niż x86, bo te czynniki wyraźnie stoją na drodze układów ARM.

7