Więcej niż SMP, mniej niż MPP

Technologia NUMA to zapowiedź tanich wieloprocesorowych systemów komputerowych.

Technologia NUMA to zapowiedź tanich wieloprocesorowych systemów komputerowych.

W ciągu ostatnich 50 lat moc obliczeniowa systemów komputerowych rosła wykładniczo, dzięki kolejnym osiągnięciom technologicznym. Każde nowe osiągnięcie powodowało powolne zastępowane dawnej technologii, zmianę stylu przetwarzania, pojawienie się nowych aplikacji.

Od ok. dwóch lat Intel produkuje 4-procesorowe elementy składowe do serwerów Standard High-Volume SHV (z procesorami Pentium Pro) i SHV II (z procesorami Pentium II) i zapowiada wprowadzenie nowych elementów Scalable Building Blocks SBB (z procesorami Deschutes). W połączeniu z rozwiązaniem architektonicznym Non-Uniform Memory Access (NUMA) umożliwiło to stworzenie nowych rodzajów serwerów o dużej skalowalności, zawierających do kilkudziesięciu procesorów, konkurujących skutecznie z innymi rozwiązaniami architektonicznymi - klastrami komputerowymi i systemami masowo równoległymi MPP.

Pojawienie się bloków konstrukcyjnych SHV i SBB stworzyło możliwości budowania serwerów do obsługi krytycznych aplikacji ze standardowych, tanich elementów. Zamiast budować komputery z procesora, pamięci, układów we/wy - konstruuje się je z podzespołów o znacznie wyższym poziomie integracji.

Zwiększyć moc obliczeniową

Dążenie do zwiększania mocy obliczeniowej systemów komputerowych, poprzez zastosowanie mniejszych komputerów lub standardowych mikroprocesorów, przyniosło opracowanie kilku rozwiązań architektonicznych. I tak pojawiły się połączenia standardowych komputerów w klastry, systemy z przetwarzaniem symetrycznym SMP, komputery masowo równoległe, a ostatnio systemy NUMA - rozwiązanie pośrednie między SMP a MPP.

Przetwarzanie równoległe SMP

SMP to rozwiązanie architektoniczne, w którym kilka procesorów współpracując na jednej szynie ma dostęp do wszystkich zasobów systemu komputerowego: pamięci, układów we/wy i dysków. Jednak problemem jest skalowalność tego systemu: wzrost liczby procesorów nie jest liniowy z przyrostem wydajności. Zależnie od stosowanego systemu operacyjnego użyteczna liczba procesorów wynosi od 4 (dla Windows NT 4.0) do kilkunastu (dla większości odmian Unixa). Dodawanie większej liczby procesorów nie zwiększa mocy obliczeniowej, gdyż więcej zużywa się jej na rozstrzyganie konfliktów przy dostępie do zasobów na wspólnej szynie niż na użyteczną pracę.

System, prezentując użytkownikowi i aplikacji, jednolity, spójny widok pamięci i zasobów systemu, taki sam jak w systemie jednoprocesorowym, pozwala na stosowanie standardowego systemu operacyjnego i posługiwanie się dowolnymi aplikacjami, dostępnymi dla systemu jednoprocesorowego. Nie ma potrzeby zmiany aplikacji napisanej dla systemu jednoprocesorowego - działa ona tak samo na SMP.

Klastry komputerów

Najpopularniejsze rozwiązanie klastrowe polega na połączeniu wielu niezależnych komputerów (w tym także konstrukcji SMP), korzystających ze wspólnych zasobów dyskowych, połączonych za pomocą systemu komunikacyjnego (FDDI, Ethernet). Na każdym z komputerów działa oddzielna kopia systemu operacyjnego. Przy połączeniu czterech jednakowych systemów w klaster otrzymuje się zwykle 2,5- do 3-krotny wzrost wydajności aplikacji w stosunku do pojedynczego systemu.

Ograniczenie wydajności wynika z konieczności stosowania tzw. rozproszonego menedżera blokad (Distributed Lock Manager), zapewniającego spójność danych na wszystkich dyskach systemu, oraz z przepustowością łącza komunikacyjnego między dyskami.

Zasadniczą zaletą klastrów jest stała dostępność baz danych i aplikacji - po awarii jednego komputera jego funkcje przejmuje inny, zasoby dyskowe zaś są nadal dostępne. Klastry dobrze nadają się do zastosowań komercyjnych z dużymi bazami danych.

Systemy MPP

Systemy masowo równoległe MPP (zwane czasem komputerami bez wspólnych zasobów) składają się z dużej liczby węzłów, z których każdy zawiera procesor (lub procesory w konfiguracji SMP), pamięć, system dyskowy i układy we/wy; w każdym węźle działa oddzielna kopia systemu operacyjnego. W odróżnieniu od konfiguracji SMP czy klastrów, systemy MPP nie dzielą się zasobami pamięciowymi ani dyskami. W miarę dodawania węzłów wzrasta moc obliczeniowa, wielkość zasobów dyskowych i wydajność kanałów we/wy.

Komunikacja między węzłami jest realizowana przez przekazywanie komunikatów. W nowych konstrukcjach MPP do obsługi komunikacji między węzłami często stosuje się bardzo szybkie krosownice o przepustowości liczonej w GB/s, zapewniające wydajną wymianę danych, niezbędną zwłaszcza w obsłudze dużych baz danych, partycjonowanych na wiele dysków.

Systemy MPP najczęściej stosuje się do obliczeń naukowych i obsługi bardzo wielkich baz danych. Są one stosunkowo trudne w programowaniu, gdyż na programistę spada obowiązek podziału aplikacji na węzły, odtwarzanie stanu przy awarii węzła, synchronizacja wymiany danych. W przypadku używania ich do obsługi baz danych, wiele problemów rozwiązuje producent systemu zarządzania bazą, ale nadal pozostaje problem aplikacji.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200