답변:
수많은 그래프 문제 의 분산 시간 복잡성 은 여전히 미해결 문제입니다.
일반적으로, 분산 그래프 알고리즘은 그래프 문제의 분산 시간 복잡성에 대해 상한과 하한 을 (적어도 점증 적으로) 일치 시킬 것으로 예상되는 영역입니다 . 예를 들어, 많은 최적화 문제의 경우 엄격한 한계가 알려져 있습니다. 그러나 여전히 잘 이해되지 못한 고전적인 대칭 파괴 문제가 많이 있습니다.
우리는 예를 들어, 얼마나 많은 통신 라운드 그것이 찾을 걸립니까, 모르는 최대한의 독립적 인 설정 하는 최대 매칭 , 적절한 착색 정점 으로 색, 또는 적절한 착색 가장자리 로 2 Δ - 1 개 색상을 그래프로를 최대 차수 Δ . 이러한 모든 문제는 탐욕스러운 중앙 집중식 알고리즘으로 쉽게 해결할 수 있으며 이러한 각 문제에 대해 효율적인 분산 알고리즘이 있지만 현재 알고리즘 중 어떤 것이 최적인지는 알 수 없습니다.
예를 들어, 이러한 모든 문제에 대해 실행 시간이 인 LOCAL 모델에 대한 결정 론적 분산 알고리즘이 있습니다. 여기서 n 은 노드 수입니다. 되는 공지 이러한 문제는 시간이 해결 될 수 없다고 O ( Δ ) + O를 ( 로그 * N ) 발사하지만 그들이 시간에 해결할 수있는 경우가 알려져 있지 O ( Δ ) + O ( 로그 * N )반올림. 일반적으로 우리는 실행 시간이 최대 정도에 어떻게 의존 하는지 이해하지 못합니다. 이것이 바로 현지 조정 문제 입니다.
무작위 의 역할 은 또 다른 주요 문제입니다. 예를 들어, 위에서 언급 한 많은 문제는 무작위 알고리즘으로 폴리 로그 시간에서 해결 될 수 있습니다 (즉, 시간은 Δ 값에 대해 폴리 로그입니다 ). 예를 들어 최대 독립 세트에 대한 폴리 로그 시간 결정 알고리즘은 알려져 있지 않습니다. . 이 문제와 다른 많은 미해결 문제는 Barenboim과 Elkin 의 최근 저서 11 장에서 자세히 설명 합니다.
위에서 분산 컴퓨팅과 관련된 질문에 중점을 두었습니다. 분산 그래프 알고리즘에는 이론적 인 컴퓨터 과학의 일반적인 문제를 열기 위해 사소한 연결을하는 미해결 질문도 있습니다. 예를 들어, 혼잡 한 도당 모델에 대한 불변의 하한 은 분산 컴퓨팅에서 큰 문제입니다. 최근 에 그러한 하한은 ACC에 대한 새로운 하한을 의미한다는 것이 발견되었다 .
"최소 스패닝 트리 (MST)에 대한 분산 알고리즘" 에 대한 공개 문제 : ([1]에 나열 됨)
에 관한 시간 복잡성을,
거의 시간 동안 최적 알고리즘 및 하한은 [2]에 나타나 있으며 여기에서 참조됩니다. 최적의 시간 복잡도는 여전히 미해결 문제입니다.
에 관한 메시지 복잡성을,
동기식 모델 관련 :
[1] 2008 년 "알고리즘 백과 사전"에서 Sergio Rajsbaum의 최소 스패닝 트리 에 대한 분산 알고리즘 .
[2] Lotker 등의 일정한 직경 그래프 에 대한 분산 MST . 배포. 컴퓨팅, 2006.
[4] Khan 등의 최소 스패닝 트리 에 대한 빠른 분산 근사 알고리즘 . DISC 2006.
협력 컴퓨팅 연구소를 이끌고있는 노트르담 연구원 Douglas Douglasn의 2012 년부터 "분산 컴퓨팅의 미해결 컴퓨터 과학 문제" 슬라이드 쇼 (더 최근에)를 참조하십시오 . 그것은 적용되는 경사가 더 많지만 열거 된 주요 질문은 필연적으로 이론적 인 영역으로 이어진다.
킬로 스케일 문제 : 동시성이 충분한 워크 플로우는 시스템 관리자의 도움없이 처음으로 1K 코어에서 올바르게 실행될 수 있어야합니다.
중단 문제 : 1,000 개의 노드에서 실행되는 워크 플로가 있으면 모든 관련 상태를 중지하고 완전히 확실하게 정리하십시오.
종속성 문제 :
(1) 프로그램이 주어지면 실제로 다른 컴퓨터에서 실행하는 데 필요한 모든 것을 알아냅니다.
(2) 프로세스가 주어지면 실제로 실행하는 동안 사용되는 (분산 된) 리소스를 파악하십시오.
(3) 1과 2를 전체 워크 플로로 확장하십시오.
적절한 규모의 문제 : (구조화 된) 응용 프로그램과 지정된 클러스터, 클라우드 또는 그리드가 주어지면 수용 가능한 비용으로 우수한 성능을 달성 할 수있는 리소스 할당을 선택하십시오.
문제 해결 문제 : 100 계층 소프트웨어 스택 중간에 오류가 발생하면 언제 어떻게 오류를보고 / 재시도 / 무시 / 억제합니까?
설계 문제 : 분산 컴퓨팅에 적합하도록 응용 프로그램을 어떻게 설계해야합니까?