Podzielone komputery

IBM i Sun konkurują w dziedzinie logicznego podziału serwerów na wiele niezależnych systemów.

IBM i Sun konkurują w dziedzinie logicznego podziału serwerów na wiele niezależnych systemów.

Logiczny podział jednego wieloprocesorowego komputera na kilka niezależnych systemów, działających pod kontrolą oddzielnych kopii systemu operacyjnego, do niedawna był wyłączną domeną wielkich komputerów mainframe. Wymaga bowiem bardzo skomplikowanych, a więc i kosztownych, rozwiązań sprzętowych oraz złożonego programu do obsługi partycji, przenoszenia obciążenia, dynamicznego wydzielania mocy obliczeniowej itp. Wiele lat doświadczenia w optymalnym wykorzystaniu mocy obliczeniowej procesorów pozwoliło firmie IBM osiągnąć w tej dziedzinie perfekcję, której nie udało się nikomu skutecznie powielić.

Kto lepiej dzieli?

Pierwsze rozwiązania w partycjonowaniu logicznym procesorów unixowych, które pojawiły się w drugiej połowie lat 90., korzystały z rozwiązań mainframe'owych, np. SGI korzystał z rozwiązań wykupionego Craya, a Tandem (obecnie Compaq) z rozwiązań Amdahla.

Sun w 1999 r. wprowadził partycjonowanie swojego największego 64-procesorowego unixowego serwera Starfire (E10 000) na 8 partycji logicznych. W grudniu ub.r. zwiększył liczbę partycji do 16, co należy uznać za spore osiągnięcie. Możliwość wymiany w trakcie pracy komponentów (płyt procesora, pamięci, zasilaczy) oraz redundancyjne drogi komunikacji wewnątrz komputera czynią rozwiązania Suna atrakcyjnymi w pewnych zastosowaniach. Przedstawiciele Suna przyznają jednak, że rozwiązania IBM są doskonalsze, co wynika głównie z ponad 15-letniego okresu stosowania tej technologii w mainframe'ach. Analitycy Merrill Lynch & Co. uważają jednak, że rozwiązania Suna pozostają w tyle o ok. trzech lat za rozwiązaniami IBM-a.

Pod koniec 1999 r. IBM wprowadził logiczne partycjonowanie do rodziny najnowszych produktów AS/400e (modele 6xx, 7xx i Sxx), wykorzystując te same technologie co w mainframe'ach. Stwarza to nowe możliwości dla użytkowników tych komputerów, nazywanych często "mainframe'ami dla ubogich".

Po co dzielić?

Podział komputera na partycje logiczne najczęściej stosuje się do:

Optymalnego wykorzystywania mocy do różnych zastosowań - uruchamiania aplikacji transakcyjnej na jednej partycji, dostępu do danych z sieci Web na innej, obsługi aplikacji analitycznych na następnej. Zmieniając przydział mocy w każdej z partycji, zapewnia się najlepsze warunki pracy wszystkim użytkownikom.

Tworzenia aplikacji wielowarstwowych: jedną partycję przeznacza się do obsługi bazy danych, jedną lub więcej partycji przeznacza się dla serwerów aplikacyjnych (drugiej warstwy aplikacji); na kolejnej można uruchomić serwery Web, obsługujące dostęp użytkowników z sieci.

Konsolidacji większej liczby serwerów: każdy z nich działa w oddzielnej partycji, a obsługi wymaga tylko jeden komputer, obniżając ogólny koszt operacyjny.

Dokonywania szybkiej replikacji danych. Rozwiązania sprzętowe w komputerach z partycjonowaniem zapewniają szybką komunikację między partycjami. Wprawdzie to rozwiązanie nie zapewnia większej dostępności danych ani większej niezawodności w razie awarii, pozwala jednak dokonać składowania danych na nośnikach zewnętrznych (taśmach) z partycji "zapasowej" w czasie normalnego działania aplikacji w partycji głównej.

Testowania aplikacji. Można uruchamiać nową wersję aplikacji na jednej partycji, podczas gdy na drugiej działa jej poprzednia wersja. Proste przełączenie partycji spowoduje przeniesienie wszystkich użytkowników na nową wersję aplikacji, korzystając z danych zapisanych na współdzielonych systemach dyskowych.