wspolczesne_systemy_komputerowe:smp [mgr Wiki]

[[wspolczesne_systemy_komputerowe:smp]]
mgr Wiki

# Systemy SMP

## Słowem wstępu

SMP (ang. Symmetric Multiprocessing, przetwarzanie symetryczne) - architektura komputerowa, która pozwala na znaczne zwiększenie mocy obliczeniowej systemu komputerowego poprzez wykorzystanie 2 lub więcej procesorów do jednoczesnego wykonywania zadań.

W architekturze SMP każdy procesor może zostać przypisany do wykonywania każdego zadania, tak aby wyrównać obciążenie (”obowiązki” są dzielone “po równo”). W architekturze SMP procesory te współdzielą zasoby pamięci oraz wejścia/wyjścia przy pomocy magistrali.

Ważną rzeczą jest wykorzystanie wielowątkowości przez programy komputerowe (oraz obsługa wielowątkowości przez system operacyjny) - upraszcza to możliwość “podzielenia” procesu dla kilku procesorów. Szczególną korzyść z przetwarzania równoległego czerpią aplikacje do renderingu i edycji wideo, małą natomiast pakiety biurowe czy gry.

Alternatywną architekturą do SMP jest MPP, przetwarzanie równoległe.

Możemy powiedzieć, że SMP to komputer z wieloma procesorami, gdzie tylko procesory są zwielokrotnione (NIE pamięć, NIE wejście-wyjście). Wszystkie procesory mają identyczne możliwości. “Jedna pamięć” oznacza spójne pamięci podręczne i jednolity czas dostępu do całej pamięci.

Rysunek poniżej przedstawia architekturę SMP:

## Przetwarzanie symetryczne

Przetwarzanie symetryczne w systemach wieloprocesorowych polega na tym, że wszystkie procesory w systemie są wobec siebie równorzędne; każdy z nich wykonuje własną, niezależną kopię systemu operacyjnego.

W architekturze SMP zasoby pamięci i wejścia/wyjścia są współdzielone przez wszystkie procesory systemu, komunikujące się z nimi za pośrednictwem wspólnej magistrali lub, w bardziej rozbudowanych systemach, przełącznika.

## Wady/Zalety

### Zalety

- stosunkowo prosty model programowy

### Wady

- ze wzrostem liczby procesorów wspólne zasoby zaczynają stanowić wąskie gardło

- spójność danych (z racji tego, że SMP stworzono w czasach, gdy procesory komunikowały się z pamięcią bez pośrednictwa pamięci podręcznej cache. Obecność własnej pamięci podręcznej wewnątrz współczesnych CPU narzuca konieczność zapewnienia spójności jej zawartości (cache coherency). Każdy z procesorów musi pod konkretnym adresem pamięci “widzieć” tę samą zawartość.)

- Przy coraz większych częstotliwościach zegara pojawiają się kłopoty spowodowane zjawiskami fizycznymi - połączenia między procesorem a pamięcią powinny być jak najkrótsze, a przy sporej liczbie procesorów dołączonych do wspólnej pamięci odległości po prostu nie mogą być małe.

- limit ilości procesorów w klasycznej architekturze SMP (maksymalna liczba procesorów w systemie “współdzielenia wszystkiego” nie powinna przekraczać 8-u, zysk wydajności na dalszej rozbudowie jest praktycznie zerowy z powodu fizycznych ograniczeń poszczególnych elementów systemu, przede wszystkim pasma przepustowości interfejsu pamięci RAM.)

## Systemy operacyjne przystosowane do SMP

- BSD
- Linux
- Microsoft Windows NT
- QNX real-time operating system
- Mac OS X
- Mac OS 9
- Unix variants e.g. Sun Solaris, HP-UX
- BeOS and derivatives

wspolczesne_systemy_komputerowe/smp.txt · Last modified: 2006/05/06 20:07 by 62.233.163.154