Kiedy pojawia się przeciwko nierozerwalnej barierze, co robisz? Symetryczne przetwarzanie wieloprocesowe jest klasycznym przykładem radzenia sobie z problemem przez omijanie bariery, a nie przez jej przełamanie. Bariera technologiczna, w tym przypadku, to procesor komputerowy. Chociaż technologia CPU stale się rozwija, staje się szybsza i mocniejsza, nie rozwija się wystarczająco szybko, aby nadążyć za naszymi potrzebami komputerowymi. Jeśli nie można się przez nie przebić, jak to obejść? Odpowiedź brzmi: dodaj drugi procesor, trzeci, dziesięć lub sto. Symetryczne przetwarzanie wieloprocesowe jest architekturą komputerową, która umożliwia komputerowi dzielenie różnych zadań pomiędzy wiele procesorów pracujących jednocześnie.
Mod-29 Wy-41 Klastry, sieci i przetwarzanie w chmurze
W symetrycznym przetwarzaniu wieloprocesowym lub w SMP dwa lub więcej procesorów działa niezależnie, ale współdziel udział w banku pamięci. Podczas korzystania z procesorów, które mają więcej niż jeden rdzeń, każdy rdzeń działa jako oddzielny procesor. Każdy procesor (lub rdzeń) może być przypisany do dowolnego procesu lub wątku i może przekazywać zadania tam iz powrotem między różnymi procesorami równoważenia obciążenia. Architektura SMP jest najbardziej przydatna dla systemów pracujących jednocześnie z wieloma programami, ponieważ każdemu programowi można przypisać własny dedykowany procesor.
Oczywiście trzeba mieć system operacyjny obsługujący SMP, aby móc w pełni korzystać z wielu procesorów. Bez niego wieloprocesorowy komputer zachowywałby się jak system jednoprocesorowy - maksymalizując jeden procesor, podczas gdy pozostałe pozostają nieużywane.
Nowoczesne systemy SMP klasy podstawowej (które obecnie obejmują domowe komputery i laptopy) często mają tylko jeden procesor z wieloma rdzeniami, z których najpopularniejszymi są procesory Intel Xeon, Pentium D i Core Duo oraz procesory AMD Athlon64 i Operton. Serwery klasy podstawowej również korzystają z procesorów, a także z rodziny procesorów wielordzeniowych UltraSPARC firmy Sun Microsystems. Serwery klasy średniej zazwyczaj zawierają kilka procesorów wielordzeniowych, najczęściej od czterech do ośmiu.
Serwery wysokiej klasy mają szesnaście lub więcej procesorów wielordzeniowych. Jednak przez długi czas wysoka moc przetwarzania serwerów była blokowana przez kolejną nierozerwalną barierę - fizyczne ograniczenie adresowania pamięci o wartości 64 gigabitów. Opracowanie 64-bitowej pamięci sprzed około pięciu lat rozwinęło tę barierę. Procesor Intel AM64T Xeon, AMD64 Operton AMD i procesory Sun SPARC64 są teraz w stanie wykonywać 64-bitowe adresowanie.
Serwery klasy korporacyjnej Sun Microsystems klasy M wykorzystujące procesory SPARC64 VII są dobrymi przykładami mocy systemu SMP. Najpotężniejszym serwerem klasy wyższej firmy Sun jest Enterprise M9000, który może być wyposażony w maksymalnie 64 procesory. W połączeniu z procesorem Sun SPARC64 VII, czterordzeniowym procesorem, ten serwer może efektywnie wykorzystywać 256 oddzielnych, niezależnych rdzeni przetwarzających. W rzeczywistości, w maju 2008 r. Serwer Sun Enterprise M9000 ustanowił światowy rekord wydajności w teście hurtowni danych TPC-H przy współczynniku skali 1 terabajta przy użyciu bazy danych Oracle.
Na razie nierozerwalna bariera prędkości procesora została pominięta. Połączenie wielordzeniowych procesorów, 64-bitowego adresowania pamięci i symetrycznego przetwarzania wieloprocesowego pozwala na to. Kolejną barierą technologiczną, którą napotkamy, jest ograniczenie adresowania pamięci fizycznej dla procesorów. Ale dzięki architekturze 64-bitowej, która jest w stanie obsłużyć nawet 16 ExaBitów pamięci, nie jest to żadna przeszkoda, o którą napiszemy w najbliższym czasie..