분산 프로그래밍이란 무엇입니까?

분산 프로그래밍은 병렬 프로그래밍 또는 병렬 컴퓨팅의 한 형태입니다. 병렬 프로그래밍에는 내일 날씨 예측과 같은 특정 문제에 대해 동시에 작동하는 컴퓨터 내의 컴퓨터 및 컴퓨팅 장치가 포함됩니다. 컴퓨팅 장치는 매우 밀접하게 위치하고 조정될 수 있거나 떨어져있을 수 있습니다. 컴퓨팅 장치가 분리되면 분산 프로그래밍이라고합니다. 이러한 시나리오에서는 종종 컴퓨팅 장치가 서로 다르고 운영 체제 및 네트워크 설정도 다르므로 컴퓨팅 활동의 프로그래밍이 특히 어려워집니다.

분산 방식으로 문제를 해결할 때 프로그램의 일부가 다른 컴퓨팅 유닛에서 실행될 수 있도록 프로그램을 분할해야합니다. 이 부분을 종종 "프로세스"라고합니다. 프로세스는 동시에 실행되지만 입력과 결과를 서로 통신해야합니다. 프로세스가 인텔 및 ANOT에서 실행되는 한 부분과 같은 다른 하드웨어에서 실행중인 경우그녀는 태양에 달려 가면 프로그램을 다르게 편집하고 최적화해야합니다.

충분히 어려운 문제를 해결하는 한 가지 방법은 입력 부품을 분해하고 동일한 알고리즘, 규칙 세트 또는 문제 해결 단계를 사용하여 다른 컴퓨팅 장치가 다른 부분에 대해 작동하는 것입니다. 예를 들어, 10,000 쌍의 게놈을 깨뜨리려면, 첫 번째 1,000 쌍은 첫 번째 컴퓨팅 장치, 두 번째 컴퓨팅 장치에 할당 된 두 번째 1,000 쌍 등에 동일한 알고리즘을 사용하여 할당 될 수 있습니다. 분산 프로그래밍을 사용하면 한 가지 장점은 다른 컴퓨팅 장치가 다른 알고리즘을 실행하여 동일한 문제를 해결할 수 있으므로 훨씬 더 나은 솔루션을 초래한다는 것입니다. 이것은 일부 사람들이 국경을 결합하는 지그 소 퍼즐을 풀고 다른 사람들은 특정 색상의 조각을 정리하는 것과 유사합니다.

분산 컴퓨팅의

조정프로세스는 특히 어려운 작업이 될 수 있습니다. 일부 컴퓨팅 장치는 다른 작업을 처리하기 위해 실패하거나 중단 될 수 있습니다. 입력 또는 계산 결과를 포함하는 메시지가 목적지에 도달하지 못할 수 있습니다. 프로그램이 순진한 방식으로 작성된 경우 컴퓨팅 장치 또는 일부 메시지가 손실되면 전체 컴퓨터 세트가 매달릴 수 있습니다.

분산 프로그래밍에서 한 프로세스는 제어 프로세스 일 수 있으며, 본질적으로 다른 프로세스에 의해 작업을 수행하거나 모든 프로세스가 "마스터"가 아닌 프로세스가없는 피어 투 피어 방식으로 작동 할 수 있습니다. 분산 프로그래밍에서 시도한 문제의 예로는 석유와 같은 자원에 대한 지질 데이터 분석, 단백질 및 생물학적 분자 모델링, 코딩 된 메시지의 균열 및 군사 시뮬레이션이 포함됩니다. 지구에서받은 라디오 메시지에서 지능적인 외계 생명을 찾는 Seti 프로젝트는 아마도 가장 잘 알려진 예 중 하나 일 것입니다.

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?