Czy linearyzowalność jest równoważna z problemem konsensusu?

9

We wstępie tego artykułu Ostatecznie linearyzowalne obiekty wspólne (PODC'10) autorzy przedstawili następujące oświadczenie bez odniesień:

Linearyzowalność można jednak osiągnąć tylko wtedy, gdy możliwe jest rozwiązanie konsensusu.

Tutaj linearyzowalność jest najsilniejszą znaną właściwością spójności wspólnych obiektów, co zaproponowano w artykule Linearyzowalność: warunek poprawności dla współbieżnych obiektów .

Mylę się co do powyższego stwierdzenia z powodu następujących argumentów:

W artykule Solidnie dzieląc się pamięcią w systemach przekazywania wiadomości (JACM95) wiemy, że linearyzowalność można osiągnąć w systemie asynchronicznego przekazywania wiadomości, tolerując niewielką liczbę awarii procesowych:

Dowolny bez czekania algorytm oparty na atomowych rejestrach z wieloma czytnikami z pojedynczym zapisem może być automatycznie emulowany w systemach przekazywania wiadomości, pod warunkiem, że co najmniej większość procesorów nie jest wadliwa i pozostaje podłączona.

Z drugiej strony, dokument Niemożliwość rozproszonego konsensusu z jednym błędnym procesem (JACM85) udowodnił niemożliwość wyniku konsensusu nawet przy tylko jednej awarii procesu:

Problem konsensusu dotyczy asynchronicznego systemu procesów, z których niektóre mogą być zawodne. Problem polega na tym, że niezawodne procesy uzgadniają wartość binarną. W tym artykule pokazano, że każdy protokół tego problemu ma możliwość nieterminacji, nawet z jednym wadliwym procesem.

Czy możemy zatem dojść do następującego wniosku:

konsensus jest silniejszy niż linearyzowalność?

Co jest nie tak z moimi argumentami? Czy istnieją bezpośrednie odniesienia do wniosku o równoważności ?

hengxin
źródło
1
Zdecydowanie nie jestem ekspertem w dziedzinie przetwarzania rozproszonego, ale wydaje mi się, że powodem, dla którego jesteś w stanie uzyskać wynik, są założenia przyjęte w wynikach w referencji JACM85. Linearyzowalność może być równoważna konsensusowi w sprawie konkretnego modelu obliczeniowego, ale może się tak nie zdarzyć, jeśli znacznie ograniczymy nasz model obliczeniowy.
chazisop

Odpowiedzi:

4

Problem w tym, że się mylisz: „wiemy, że linearyzowalność można osiągnąć w systemie asynchronicznego przekazywania komunikatów, tolerując przy tym niewielką awarię procesu”. Nie wiemy tego, a tak naprawdę jest źle.

Cytat z artykułu JACM95 pokazuje, że rejestry z wieloma czytnikami z pojedynczym zapisem mogą być implementowane za pomocą przekazywania wiadomości. I tylko tego rodzaju rejestry lub inne obiekty, które mogą być zaimplementowane (biorąc pod uwagę niewielką liczbę awarii) z takich rejestrów. Dotyczy to na przykład rejestrów z wieloma czytnikami (MWMR).

Natomiast linearyzowalność nie ogranicza się do obiektów, które można zaimplementować przy użyciu rejestrów z wieloma czytnikami z pojedynczym zapisem. Jednym z przykładów takich obiektów są te, które obsługują (atomowe) operacje odczytu-modyfikacji-zapisu.

W rzeczywistości, jak zauważają Attiya i wsp. (Rozdział 7), takich obiektów nie można precyzyjnie zaimplementować w rejestrach MWMR, ponieważ pozwalają one na rozwiązanie konsensusu (por. Synchronizacja bez oczekiwania przez Herlihy), a zatem możliwość implementacji byłaby sprzeczna z wynikiem FLP.

Martin B.
źródło
Przepraszam za opóźnienie. Jednak 1. Ponieważ linearyzowalność jest właściwością lokalną , nie sądzę, żeby chodziło o liczbę przedmiotowych obiektów. Czy możesz wyjaśnić więcej? 2. Jaki jest Twój sens używania „czyli” odnosić atomicity of operations on a single objectsię sequential specifications are not violated?
hengxin
Prawdziwe. Niech pomyślę jeszcze raz ...
Martin B.
Całkowicie przepisałem odpowiedź ... Myślę, że teraz ma to sens. Nie pamiętam, co myślałem wcześniej.
Martin B.
Myślę, że twój obecny argument ma sens. Po twojej odpowiedzi sprawdziłem artykuł Eventually Linearizable Shared Objects (PODC'10)i zauważyłem, że wzięto pod uwagę dowolne obiekty (zamiast tylko rejestrów SWMR).
hengxin
Dziękujemy za uwagę i wysiłki. Czy pracujesz nad teorią obliczeń rozproszonych / współbieżności? Czy mógłbyś ocenić mój kolejny problem: algorytmy atomowej migawki w udostępnianych rejestrach o strukturze drzewa ? Czy uważasz, że warto studiować ten problem?
hengxin