SEQUOIA mocna jak sekwoja

Czy można wyobrazić sobie system komputerowy, który jest w stanie przetrzymać nawet takie zdarzenia jak strzał z pistoletu w główny procesor komputera?

Czy można wyobrazić sobie system komputerowy, który jest w stanie przetrzymać nawet takie zdarzenia jak strzał z pistoletu w główny procesor komputera?

Owszem, można. Przedstawiamy dziś ogólny opis komputera, który jest, jak się zdaje, rekordzistą świata w zakresie niezawodności i odporności na uszkodzenia.

Co to jest bezpieczeństwo?

Wśród producentów sprzętu komputerowego funkcjonują rozmaite poglądy na temat właściwych kryteriów odporności systemów na uszkodzenia. Niektórzy na przykład uważają, że wystarczy samo rejestrowanie transakcji (transaction logging). Inni przyjmują, że zwykły komputer plus dublowane dyski twarde (mirroring) są w stanie taką odporność zapewnić.

Rozwiązania oparte na którymkolwiek z tych, (lub podobnych) poglądów są tylko połowiczne. Cóż bowiem z tego, że dane zostały zapisane na dwóch dyskach, jeśli zostały przekłamane przez wadliwie pracujący kontroler, procesor lub pamięć operacyjną? W pełni odporny na uszkodzenia może być tylko taki system, który kontroluje pracę każdego istotnego dla obróbki danych elementu. Wydaje się, że do tej pory, tak rozumianą ochronę przed skutkami uszkodzeń zrealizowano w pełni tylko w komputerach Sequoi.

Podstawą koncepcji uodporniania na uszkodzenia jest dublowanie podzespołów. Gdy któryś element się zepsuje, system ma za zadanie natychmiast to zauważyć, izolować element uszkodzony i zrekonfigurować się stosownie do poprawnie działających zasobów.

Co dwa chipy to nie jeden

W Sequoi rolę pojedynczego procesora pełnią w istocie dwa działające równolegle procesory. W zależności od potrzeb, Sequoię można rozbudować do 24 procesorów. Wyjścia procesorów każdej pary są porównywane. Dopóki wszystko jest w porządku, na wszystkich wyjściach jest ten sam ciąg zer i jedynek. Jeżeli któryś procesor się psuje, to pojawia się niezgodność wyjść na jednym z elementów. Nie wiadomo jednak, który procesor się zepsuł. Dlatego właśnie system zawsze konfigurowany jest z co najmniej 2-ma jednostkami procesorowymi. Jedna z nich w tym momencie przejmuje rolę jedynego aktywnego elementu. Konkretnie, na każdym elemencie procesorowym znajdują się dwa mikroprocesory Motorola 68040, 25 MHz oraz m.in. 256 KB pamięci cache z czterema ścieżkami dostępu, układ do tłumaczenia adresów wirtualnych (max. 4 GB) na fizyczne, PROM zawierający programy do autodiagnostyki elementu i obsługi zmiany konfiguracji po awarii oraz nieulotną pamięć RAM, wykorzystywaną do pamiętania historii elementu.

Do detekcji przekłamań w pamięci operacyjnej lub cache, buforach elementów I/O (Input/Output - Wejście/Wyjście) oraz na magistrali systemowej stosuje się kontrolę parzystości na poziomie poszczególnych bajtów. Również same układy wykrywania błędów są uodpornione na uszkodzenia dzięki zdublowaniu logiki kontrolnej. Każda z dwu niezależnych magistral systemowych o szybkości 40 MB/s wykonuje oddzielne, różne transmisje, lecz w razie awarii którejkolwiek z nich druga przejmuje całe obciążenie.

Aby przeciwdziałać zanikom napięcia w sieci, można zainstalować bateryjne podtrzymanie pamięci. Wówczas obraz pamięci jest automatycznie zapisywany na dysk, a system poprawnie "zamykany"; po ponownym włączeniu start nastąpi dokładnie w tym miejscu, w którym praca została przerwana. Oczywiście, zaleca się stosowanie zasilaczy UPS.

Wszystkie elementy wejścia/wyjścia są zdublowane, zapewniając awaryjny dostęp do dysków i sieci. Każdy z nich zawiera m.in. zdwojony adapter magistrali VME z samotestującymi procesorami Motorola 68030 oraz 4 MB pamięci lokalnej. Wszystkie informacje są składowane w dwóch oddzielnych elementach pamięciowych, tak, że w przypadku awarii któregokolwiek z nich, dostępne są nadal ostatnie poprawne dane.

Błędy transmisji danych mogą być wykrywane poprzez sprawdzanie poprawności protokołu transmisji. Każdy element zaangażowany w przesyłanie danych po magistrali sprawdza sygnały sterujące i jest w stanie wykryć każdą niepoprawność. W dodatku elementy procesorowe wyposażono w "timer", dzięki czemu można śledzić czas pomiędzy zdarzeniami w systemie i wykrywać ewentualne przekroczenie dopuszczalnych odstępów czasowych.

Kontroler Ethernetu, stosowany przez Sequoię, może pracować w jednym z dwóch trybów: normalnym oraz podwójnym. W tym drugim przypadku, współpracuje on z drugim kontrolerem, który w razie awarii przejmie jego funkcje.

Dane przechowywane na dyskach są zabezpieczone techniką mirroring, tzn., wszystkie zapisane są na dwóch oddzielnych dyskach fizycznych. Ułatwia to również dostęp do danych, tworząc w sumie cztery ścieżki dostępu do każdej informacji.

Tak więc nie ma w Sequoi praktycznie ani jednego elementu, którego uszkodzenie mogłoby spowodować groźną w skutkach awarię całego systemu. Cały proces gwarantowania poprawnego stanu systemu jest całkowicie niewidoczny dla użytkownika i programisty.

System wykrywa również i neutralizuje błędy oprogramowania, sprawdzając, czy dane spełniają określone warunki logiczne. Reakcją na ich niespełnienie jest usunięcie programu z pamięci i odtworzenie ostatniego poprawnego stanu.

System-policjant

Wychodzenie systemu z sytuacji awaryjnej przebiega w trzech etapach: wykrycie uszkodzenia, jego izolacja, oraz wydobycie się z sytuacji awaryjnej. Na etapie wykrywania uszkodzenia w systemie określone zostaje źródło błędów; mogą to być trwałe błędy sprzętu, błędy przejściowe lub błędy oprogramowania.

Izolacja uszkodzeń odbywa się zwykle efektywnie już w tym cyklu zegara, w którym wykryto uszkodzenie. Uszkodzony moduł natychmiast zaprzestaje przetwarzania, dzięki czemu błędne dane nie zostają przekazane do systemu. Po odizolowaniu wadliwego elementu, system operacyjny automatycznie uruchamia procedurę rekonfiguracji. Najpierw system bada, czy błąd miał charakter przejściowy czy stały. Jeżeli przejściowy, to element podejmuje normalną pracę, jeśli jednak ten sam błąd powtarza się zbyt często, to zostaje przekwalifikowany na błąd stały i podzespół usuwany jest z logicznej konfiguracji systemu. Jednocześnie informacja o uszkodzeniu przesyłana jest do Administratora Systemu oraz do Centrum Obsługi Serwisowej, zaś system wznawia pracę przy zmniejszonej konfiguracji, podejmując wszystkie wstrzymane procesy.

Jak Feniks z popiołów

Opisane wyżej własności systemu SEQUOIA powodują, że zarówno wymiana elementów uszkodzonych jak i rozbudowa systemu włącznie z dołączaniem nowych jednostek procesorowych może odbywać się bez przerywania pracy. System operacyjny automatycznie wykrywa każdą zmianę konfiguracji sprzętowej i natychmiast się do niej dostosowuje. Jest więc oczywiste, że Sequoia świetnie nadaje się do pracy ciągłej przez 24 godziny na dobę i 365 dni w roku. Żadna operacja na jej żywym organizmie nie jest w stanie spowodować przerwy w pracy.

Byłem świadkiem eksperymentu polegającego na symulacji awarii w maszynie wyposażonej w dwie jednostki procesorowe. Wyłączono zasilanie jednego z elementów procesorowych. Na monitorze (właśnie działa program do pomiaru obciążenia procesorów) widać, jak po kilku sekundach potrzebnych systemowi na analizę nowej sytuacji obciążenie drugiego procesora wzrosło dwukrotnie; maszyna działa nadal, choć oczywiście wolniej, czego jednak specjalnie nie widać. Wyłączamy zasilanie drugiego procesora - maszyna zamiera w bezruchu, lecz po ponownym włączeniu zasilania system "zastanawia się" przez kilkanaście sekund i podejmuje pracę w tym miejscu, w którym ją przerwano! Wyobrażam sobie, że komputer akurat w tym momencie obliczał stan mojego konta i oddycham z ulgą.

Zawsze będę przy tobie

Opisane powyżej cechy umożliwiły realizację dość niezwykłego systemu opieki technicznej nad urządzeniami klientów firmy. Otóż komputery Sequoia mogą pozostawać w stałej łączności z komputerem centrum serwisowego, za pośrednictwem modemów telefonicznych. Po wykryciu awarii komputer samoczynnie "dzwoni" do Centrum Obsługi informując o rodzaju wykrytej awarii, stanie elementu i jego numerze. Pracownik serwisu bierze odpowiedni podzespół i udaje się do klienta. Tam, pewnym krokiem zmierza do właściwego urządzenia i bez chwili zastanowienia wymienia uszkodzony moduł. Jest całkiem prawdopodobne, że zajęci swoimi obowiązkami pracownicy zupełnie nie zauważą, iż ich komputer najpierw się popsuł, a następnie został naprawiony! "A tak, był jakiś facet w kombinezonie i coś grzebał w tej szafie" - ktoś sobie przypomni po kilku dniach.

Centra Obsługi Serwisowej są czynne przez 24 godziny na dobę, 7 dni w tygodni. Polscy klienci Sequoi również mogą korzystać ze zdalnej diagnostyki, gdyż dystrybutor Sequoi w Polsce, warszawska firma Microvex, prowadzi takie usługi.

Kto tu rządzi?

Systemem operacyjnym Sequoi jest implementacja UNIXa System V pod nazwą TOPIX (Transaction-Optimized Processing with UNIX). Zachowując zgodność ze standardem, TOPIX jest silnie rozbudowany w kierunku panowania nad stosunkowo nietypowym, siłą rzeczy, sprzętem. Oprócz sprawowania nadzoru nad poprawnością działania podległego mu sprzętu, jest on przystosowany do działania w środowisku wieloprocesorowym i wielozadaniowym. TOPIX jest zgodny ze standardami systemów otwartych, w tym również komunikacyjnych. Można go tak skonfigurować, aby zdublowane były również niektóre urządzenia peryferyjne.

TOPIX przechowuje listę zadań czekających na wykonanie i automatycznie przydziela je, w porządku zgodnym z priorytetami, wolnym procesorom dbając, by żaden procesor nie pozostał bezczynny, jeśli tylko są jakieś zadania do wykonania. Dzięki niemu programista jest całkowicie zwolniony z równoległego programowania na poziomie aplikacji, co wynika ze zdolności systemu do samodostosowywania się do aktualnie czynnych zasobów.

TOPIX jest zgodny z UNIXem, choć stanowi jego rozszerzoną wersję. M.in. zmodyfikowano system plików tak, by jeden dysk logiczny mógł się rozciągać na kilku dyskach fizycznych osiągając maksymalną wielkość równą 4 GB. Zwiększono liczbę procesów do 2 64, przy czym jeden proces może dysponować 1 GB pamięci. Stworzono narzędzia do monitorowania pracy i dostrajania systemu. Dodano moduł, zabezpieczający dane przed dostępem osób nieupoważnionych, o nazwie Secure TOPIX (produkt AT&T), który zapewnia poufność na poziomie C2 i B1 według klasyfikacji Narodowego Biura Bezpieczeństwa Komputerowego przy Departamencie Obrony USA.

Pod TOPIXem dostępne są kompilatory większości popularnych języków programowania: ANSI C, C++, COBOL 85, Pascal, Fortran, ADA, PL1 i in., a także systemy do budowy i obsługi baz danych: Oracle, Informix, Ingres, Unify RDBMS, Pick oraz VMark. Warto zwrócić uwagę na Oracle Parallel Server, szczególnie dostosowany do pracy w środowisku wieloprocesorowym. Interakcyjny debugger działa na poziomie kodu źródłowego, pozwalając na uruchamianie programów napisanych w kilku językach. Programom napisanym dla innych maszyn unixowych zazwyczaj wystarcza tylko przekompilowanie. Na Sequoi działa środowisko graficzne X Window wraz z rozszerzeniami OSF/Motif.

TOPIX umożliwia tworzenie sieci lokalnych i rozległych, zgodnych ze standardem OSI (Open System Interconnect). Możliwe jest również łączenie z komputerami realizującymi protokoły transmisyjne IBM.

SEQUOIA szczególnie dobrze nadaje się do obsługi dużych, rozproszonych baz danych, w których wielkiej liczbie użytkowników potrzebny jest system działający interaktywnie, szybko i bezpiecznie. Rozwiązania, spełniające te wymagania nazywa się systemami OLTP (On-Line Transaction Processing). Zwykle w systemach OLTP wszelkie przestoje są bardzo kosztowne, przy czym "koszt" może oznaczać nie tylko straty materialne, lecz również np. ludzkie zdrowie lub życie. Nie ma więc niczego dziwnego w tym, że główni użytkownicy systemów SEQUOIA to banki, telekomunikacja, administracja państwowa, rządowe agencje bezpieczeństwa i obrony, firmy ubezpieczeniowe, itp. Do klientów Sequoi należą m.in. siły zbrojne USA, Grumman Aerospace, Federal Aviation Association, US West, Bell Atlantic, British Telecomm, oraz - last but not least - PKO BP.

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

TOP 200