Wieloprocesorowy

Wieloprocesorowych komputer ma wiele procesorów , a zatem jest to forma równoległej architekturze .

Cel

W systemach komputerowych można zastosować kilka form paralelizmu. Komputery wieloprocesorowe umożliwiają równoległość zadań, w której proces może być wykonywany na każdym procesorze. W ten sposób uzyskuje się większą moc obliczeniową niż w przypadku komputera jednoprocesorowego, który może być użyty albo do kilku programów, z których każdy miałby procesor, albo do specjalnie zaprojektowanych programów, które są zdolne do dystrybucji swoich obliczeń na różne procesory.

Technologia ta została zastosowana w superkomputerach, ale można ją również wykorzystać do pokonania ograniczeń związanych ze wzrostem częstotliwości procesorów: mówi się, że wiele obecnych procesorów jest wielordzeniowych i w rzeczywistości osadza kilka jednoprocesorów na tym samym chipie.

Topologia połączeń wzajemnych

Sieć umożliwia komunikację między różnymi procesorami i pamięcią. Jej topologia ma istotny wpływ na właściwości systemu. Użyto prawie wszystkich topologii; niemniej jednak możemy zilustrować niektóre z nich:

Organizacja pamięci

Dostęp do pamięci ma duży wpływ na wydajność i sposób programowania takich architektur. Ogólnie istnieją trzy klasy procesorów wieloprocesorowych w zależności od tego, w jaki sposób procesory uzyskują dostęp do pamięci:

Procesory wielordzeniowe

Systemy wieloprocesorowe zużywają dużo energii i wydzielają dużo ciepła. Te dwa czynniki są ograniczające w kontekstach, w których procesory są ściśle ograniczone (na przykład serwery kasetowe) lub w bardzo dużych ilościach (centra danych grupujące razem tysiące komputerów lub masowo równoległe superkomputery).

Technologia o nazwie multicore ( w języku angielskim wielordzeniowy ) umożliwia montaż kilku rdzeni procesorów obok siebie na krzemie: wsparcie (połączenie, które łączy procesor z kartą elektroniczną) nie zmienia się. Niektóre elementy, takie jak pamięć podręczna ( pamięć podręczna ), mogą być udostępniane.

Możliwe jest zastąpienie, używając dokładnie tego samego nośnika, dwóch poprzednich procesorów ich wielordzeniowym odpowiednikiem. Mogłyby one na przykład pracować na częstotliwości 2,8 GHz. Wynikowa maszyna będzie zatem nadal miała dwa procesory, ale cztery rdzenie, jednak częstotliwość obliczeń zawsze będzie wynosić 2,8 GHz (każdy rdzeń procesora będzie miał taką samą częstotliwość jak inne rdzenie, ponieważ częstotliwość obliczeń jest specyficzna dla procesora, a nie dla każdego rdzenia ), tylko moc procesora (wyrażona w FLO / s lub FLOPS ) zostanie pomnożona przez liczbę rdzeni. Na przykład, jeśli jednordzeniowy procesor o taktowaniu 1 GHz i mocy 10 GFLOPS zostanie zastąpiony dwurdzeniowym procesorem (z 2 rdzeniami) o taktowaniu 1 GHz i którego moc każdego rdzenia wynosi 10 GFLOPS, to całkowita moc dwurdzeniowy procesor będzie wart 10 GFLOPÓW + 10 GFLOPÓW = 20 GFLOPÓW.

Technologia ta, związana z techniką hiperwątkowości , kwitnie. W 2008 roku Sun Microsystems bada konstrukcję trójwymiarowych wielordzeń, to znaczy z obszarem nakładania się dwóch rdzeni (a więc nałożonych), umożliwiając ustanowienie kanałów komunikacyjnych między nimi.

Te architektury są interesujące tylko dla programów, które jednocześnie nadają się do dwóch wyżej wymienionych technik (wielordzeniowych i wielowątkowości).

Historyczny

Wśród pierwszych maszyn wieloprocesorowych pionierem był Gamma 60 firmy Bull ( 1958 ), ale brakowało mu odpowiednich języków programowania .

Potem niektóre superkomputery oznaczony czas, jak C.mmp , w ILLIAC IV a Connection Machine  (en) z myślące maszyny . Obecnie wszystkie superkomputery są wieloprocesorowe, często składają się z tysięcy jednostek przetwarzających.

Przykłady systemów wieloprocesorowych

W Listopad 2008systemy operacyjne 500 najpotężniejszych superkomputerów na świecie (w TOP500 ) to:

Od listopad 2017, wszystkie superkomputery TOP500 działają w systemie Linux .

Bibliografia

  1. TOP500 - statystyki

Powiązane artykuły

Linki zewnętrzne