Co to jest symetryczny proces wieloprocesorowy?
Symetryczne przetwarzanie wieloprocesorowe (SMP) to rodzaj architektury komputerowej, w której dwie lub więcej jednostek centralnych (CPU) ma wspólne łącze do tej samej pamięci. Został pierwotnie opracowany w latach 60. XX wieku i od tego czasu był używany w różnych konfiguracjach. Dowolny procesor w systemie SMP może uzyskiwać dostęp i uruchamiać oprogramowanie z dowolnej części pamięci współdzielonej. Popularność tego zestawu zmieniała się w ciągu roku wraz z ewolucją technologii i zmianami rynków, ale wciąż jest jedną z najpopularniejszych form technologii wieloprocesorowych.
SMP powstał na początku lat 60. XX wieku jako sposób na połączenie wielu procesorów szybkim połączeniem i umożliwienie im dostępu do tego samego zestawu modułów pamięci. Ponieważ pamięć jest dzielona między procesory, sprzęt SMP może być tańszy niż inne technologie, które mogą dedykować pamięć każdemu procesorowi. Zastosowano wiele odmian tego ustawienia, niektóre wykorzystują prostą poprzeczkę do połączenia dwóch procesorów, podczas gdy inne wykorzystują bardziej wyrafinowane połączenia między aż 32 procesorami. Dowolny symetryczny system wieloprocesorowy może być powstrzymywany przez prędkość i pojemność tego połączenia wzajemnego; system z 32 procesorami niekoniecznie będzie 32-krotnie szybszy, ponieważ wspólne łącze między tymi procesorami a pamięcią systemową może być zatłoczone.
Jedną z kluczowych zalet symetrycznego przetwarzania wieloprocesorowego w porównaniu z innymi technikami jest to, że system SMP mniej więcej traktuje wszystkie swoje procesory jednakowo, zapewniając w ten sam sposób dostęp do innego sprzętu komputerowego. Oznacza to, że dowolny procesor w systemie może odczytywać i wykonywać instrukcje z programów niezależnie od tego, gdzie te programy znajdują się w pamięci komputera. Wiele programów jest teraz podzielonych na mniejsze części zwane wątkami; gdy te programy są uruchamiane w systemie SMP, każdy procesor może uruchomić wątek programu, zwiększając w ten sposób ogólną wydajność. Oprogramowanie na poziomie użytkownika nie musi być modyfikowane, aby działało w systemie obsługującym symetryczne przetwarzanie wieloprocesorowe, ale podstawowy system operacyjny musi obsługiwać tę technologię.
Popularność symetrycznego przetwarzania wieloprocesorowego z biegiem lat zmniejszyła się i zaczęła rosnąć wraz z rozwojem innych technik i badaniem nowych architektur. Reklama na temat możliwego wpływu technologii na informatykę pojawiła się na początku lat dziewięćdziesiątych; wiele firm, w szczególności Sequent Computer Systems, zaczęło specjalizować się w budowie wysokiej klasy systemów SMP. Sequent, który został przejęty przez IBM w 1999 roku, był chwalony za swoje projekty, ale nigdy nie był w stanie skutecznie konkurować z gigantami branży komputerowej. Nowsze techniki wieloprocesorowe, takie jak nierównomierny dostęp do pamięci (NUMA), częściowo wyparły SMP w systemach wysokiej klasy.
Twórcy komputerów eksperymentowali od wielu lat z symetrycznym przetwarzaniem w sprzęcie na poziomie konsumenckim; jednak poza drogim sprzętem dla entuzjastów większości komputerów osobistych brakuje tej technologii. Nowe techniki zwiększania wydajności systemów jednoprocesorowych, takie jak jednoczesne wielowątkowość lub „hiperwątkowość”, wraz z rozwojem technologii wielordzeniowej zwiększyły wydajność komputerów bez dodatkowych kosztów SMP. Możliwe jest jednak połączenie tych technologii, a najpotężniejsze komputery stacjonarne mogą zawierać wiele procesorów wielordzeniowych połączonych przez SMP, tworząc w ten sposób system o ogromnej mocy obliczeniowej.