Dziwne różnice wydajności na podobnych procesorach stacji roboczych

0

Korzystam z naukowego kodu symulacyjnego w klastrze, który ma węzły zawierające procesor Intel Xeon E5-2630 v3. Klaster używa CentOS 7.2.1511, używam wersji gcc 5.1.0, a asembler to 2.23.52.0.1-55.

Teraz próbowałem uruchomić ten sam kod na stacji roboczej znajomego, która ma dwa procesory Xeon E5-2697 v3. Ma zainstalowany Ubuntu 16.04 LTS. Na tym komputerze mój kod działa 2-2,5 razy wolniej niż na klastrze. Spodziewałem się co najmniej takiej samej wydajności jak w klastrze.

Dziwne jest to, że na stacji roboczej znajomego, spośród 30 zadań, które wykonuję, 2 z nich działają 3 razy szybciej (lub 1,5 razy szybciej niż w klastrze). W systemie są 2x28 wątków, więc pomyślałem, że ma to coś wspólnego, ale mój przyjaciel również wykonuje kilka zadań (w sumie jest ich 32).

Kod zestawu został również porównany w obu systemach i był prawie identyczny, pomimo użycia różnych wersji gcc. Kod nie jest również intensywny we / wy i wykorzystuje tylko ~ 5 MB pamięci RAM.

Co może powodować tak duże różnice w wydajności i co mogę zrobić, aby dowiedzieć się, dlaczego tak się dzieje?

EDYCJA : Również tutaj można znaleźć porównanie wydajności dwóch procesorów. Ponieważ mój kod jest jednowątkowy, ocena jednowątkowa jest tutaj ważniejsza.

Grieverheart
źródło
Czy to możliwe, że twój przyjaciel po prostu używa swojego systemu, gdy klaster jest dedykowany?
djsmiley2k
1
Link do obu procesorów: ark.intel.com/compare/81059,83356 .
Hennes,
@ djsmiley2k, jak wspomniałem, stacja robocza mojego przyjaciela używa Ubuntu 16.04 LTS, tj. wersji na komputery stacjonarne, i rzeczywiście używa go również jako zwykłego pulpitu, ale nie w tym momencie. Podejrzewam, że różnica w wydajności ma coś wspólnego z systemem operacyjnym, ale jeśli tak jest, chciałbym poznać dokładny powód.
Grieverheart,