Pojedynczy obraz systemu - Single system image
W rozproszonych , A układu pojedynczego obrazu ( SSI ) klastra jest klaster maszyn, które wydaje się być jeden system. Pojęcie to jest często uważane za synonim koncepcji rozproszonego systemu operacyjnego , ale pojedynczy obraz może być prezentowany w bardziej ograniczonych celach, na przykład po prostu do planowania zadań , co można osiągnąć za pomocą dodatkowej warstwy oprogramowania w porównaniu z konwencjonalnymi obrazami systemu operacyjnego działającymi na każdym węźle . Zainteresowanie klastrami SSI wynika z przekonania, że mogą one być prostsze w użyciu i administrowaniu niż klastry bardziej wyspecjalizowane.
Różne systemy SSI mogą stanowić mniej lub bardziej kompletną iluzję jednego 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 procesowa
Wiele systemów SSI zapewnia migrację procesów . Procesy mogą rozpoczynać się w jednym węźle i być przenoszone do innego, być może z powodów związanych z równoważeniem zasobów lub administracją. Gdy procesy są przenoszone z jednego węzła do drugiego, inne powiązane zasoby (na przykład zasoby IPC ) mogą być przenoszone wraz z nimi.
Punkty kontrolne procesu
Niektóre systemy SSI umożliwiają punkt kontrolny uruchomionych procesów, umożliwiając zapisanie ich aktualnego stanu i ponowne załadowanie w późniejszym terminie. Punkty kontrolne można postrzegać jako związane z migracją, ponieważ migrację procesu z jednego węzła do drugiego można wdrożyć, najpierw umieszczając punkt kontrolny w procesie, a następnie uruchamiając go ponownie w innym węźle. Alternatywnie tworzenie punktów kontrolnych można traktować jako migrację na dysk .
Pojedyncza przestrzeń procesowa
Niektóre systemy SSI dają złudzenie, że wszystkie procesy działają na tej samej maszynie - narzędzia do zarządzania procesami (np. „Ps”, „kill” w systemach uniksowych ) działają na wszystkich procesach w klastrze.
Pojedynczy root
Większość systemów SSI zapewnia pojedynczy widok systemu plików. Można to osiągnąć za pomocą prostego serwera NFS , współdzielonych urządzeń dyskowych, a nawet replikacji plików.
Zaletą widoku pojedynczego katalogu głównego jest to, że procesy mogą być uruchamiane w dowolnym dostępnym węźle i uzyskiwać dostęp do potrzebnych plików bez specjalnych środków ostrożności. Jeśli klaster implementuje migrację procesów, pojedynczy widok katalogu głównego umożliwia bezpośredni dostęp do plików z węzła, w którym proces jest aktualnie uruchomiony.
Niektóre systemy SSI zapewniają sposób „przełamania iluzji”, mając niektóre pliki specyficzne dla węzła nawet w jednym katalogu głównym. HP TruCluster zapewnia „kontekstowe łącze symboliczne” (CDSL), które wskazuje różne pliki w zależności od węzła, który uzyskuje do niego dostęp. HP VMScluster udostępnia logiczną nazwę listy wyszukiwania z plikami specyficznymi dla węzła, które w razie potrzeby obejmują pliki udostępnione klastra. Ta możliwość może być konieczna do obsługi heterogenicznych klastrów, w których nie wszystkie węzły mają taką samą konfigurację. W bardziej złożonych konfiguracjach, takich jak wiele węzłów o wielu architekturach w wielu lokacjach, kilka dysków lokalnych może łą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ń I / O (np. Taśm, dysków, linii szeregowych itp.) Innych węzłów. Mogą istnieć pewne ograniczenia dotyczące dozwolonych rodzajów dostępu (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że być emulowana z pamięcią współdzieloną Software Distributed ).
W większości przypadków IPC między węzłami będzie wolniejsze niż IPC na tej samej maszynie, prawdopodobnie znacznie wolniejsze w przypadku pamięci współdzielonej. Niektóre klastry SSI zawierają specjalny sprzęt, aby 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 wywołań przychodzących do klastra, kierując je do słabo obciążonych węzłów lub w celu nadmiarowości, przenosząc adres klastra z jednej maszyny na drugą, gdy węzły dołączają do klastra lub opuszczają go.
Przykłady
Przykłady tutaj obejmują platformy komercyjne z możliwościami skalowania, pakiety / struktury do tworzenia systemów rozproszonych, a także te, które faktycznie implementują pojedynczy obraz systemu.
| Nazwa | Migracja procesowa | Punkt kontrolny procesu | Pojedyncza przestrzeń procesowa | Pojedynczy root | Pojedyncza przestrzeń we / wy | Pojedyncza przestrzeń IPC | Adres IP klastra | Model źródłowy | Ostatnia data wydania | Obsługiwany system operacyjny |
|---|---|---|---|---|---|---|---|---|---|---|
| Ameba | tak | tak | tak | tak | Nieznany | tak | Nieznany | otwarty | 30 lipca 1996 | Ojczysty |
| AIX TCF | Nieznany | Nieznany | Nieznany | tak | Nieznany | Nieznany | Nieznany | Zamknięte | 30 marca 1990 | AIX PS / 2 1.2 |
| NonStop Guardian | tak | tak | tak | tak | tak | tak | tak | Zamknięte | 2018 | NonStop OS |
| 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 | Ojczysty |
| MOSIX | tak | tak | Nie | tak | Nie | Nie | Nieznany | Zamknięte | 24 października 2017 r | Linux |
| openMosix | 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 | Linux |
| OpenSSI | 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 | Ojczysty |
| Krasnoludek | tak | Nieznany | Nie | tak | tak | Nie | Nieznany | otwarty | 1992 | Ojczysty |
| TidalScale | 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 | Tru64 |
| VMScluster | Nie | Nie | tak | tak | tak | tak | tak | Zamknięte | 8 kwietnia 2021 r | OpenVMS |
| z / VM | tak | Nie | tak | Nie | Nie | tak | Nieznany | Zamknięte | 11 listopada 2016 r | Ojczysty |
| Klastry UnixWare NonStop | tak | Nie | tak | tak | tak | tak | tak | Zamknięte | Czerwiec 2000 | UnixWare |
- ^ Wiele klastrów SSI opartych na Linuksie może używać Linux Virtual Server do implementacji pojedynczego adresu IP klastra
- ^ Zielony oznacza, że oprogramowanie jest aktywnie rozwijane
- ^ Rozwój Amoeba jest prowadzony przez dr Stefana Bosse z BSS Lab Archived 2009-02-03 w Wayback Machine
- ^ Guardian90 TR90.8 Na podstawie badań i rozwoju 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żył nazwanych potoków dla IPC
- ^ openMosix był widelcem MOSIX
- ^ Open-Sharedroot to współużytkowany klaster główny firmy ATIX
- ^ Klastry UnixWare NonStop były podstawą dla OpenSSI
Zobacz też
- Klastry komputerowe
- Bezdyskowy współużytkowany klaster główny
- Rozproszony menedżer zamków
- Rozproszona pamięć podręczna
- Równoległa maszyna wirtualna - alternatywa dla wielu obrazów systemu
- Message Passing Interface - alternatywa dla wielu obrazów systemu
Uwagi
- ^ 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
- ^ Punktowanie kontrolne jest szczególnie przydatne w klastrach używanych do obliczeń o wysokiej wydajności , pozwalając uniknąć utraty pracy w przypadku ponownego uruchomienia klastra lub węzła.
- ^ „opuszczenie klastra” jest często eufemizmem określającym awarię