왜 분산 컴퓨팅의 통합 복잡성 이론을 개발할 수 없었습니까?


41

분산 컴퓨팅 분야는 분산 알고리즘을 설명하는 단일 수학적 이론을 개발하는 데 크게 어려움을 겪었습니다. 단순히 서로 호환되지 않는 몇 가지 '모델'과 분산 계산 프레임 워크가 있습니다. 다양한 시간적 속성 (비동기, 동기, 부분 동기화), 다양한 통신 기본 요소 (메시지 전달 대 공유 메모리, 브로드 캐스트 대 유니 캐스트), 여러 결함 모델 (실패, 충돌 복구, 송신 생략, 비잔틴 등)의 폭발 on) 이러한 모델과 프레임 워크에 대한 상대적인 용해도 결과와 하한을 비교하는 것은 힘들고 다루기 힘들며 때로는 불가능한 시스템 모델, 프레임 워크 및 방법론을 다루기 힘들었습니다.

내 질문은 매우 간단합니다. 왜 그렇습니까? 분산 컴퓨팅 (순차 대응)과 근본적으로 다른 점은 분산 컴퓨팅 이론으로 연구를 정리할 수 없었습니까? 순차적 컴퓨팅, Turing Machines, Recursive Functions 및 Lambda Calculus는 모두 동등한 것으로 잘 렸습니다. 이것은 운이 좋은 것일까, 아니면 분산 컴퓨팅으로는 아직 달성되지 않은 방식으로 순차 컴퓨팅을 캡슐화하는 데 실제로 좋은 일을 했습니까?

다시 말해, 분산 컴퓨팅은 본질적으로 우아한 이론 (그리고 만약 그렇다면 어떻게 그리고 왜?)에 얽매이지 않습니까, 아니면 우리는 그러한 이론을 발견 할만큼 똑똑하지 않습니까?

이 문제를 해결하는 유일한 참고 자료는 다음 과 같습니다. Fischer 및 Merritt DOI의 " 20 년 분산 컴퓨팅 이론 연구 평가 ": 10.1007 / s00446-003-0096-6

어떤 언급이나 설명도 도움이 될 것입니다.

답변:


26

필자는 추상적으로 동기 부여 된 튜링 머신 계산 모델이 최근까지도 기술에 대한 근사치 였지만, 시작부터 분산 컴퓨팅 모델은 실제 세계에서 동기 부여를 받았으며, 이는 항상 추상화보다 더 지저분합니다.

예를 들어, 1940-1995 년까지 문제 인스턴스의 크기, 병렬 처리 및 동시성의 상대적 "중요도"및 컴퓨팅 장치의 거시적 규모는 모두 튜링 머신을 실제 컴퓨터의 우수한 근사치로 유지하기 위해 "공모했습니다". 그러나 일단 대량의 데이터 세트를 다루기 시작하면 알고리즘 렌즈를 통한 동시성, 생물학 등의 편재가 필요합니다. "직관적 인"계산 모델이 있는지 확실하지 않습니다. 아마도 한 모델에서 어려운 문제는 다른 모델에서는 어렵지 않으며 엄격하게 계산이 덜 복잡합니다. 따라서 실제 계산에 의해 동기가 부여 된 여러 모델의 계산 및 데이터 구조를 고려하기 시작함으로써 분산 컴퓨팅을 통해 주류 계산 복잡성이 마침내 따라 잡히고 있다고 생각합니다.


7
각 필드의 정의 질문도 고려하십시오. "완벽하게 계산할 수 있다고 가정하십시오. 할 수있는 것과 할 수없는 것의 한계는 무엇입니까?" vs. "채널, 프로세서에 문제가 있거나 상대방이 있다고 가정합니다. 이러한 장애에 직면했을 때 어떻게 성공적으로 계산할 수 있습니까?" 첫 번째 질문은 "깨끗한"답변을 얻을 가능성이 높습니다. 두 번째는 혼란을 과학화하라는 요청입니다.
Aaron Sterling

21

나는 고전적인 그래프 문제 (또는 입 / 출력 문제)의 관점에서 이것에 답할 것입니다. 우리는 네트워크를 가지고 있으며, 각 노드는 입력으로 무언가를 얻고 각 노드는 출력으로 무언가를 생성해야합니다. 나는 이것이 전통적인 계산 복잡성의 세계에 가장 가깝다고 생각합니다.

나는 확실히 편견입니다,하지만 난이 설정에서,이 생각 입니다 간단하고 분산 컴퓨팅의 매우 일반적으로 사용 모델 : 동기 분산 알고리즘 의 정의와, 그 시간 = 동기 라운드의 수를 실행 . Peleg의 용어에서 이것은 LOCAL 모델입니다.

이 모델은 "움직이는 부분"이 거의없고 매개 변수도 없기 때문에 훌륭합니다. 그럼에도 불구하고 매우 구체적입니다.이 모델에서는 알고리즘의 실행 시간이 정확히 15 일 수 있습니다. 그리고 무조건적이고 정보 이론적 인 하한을 증명할 수 있습니다. 이러한 관점에서 많은 그래프 문제 (예 : 그래프 채색)의 분산 된 복잡성은 상당히 잘 이해되고 있습니다.

이 모델은 또한 분산 컴퓨팅의 여러 측면에 대한 통합 된 접근 방식을 제공합니다.

  • 메시지 전달 대 공유 메모리, 브로드 캐스트 대 유니 캐스트 :이 모델에서는 관련이 없습니다.
  • 실제 시스템이 비동기입니까? 문제 없습니다 . -synchroniser를 연결하십시오. 적절한 정의를 가진 시간 복잡성은 본질적으로 영향을받지 않습니다.α
  • 동적 네트워크에 대한 알고리즘을 원하십니까? 아니면 오류를 복구하고 싶습니까? 동기 알고리즘이 결정 론적이면이를 사용하여 자체 안정화 알고리즘 을 구성 할 수 있습니다 . 다시 말하지만, 시간 복잡성은 본질적으로 영향을받지 않습니다.

알고리즘의 실행 시간이 그래프의 직경보다 작다 는 의미에서 "정확하게 분포 된"문제를 연구하는 한,이 모든 것은 괜찮 습니다. 즉, 노드가 그래프. 그러나 본질적으로 전역 적 인 많은 문제가 있습니다.이 모델에서 가장 빠른 알고리즘은 그래프의 직경에서 선형 인 실행 시간을 갖습니다. 이러한 문제에 대한 연구에서 위의 모델은 더 이상 의미가 없으므로 다른 것에 의지해야합니다. 일반적으로 네트워크에서 통신하는 메시지 또는 비트의 총 수에주의를 기울이기 시작합니다. 그것이 우리가 여러 가지 다른 모델을 얻는 이유 중 하나입니다.


물론 우리는 분산 컴퓨팅 커뮤니티가 실제로 두 가지 다른 커뮤니티라는 사실을 알고 있습니다. 두 커뮤니티의 모든 모델을 한꺼번에 모으면 다소 혼란스러워 보일 것입니다 ... 위의 답변은 커뮤니티의 절반에만 해당됩니다. 나는 다른 사람들이 나머지 절반에 대해 채울 것이라고 믿습니다.


내가 이것을 올바르게 이해한다면 요점은 동기식 시스템에 대해서만 우아한 이론이 있으며 다른 것은 많지 않다는 것입니다. 동기식 시스템 이외의 시스템과 관련하여 우리는 다른 두 커뮤니티에서 문제 / 초점을 모으고 있으며 이는 단일 이론을 개발하는 방법 론적 문제를 제시합니다. 당신의 주장을 올바르게 이해 했습니까?
Srikanth Sastry

유익한 답변을 주셔서 감사합니다. 나는 이것을 대답으로 받아 들일 것입니다.
Mohammad Al-Turkistany

5

분산 컴퓨팅의 다양한 모델을 캡처하는 낭만적 인 아이디어는 대수 토폴로지를 통해 이루어졌습니다. 핵심 아이디어는 포인트가 프로세스 상태 (각각 프로세스 ID로 레이블이 지정됨)가되게함으로써 단순화 복합물을 만드는 것입니다. 이것은 주제에 대한 입문서 입니다. 귀하의 질문에 가장 가까운 대답은 아마도 Eli gafni가 그의 논문-분산 컴퓨팅-이론의 희미 함에서 다룰 것입니다. 그의 논문에서, 그는 3 개의 프로세서 (비 정지 및 비잔틴)에 대한 비동기 공유 메모리로 시작하는 방법을 시뮬레이션으로 보여줍니다.이를 메시지 전달 모델에 적용하는 방법을 보여줍니다. 그의 시뮬레이션을 이해하는 데 중요한 것은 분산 컴퓨팅을 위상 적으로 보는 개념입니다.


4

비잔틴 합의에 대한 초기 작업과 불가능한 결과부터 시작하여 상황에서 보면 상황이 상당히 다르게 보인다고 생각합니다 ( PSL80 LSP82 FLP85), 분산 컴퓨팅의 근본적인 문제는 엄격한 동기화 가정과 높은 수준의 중복성으로 만 해결할 수 있다는 것이 곧 분명해졌습니다. 이러한 무조건적인 이론적 자원 하한은 실제적인 목적으로는 실현 불가능한 것으로 간주되었으므로, 연구는 (예를 들어 타이밍 보증 또는 실패 모드에서) 가정과 비교하여 훨씬 세분화 된 가정 (예 : 타이밍 보증 또는 실패 모드)을 허용하는보다 정제 된 모델을 개발하는 데 중점을 두었습니다. 시스템 설계자에게 현재 시스템에 대한 올바른 균형을 찾을 수있는 툴을 제공하기 위해 어떤 종류의 구성 요소에 대해 어떤 종류의 구성 요소 (예 : 프로세서, 링크)에 대한 동시 결함.


분산 공간에서 문제의 '실제적인'해결 가능성을 이해하기 위해 정제 된 모델이 도입되었음을 이해합니다. 이러한 세분화 된 모델이 해결 가능성, 시간 복잡성 및 메시지 복잡성과 관련하여 계층 구조로 깔끔하게 정렬 될 것으로 기대합니다. 불행히도, 그렇지 않습니다. 내 질문은,이 발칸 화의 이유는 무엇입니까? 분산 컴퓨팅 고유의 속성 인 경우 무엇입니까?
Srikanth Sastry
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.