Pojedynczy obraz systemu
W przetwarzaniu rozproszonym klaster pojedynczego obrazu systemu ( SSI ) to klaster maszyn, który wydaje się być jednym systemem. Koncepcja ta jest często uważana za synonim rozproszonego systemu operacyjnego , ale pojedynczy obraz może być prezentowany do bardziej ograniczonych celów, na przykład po prostu planowania zadań , co można osiągnąć za pomocą dodatkowej warstwy oprogramowania w stosunku do konwencjonalnych obrazów systemów operacyjnych działających na każdym węźle . Zainteresowanie klastrami SSI wynika z przekonania, że mogą być one prostsze w użyciu i administrowaniu niż bardziej wyspecjalizowane klastry.
Różne systemy SSI mogą zapewniać mniej lub bardziej pełną iluzję pojedynczego systemu.
Cechy systemów klastrowych SSI
Różne systemy SSI mogą, w zależności od ich przeznaczenia, zapewniać pewien podzbiór tych funkcji.
Migracja procesów
Wiele systemów SSI umożliwia migrację procesów . Procesy mogą rozpoczynać się w jednym węźle i być przenoszone do innego węzła, prawdopodobnie ze względu na równoważenie zasobów lub ze względów administracyjnych. Gdy procesy są przenoszone z jednego węzła do drugiego, inne powiązane zasoby (na przykład IPC ) mogą zostać przeniesione wraz z nimi.
Punkt kontrolny procesu
Niektóre systemy SSI umożliwiają punktowanie uruchomionych procesów, umożliwiając zapisanie ich bieżącego stanu i ponowne załadowanie w późniejszym terminie. Punkty kontrolne można postrzegać jako powiązane z migracją, ponieważ migrację procesu z jednego węzła do drugiego można wdrożyć, najpierw zaznaczając proces, a następnie ponownie uruchamiając go w innym węźle. Alternatywnie punkt kontrolny można uznać za migrację na dysk .
Pojedyncza przestrzeń procesowa
Niektóre systemy SSI stwarzają iluzję, że wszystkie procesy działają na tej samej maszynie - narzędzia do zarządzania procesami (np. „ps”, „kill” w systemach typu Unix ) działają na wszystkich procesach w klastrze.
Pojedynczy korzeń
Większość systemów SSI zapewnia pojedynczy widok systemu plików. Można to osiągnąć za pomocą prostego NFS , urządzeń dyskowych współdzielonych, a nawet replikacji plików.
Zaletą pojedynczego widoku głównego jest to, że procesy mogą być uruchamiane na dowolnym dostępnym węźle i uzyskiwać dostęp do potrzebnych plików bez żadnych specjalnych środków ostrożności. Jeśli klaster realizuje migrację procesów, pojedynczy widok główny umożliwia bezpośredni dostęp do plików z węzła, w którym aktualnie działa proces.
Niektóre systemy SSI umożliwiają „przełamanie iluzji”, umieszczając niektóre pliki specyficzne dla węzła nawet w jednym katalogu głównym. HP TruCluster udostępnia „kontekstowe łącze symboliczne” (CDSL), które wskazuje różne pliki w zależności od węzła uzyskującego do niego dostęp. HP VMScluster udostępnia logiczną nazwę listy wyszukiwania z plikami specyficznymi dla węzła, zasłaniając w razie potrzeby pliki udostępnione klastra. Ta zdolność może być konieczna do radzenia sobie z heterogenicznością klastry, w których nie wszystkie węzły mają tę samą konfigurację. W bardziej złożonych konfiguracjach, takich jak wiele węzłów o różnych architekturach w wielu lokalizacjach, kilka dysków lokalnych może połączyć się, tworząc logiczny pojedynczy katalog główny.
Pojedyncza przestrzeń we/wy
Niektóre systemy SSI umożliwiają wszystkim węzłom dostęp do urządzeń we/wy (np. taśm, dysków, łączy szeregowych itd.) innych węzłów. Mogą obowiązywać pewne ograniczenia dotyczące rodzajów dozwolonych dostępów (na przykład OpenSSI nie może montować urządzeń dyskowych z jednego węzła w innym węźle).
Pojedyncza przestrzeń IPC
Niektóre systemy SSI umożliwiają procesom w różnych węzłach komunikację przy użyciu mechanizmów komunikacji między procesami, tak jakby działały na tej samej maszynie. W niektórych systemach SSI może to nawet obejmować pamięć współdzieloną (można emulować za pomocą pamięci współdzielonej rozproszonej programowo ).
W większości przypadków międzywęzłowy IPC będzie wolniejszy niż IPC na tej samej maszynie, a być może drastycznie wolniejszy w przypadku pamięci współdzielonej. Niektóre klastry SSI zawierają specjalny sprzęt, który pozwala zmniejszyć to spowolnienie.
Adres IP klastra
Niektóre systemy SSI udostępniają „ adres IP klastra ”, pojedynczy adres widoczny spoza klastra, którego można używać do kontaktowania się z klastrem tak, jakby był to jeden komputer. Można to wykorzystać do równoważenia obciążenia połączeń przychodzących do klastra, kierując je do lekko obciążonych węzłów lub w celu zapewnienia redundancji, przenosząc adres klastra z jednej maszyny na drugą, gdy węzły dołączają do klastra lub go opuszczają.
Przykłady
Przykłady obejmują platformy komercyjne z możliwością skalowania, pakiety/frameworki do tworzenia systemów rozproszonych, a także te, które faktycznie implementują pojedynczy obraz systemu.
Nazwa | Migracja procesów | Punkt kontrolny procesu | Pojedyncza przestrzeń procesowa | Pojedynczy korzeń | Pojedyncza przestrzeń we/wy | Pojedyncza przestrzeń IPC | Adres IP klastra | Model źródłowy | Najnowsza data premiery | Obsługiwany system operacyjny |
---|---|---|---|---|---|---|---|---|---|---|
Ameba | Tak | Tak | Tak | Tak | Nieznany | Tak | Nieznany | otwarty | 30 lipca 1996 | Rodzinny |
TCF dla systemu AIX | Nieznany | Nieznany | Nieznany | Tak | Nieznany | Nieznany | Nieznany | Zamknięte | 30 marca 1990 | AIX PS/2 1.2 |
Non-Stop Guardian | Tak | Tak | Tak | Tak | Tak | Tak | Tak | Zamknięte | 2018 | System operacyjny NonStop |
Piekło | NIE | NIE | NIE | Tak | Tak | Tak | Nieznany | otwarty | 4 marca 2015 r | Natywny, Windows , Irix , Linux , OS X , FreeBSD , Solaris , Plan 9 |
Kerrighed | Tak | Tak | Tak | Tak | Nieznany | Tak | Nieznany | otwarty | 14 czerwca 2010 | Linux 2.6.30 |
LinuxPMI | Tak | Tak | NIE | Tak | NIE | NIE | Nieznany | otwarty | 18 czerwca 2006 | Linux 2.6.17 |
UMIEJSCOWIENIE | Tak | Nieznany | Tak | Tak | Tak | Tak | Nieznany | Zamknięte | 1988 | Rodzinny |
MOSIX | Tak | Tak | NIE | Tak | NIE | NIE | Nieznany | Zamknięte | 24 października 2017 r | Linuksa |
otwórzMosix | Tak | Tak | NIE | Tak | NIE | NIE | Nieznany | otwarty | 10 grudnia 2004 | Linux 2.4.26 |
Open-Sharedroot | NIE | NIE | NIE | Tak | NIE | NIE | Tak | otwarty | 1 września 2011 r | Linuksa |
OtwórzSSI | Tak | NIE | Tak | Tak | Tak | Tak | Tak | otwarty | 18 lutego 2010 | Linux 2.6.10 ( Debian , Fedora ) |
Plan 9 | NIE | NIE | NIE | Tak | Tak | Tak | Tak | otwarty | 9 stycznia 2015 r | Rodzinny |
Krasnoludek | Tak | Nieznany | NIE | Tak | Tak | NIE | Nieznany | otwarty | 1992 | Rodzinny |
Skala pływów | Tak | NIE | Tak | Tak | Tak | Tak | Tak | Zamknięte | 17 sierpnia 2020 r | Linux , FreeBSD |
TruCluster | NIE | Nieznany | NIE | Tak | NIE | NIE | Tak | Zamknięte | 1 października 2010 r | Tru64 |
Klaster VMS | NIE | NIE | Tak | Tak | Tak | Tak | Tak | Zamknięte | 14 lipca 2022 r | Otwórz VMS |
z/VM | Tak | NIE | Tak | NIE | NIE | Tak | Nieznany | Zamknięte | 11 listopada 2016 r | Rodzinny |
Klastry UnixWare NonStop | Tak | NIE | Tak | Tak | Tak | Tak | Tak | Zamknięte | Czerwiec 2000 | UnixWare |
- ^ Wiele klastrów SSI opartych na systemie Linux może używać serwera wirtualnego Linux do implementacji pojedynczego adresu IP klastra
- ^ Zielony oznacza, że oprogramowanie jest aktywnie rozwijane
- ^ Rozwój ameby jest kontynuowany przez dr Stefana Bosse w BSS Lab. Zarchiwizowano 2009-02-03 w Wayback Machine
- ^ Guardian90 TR90.8 Na podstawie prac badawczo-rozwojowych przeprowadzonych przez Tandem Computers c/o Andrea Borr w [1]
- ^ LinuxPMI jest następcą openMosix
- ^ LOCUS został użyty do stworzenia IBM AIX TCF
- ^ LOCUS używał nazwanych potoków dla IPC
- ^ openMosix był rozwidleniem MOSIX
- ^ Open-Sharedroot to współdzielony klaster główny firmy ATIX
- ^ Klastry UnixWare NonStop były bazą dla OpenSSI
Zobacz też
- Klastry komputerowe
- Bezdyskowy współdzielony klaster główny
- Rozproszony menedżer blokad
- Rozproszona pamięć podręczna
- Równoległa maszyna wirtualna — alternatywa dla wielu obrazów systemów
- Interfejs przekazywania wiadomości — alternatywa dla wielu obrazów systemu
Notatki
- ^ na przykład może być konieczne przeniesienie długotrwałych procesów z węzła, który ma zostać zamknięty w celu konserwacji
- ^ Punkty kontrolne są szczególnie przydatne w klastrach używanych do obliczeń o wysokiej wydajności , pozwalają uniknąć utraty pracy w przypadku ponownego uruchomienia klastra lub węzła.
- ^ „opuszczenie klastra” jest często eufemizmem oznaczającym awarię