2011-08-23 15 views
9

Algorytm Paxos może tolerować błędy do F podczas używania procesorów 2F + 1. O ile rozumiem, ten algorytm działa tylko ze stałą liczbą procesorów. Czy możliwe jest użycie tego algorytmu w dynamicznym środowisku, w którym węzły mogą być dodawane i usuwane dynamicznie?Używanie Paxos w środowisku dynamicznym

Odpowiedz

-1

Tak. Gryadka to implementacja JavaScript Paxos wspierająca rekonfigurację dynamiczną w 500 liniach. Opiera się na pomysłach z Vertical Paxos i Tratwa.

+0

Przekonanie, że musimy rozszerzyć Paxos o członkostwo w klastrze, jest bardzo chwiejne. Wersja papierowa wersji Dynamic Paxos firmy Microsoft omówiona w poniższej odpowiedzi @ Mateusza jest wystarczająca. Wszystkie praktyczne implementacje Paxos Znam stan aktualizacji w spójny sposób. Ten stan współdzielony może być trywialnie zarówno stanem aplikacji, jak i członkostwa w klastrze. Więc zamiast potrzebować czytać, rozumieć i wdrażać nowe podejście, wszystkie praktyczne implikacje mogą wykorzystywać "główny strumień Paxos" i "jeść własne karmy dla psów" w celu obsługi zmian członkostwa w klastrze. Zaprojektowano do tego Paxos. – simbo1905

1

Jeśli masz absolutną maksymalną liczbę węzłów, to nadal powinna działać. Ale będziesz miał sytuację, w której liczba węzłów dynamicznych wynosi 6, a maksymalna to 11, więc jeśli 1 węzeł się nie powiedzie, masz pecha (domyślnie nieistniejące węzły nie działają). Jeśli usuniesz i dodasz węzły, możesz przywrócić stan węzła, który usunąłeś do węzła, który dodasz, aby uniknąć tego, że jest on traktowany jako błąd.

5

Tak, jest to możliwe, są nawet niektóre dokumenty na ten temat. Z tego co pamiętam przeczytałem trochę o tym, jak to zrobić opisano tutaj. http://research.microsoft.com/pubs/64634/web-dsn-submission.pdf Mam nadzieję, że o to prosiłeś. Szukaj "dynamicznych paxos".

+0

Dynamiczne paxos to trochę scarry :) – Lazin

+0

@Lazin właściwie nie! Używam dynamicznego Paxos i jest bardzo stabilny. Chodzi o to, że masz dwie maszyny stanu. Pierwszą z nich jest to, o czym zazwyczaj myślisz: stan Paxos ma być zsynchronizowany. Drugi automat stanów to lista członków węzłów. Każde wystąpienie Paxos musi korzystać z migawki komputera stanu członkostwa. –

+0

@MichaelDeardeuff Dynamic Paxos staje się nieco przerażający, gdy wprowadzasz Multi-paxos. To dość banalne, gdy używasz go z pojedynczą instancją Paxos. –

Powiązane problemy