Чому нам не вдалося розробити єдину теорію складності розподілених обчислень?


41

Поле розподілених обчислень надзвичайно коротко розробило єдину математичну теорію для опису розподілених алгоритмів. Існує кілька «моделей» та рамок розподілених обчислень, які просто не сумісні між собою. Швидкий вибух різних тимчасових властивостей (асинхронність, синхронність, часткова синхронія), різні комунікативні примітиви (передача повідомлення проти загальної пам’яті, трансляція проти одноадресної передачі), декілька моделей несправностей (зупинка відмови, відновлення аварії, надсилання пропусків, візантійська тощо) далі) залишив нам нерозв'язну кількість системних моделей, рамок та методологій, що порівняння результатів відносної розв’язуваності та нижчих меж цих моделей та рамок стало важким, нерозв'язним, а часом і неможливим.

Моє запитання дуже просто, чому це так? Що настільки принципово відрізняється від розподілених обчислень (від його послідовного аналога), що нам не вдалося порівняти дослідження в єдину теорію розподілених обчислень? За допомогою послідовних обчислень, машин Тюрінга, рекурсивних функцій та обчислення лямбда виявилося рівнозначним. Це була лише удача, чи ми справді добре зробили роботу по інкапсуляції послідовних обчислень таким чином, який ще слід виконати з розподіленими обчисленнями?

Іншими словами, чи поширюються обчислювальні властивості, невідступні елегантній теорії (і якщо так, то як і чому?), Чи ми просто недостатньо розумні, щоб відкрити таку теорію?

Єдине посилання, яке я міг би знайти, що стосується цього питання, це: " Оцінювання двох десятиліть досліджень розподілених обчислювальних теорій " Фішера та Меррітта DOI: 10.1007 / s00446-003-0096-6

Будь-які довідки чи експозиції були б дуже корисними.

Відповіді:


26

Я вважаю, що модель обчислень, обґрунтована абстрактно мотивованою моделлю Тьюрінга, була досконалим наближенням технологій до недавнього часу, тоді як моделі розподілених обчислень, починаючи з руху, були мотивовані реальним світом, який завжди гірший, ніж абстракції.

З, скажімо, 1940-1995 рр. Розмір проблемних примірників, відносна «неважливість» паралелізму та одночасності та макромасштаб обчислювальних пристроїв - все «змовилося», щоб утримувати машини Тьюрінга відмінним наближенням до реальних комп'ютерів. Однак, як тільки ви почнете мати справу з масовими наборами даних, всюдисущою потребою в одночасності, біологією через алгоритмічну лінзу тощо, набагато менш зрозуміло, чи існує "інтуїтивна" модель обчислення. Можливо, проблеми в одній моделі не складні - суворо менш обчислювально складні - в іншій. Тому я вважаю, що обчислювальна складність в основному наздоганяє (!) Розподілені обчислення, починаючи розглядати кілька моделей обчислень та структур даних, мотивованих реальними міркуваннями.


7
Також розглянемо визначальні питання відповідних полів. "Припустимо, що ви можете обчислити ідеально. Які межі того, що ви можете, а чого не можете зробити?" vs. "Припустимо, у вас несправний канал, процесор чи припустімо, що у вас є супротивник. Як ви можете успішно обчислити, зіткнувшись із цими перешкодами?" Перше питання, швидше за все, спричинить "чисті" відповіді. Друга - прохання науковці безладдя.
Аарон Стерлінг

21

Я відповім на це з точки зору класичних проблем із графіком (або з проблемами вводу / виводу): у нас є мережа, кожен вузол отримує щось як вхід, і кожен вузол повинен щось виробляти як вихід. Я думаю, це найближче до світу традиційна складність обчислень.

Я , звичайно , упереджений, але я думаю , що в цій ситуації є це простий і досить широко використовувана модель розподілених обчислювальний: синхронні розподілені алгоритми , з визначенням , що час = кількість синхронних раундів роботи . У термінології Пелеґа це ЛОКАЛЬНА модель.

Ця модель хороша, оскільки має дуже мало «рухомих деталей», відсутні параметри тощо. Тим не менш, вона дуже конкретна: є сенс сказати, що час роботи алгоритму в цій моделі рівно 15. І ви можете довести безумовні, інформаційно-теоретичні нижчі межі: з цього погляду розподілена складність багатьох задач графіків (наприклад, забарвлення графіків) досить добре зрозуміла.

Ця модель також забезпечує єдиний підхід до багатьох аспектів розподілених обчислень:

  • Повідомлення проти спільної пам’яті, трансляція проти одноадресної передачі: Нерелевантно в цій моделі.
  • α
  • Ви хотіли б створити алгоритм для динамічних мереж або хочете відновитись після збоїв? Добре, якщо ваш синхронний алгоритм є детермінованим, то ви можете використовувати його для побудови самостійної стабілізації алгоритму. Знову ж таки, часова складність істотно не впливає.

Тепер все це добре, поки ви вивчаєте проблеми, які "по-справжньому розподілені" в тому сенсі, що час роботи вашого алгоритму менше, ніж діаметр графіка , тобто жоден вузол не повинен мати повну інформацію про структуру графік. Однак існує також безліч проблем, які за своєю суттю є глобальними: найшвидший алгоритм у цій моделі має час роботи, лінійний за діаметром графіка. У дослідженні цих проблем вищезазначена модель вже не має сенсу, і тоді нам потрібно вдаватися до чогось іншого. Зазвичай, людина починає звертати увагу на загальну кількість повідомлень або бітів, переданих у мережі. Це одна з причин, чому ми отримуємо кілька різних моделей.


Звичайно, у нас є питання, що спільнота розподілених обчислень насправді є двома різними спільнотами, надивома мало спільного . Якщо зібрати всі моделі з двох спільнот, це , звичайно, буде дещо заплутано ... Моя відповідь вище стосується лише половини спільноти; Я вірю, що інші поповнить відносно другої половини.


Якщо я правильно це розумію, справа в тому, що існує елегантна теорія лише для синхронних систем і не багато іншого. Стосовно систем, що не є синхронними, ми поєднуємо проблеми / фокуси двох інакше різних спільнот, і це представляє методологічні проблеми при розробці єдиної теорії. Чи правильно я зрозумів ваші аргументи?
Srikanth Sastry

Дякую за дуже інформативну відповідь. Я б прийняв це як відповідь.
Мохаммед Аль-Туркстаній

5

Одна романтична ідея захоплення різних моделей розподілених обчислень пройшла через алгебраїчну топологію. Основна ідея полягає в побудові спрощених комплексів, дозволяючи точкам бути станами процесу, кожен з яких позначений ідентифікатором процесу. Це буквар по темі. Найближчий відповідь на ваше запитання, мабуть, торкнувся Елі Гафні у своїй роботі «Розподілені обчислення» - проблиск теорії. У своїй роботі він показує моделювання того, як починати з асинхронної спільної пам'яті для двох-трьох процесорів (для зупинки відмови та візантійської) - показує, як можна застосувати це до моделі передачі повідомлень. Важливим для розуміння його моделювання є поняття перегляду топологічно розподілених обчислень


4

Я думаю, що ситуація виглядає зовсім інакше, якщо розглядати її в контексті: починаючи з ранніх робіт і неможливості результатів візантійської угоди ( PSL80 LSP82 FLP85), незабаром було зрозуміло, що фундаментальні проблеми розподілених обчислень можуть бути вирішені взагалі лише за умови суворих припущень синхронії та високого ступеня надмірності. Оскільки ці безумовні теоретичні нижчі межі ресурсів вважалися нездійсненними для будь-яких практичних цілей, дослідження були зосереджені на розробці більш доопрацьованих моделей, які дозволять все більше дрібнозернистих відшкодувань припущень (наприклад, щодо гарантій часу або режимів відмов), порівняно з гарантіями (тобто, кількістю одночасні помилки, що стосується того, який тип компонентів переноситься, наприклад процесори, посилання), щоб надати дизайнерам системи інструменти для пошуку правильної компрометації для системи.


Я розумію, що вдосконалені моделі були введені для розуміння "практичної" вирішуваності проблем у розподіленому просторі. Можна було б очікувати, що ці тонкозернисті моделі акуратно впорядкуються в ієрархії щодо вирішуваності, складності часу та складності повідомлення. На жаль, це не так. Моє запитання тут, в чому причина цієї балканізації? Якщо це якийсь атрибут (и), притаманний розподіленим обчисленням, то які вони?
Srikanth Sastry
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.