Systemy Wieloprocesorowe

Problem

W jaki sposób dokonać alokacji komponentów aby osiągnąć dużą wydajność obliczeniową, łatwą skalowalność oraz zminimalizować koszty komunikacji zdalnej?

Opis rozwiązania

Komponenty instalujemy w systemie wieloprocesorowym.

Systemy wieloprocesorowe – inaczej Shared Memory Multiprocessor System lub Symmetric Multi Processor – system składający się z kilku procesorów połączonych szybką magistralą, współdzielących całą lub pewien fragment pamięci. Są to systemy typu shared-memory MIMD.

Systemy wieloprocesorowe można podzielić ze względu na sposób dostępu do pamięci:

  • UMA (ang. Uniform Memory Access) – wszystkie procesory mają taki sam czas dostępu do wszystkich fragmentów pamięci – jest to architektura najczęściej spotykana,

  • NUMA (and. Nonuniform Memory Access) – procesory mają różny czas dostępu do różnych fragmentów pamięci.

Konsekwencje

Zalety:

  • Stosunkowo wysoka wydajność systemu niskim kosztem

  • Dobra skalowalność - możliwość zwiększania liczby procesorów oraz zastępowania ich szybszymi jednostkami

  • Niski koszt

  • Prostota implementacji modułów

  • Wyeliminowanie konieczności zdalnej komunikacji

Wady:

  • Ograniczona skalowalność - możliwość zwiększania liczby procesorów do pewnego stopnia - nie jest możliwe uzyskanie nieskończonej skalowalności

  • Niska niezawodność

Comments