Skip to main content

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

분산 프로그래밍은 병렬 프로그래밍 또는 병렬 컴퓨팅의 한 형태입니다.병렬 프로그래밍에는 내일 날씨 예측과 같은 특정 문제에 대해 동시에 작동하는 컴퓨터 내의 컴퓨터 및 컴퓨팅 장치가 포함됩니다.컴퓨팅 장치는 매우 밀접하게 위치하고 조정될 수 있거나 떨어져있을 수 있습니다.컴퓨팅 장치가 분리되면 분산 프로그래밍이라고합니다.이러한 시나리오에서는 종종 컴퓨팅 장치가 서로 다르고 운영 체제 및 네트워크 설정도 다르므로 컴퓨팅 활동의 프로그래밍이 특히 도전적입니다.프로그램의 일부가 다른 컴퓨팅 장치에서 실행될 수 있도록 분할;이 부분을 종종 프로세스라고합니다.프로세스는 동시에 실행되지만 입력과 결과를 서로 통신해야합니다.프로세스가 인텔에서 실행되는 한 부분과 태양에서 달리는 다른 부분과 같은 다른 하드웨어에서 실행중인 경우 프로그램을 다르게 컴파일하고 최적화해야합니다., 다른 컴퓨팅 장치가 동일한 알고리즘, 규칙 세트 또는 문제 해결 단계를 사용하여 다른 부품에서 작동하도록합니다.예를 들어, 10,000 쌍의 게놈을 깨뜨리려면, 첫 번째 1,000 쌍은 첫 번째 컴퓨팅 장치, 두 번째 컴퓨팅 장치에 할당 된 두 번째 1,000 쌍 등에 동일한 알고리즘을 사용하여 할당 될 수 있습니다.분산 프로그래밍을 사용하면 한 가지 장점은 다른 컴퓨팅 장치가 다른 알고리즘을 실행하여 동일한 문제를 해결할 수 있으므로 훨씬 더 나은 솔루션을 초래한다는 것입니다.이것은 일부 사람들이 경계를 결합한 사람과 함께 직소 퍼즐을 풀고 다른 사람들은 특정 색상의 조각을 정리하는 것과 유사합니다.

분산 컴퓨팅 프로세스의 조정은 특히 어려운 작업이 될 수 있습니다.일부 컴퓨팅 장치는 다른 작업을 처리하기 위해 실패하거나 중단 될 수 있습니다.입력 또는 계산 결과를 포함하는 메시지가 목적지에 도달하지 못할 수 있습니다.프로그램이 NA #239; ve 방식으로 작성된 경우 컴퓨팅 장치 또는 일부 메시지가 손실되면 전체 컴퓨터 세트가 중단 될 수 있습니다.다른 프로세스에 의해 수행되는 작업 또는 모든 프로세스는 프로세스가 마스터가 아닌 피어 투 피어 방식으로 작동 할 수 있습니다.분산 프로그래밍에서 시도한 문제의 예로는 석유와 같은 자원에 대한 지질 데이터 분석, 단백질 및 생물학적 분자 모델링, 코딩 된 메시지의 균열 및 군사 시뮬레이션이 포함됩니다.지구에서받은 라디오 메시지에서 지능적인 외계 생명을 찾는 Seti 프로젝트는 아마도 가장 잘 알려진 예 중 하나 일 것입니다.