분산 알고리즘이란 무엇입니까?
분산 알고리즘은 다양한 상호 연결된 프로세서를 사용해야하는 컴퓨터 소프트웨어에 사용되는 특정 유형의 알고리즘입니다. 분산 알고리즘은 각각 다른 프로세서에서 알고리즘의 다른 부분을 동시에 실행하는 역할을합니다. 그런 다음 소프트웨어가 올바르게 실행 되려면 프로세서가 서로 통신해야합니다.
분산 알고리즘을 이해하려면 일반적인 알고리즘이 무엇인지 가장 쉽게 검사하십시오. 알고리즘은 원하는 프로세스를 완료하거나 문제를 해결하기 위해 수행해야하는 단계를 처음부터 끝까지 설명하는 정의 된 프로세스입니다. 예를 들어, 편지를 우편으로 보내는 알고리즘은 다음과 같은 내용을 따릅니다.
1. 봉투를 가져옵니다
2. 봉투를 엽니 다
3. 편지를 삽입
4. 봉투를 닫습니다
5. 스탬프 첨부
프로세스가 완료 될 때까지 계속됩니다. 특정 단계는 다른 단계로 분기 될 수 있습니다. 이들은 주요 단계 중 하나를 완료 할 수없는 경우 어떻게해야하는지 알려주고 결국 원래 알고리즘으로 다시 이끌 것입니다. 중요한 것은 알고리즘이 사람이 도달하는 경로에 관계없이 결국에는 끝이 있어야한다는 것입니다.
기술적으로 정의 된 프로세스 인 모든 것은 편지를 보내는 위의 예와 같은 알고리즘 일 수 있습니다. 컴퓨터 알고리즘은 컴퓨터에게 무엇을해야하는지 알려주는 알고리즘입니다. 그것은 몇 단계 사이에 시작과 끝 단계가 있습니다. 컴퓨터가 작업을 수행하는 데 도움이되고 문제가 발생하면 어떻게해야하는지 지시합니다. 컴퓨터에 필요한 파일이 없으면 해당 단계를 건너 뛰거나 다른 단계를 수행하도록 지시 할 수 있습니다.
알고리즘과 분산 알고리즘의 차이점은 분산 알고리즘이 일반 컴퓨터 알고리즘과 달리 별도의 프로세서에서 실행되도록 설계되었다는 것입니다. 각 프로세서는 전체 알고리즘의 다른 부분을 동시에 수행 한 다음 결과를 제출합니다.
분산 알고리즘을 사용할 때 발생하는 몇 가지 문제가 있습니다. 프로세서 중 하나가 실패하여 알고리즘의 해당 부분이 작동을 멈출 수 있습니다. 프로세서간에 통신 문제가있어 분산 알고리즘이 프로세스 끝에 도달하지 못하게 할 수 있습니다. 많은 프로그래머들은 분산 알고리즘을 연구하여 이러한 문제를 극복하고 기술적 오류가있는 경우에도 알고리즘이 완료되도록하는 방법을 찾습니다.