4

프로그래밍 구조 연구를 진행하고있었습니다. 특히 나는 동시 프로그램을 공부하고 있었다. 동시 프로그램, 병렬 프로그램 및 분산 프로그램 간의 구별이 혼란스러워 보이는 몇 가지 기사를 읽었습니다.동시 프로그램, 병렬 프로그램 및 분산 프로그램의 구분

동시 프로그램 : 다음

내 이해가 동시에 여러 작업을 수행 정도

병렬 프로그램 수행의 개념을 제공한다 : 일부 관련 태스크가 실행될 수 있도록 이러한 문제점을 해결하기위한 알고리즘을 동시에

분산 프로그램 : 해당 알고리즘의 고유 한 병렬 처리보다 사용 가능한 리소스와 관련이 있습니다. 문제를 해결하기 위해 하나 이상의 컴퓨팅 리소스를 사용할 수 있습니다.

누군가이 용어에 대한 설명을 정확하고 자세히 설명해 주시겠습니까?

답변

2

이러한 용어는 실제로 관련되어 있으며 때로는 겹쳐 지기도합니다. 병렬 프로그래밍은 일부 계산을 가속화하기 위해 여러 개의 동시 실행 엔터티 (스레드, 프로세스)를 사용하는 동시 프로그래밍의 하위 집합입니다. 분산 컴퓨팅은 매우 광범위한 주제로 말씀 드렸듯이 리소스를 사용하여 문제를 해결하는 데 중점을 둡니다. 이러한 리소스는 동일한 시스템에 있거나 지리적으로 분산되거나 이기종 일 수 있습니다. 병렬 및 분산 컴퓨팅 사이에 명확한 경계를 그리는 것은 어렵습니다. 병렬 컴퓨팅은 사용되는 리소스에 따라 분산되거나 분산되지 않을 수 있지만 분산 컴퓨팅은 병렬로 문제를 해결하는 데 사용되거나 사용되지 않을 수 있습니다.

제 생각에,이 용어들 사이의 미묘한 차이는 그들이 고려되는 추상화 레이어에서 비롯된 것입니다. 주요 관심사가 공유 데이터에 대한 별도의 계산 엔티티의 상호 작용 인 경우 동시 프로그래밍에 대해 이야기합니다. 핵심 측면이 여러 계산 단위를 사용하여 계산 속도를 높이면 병렬 컴퓨팅이됩니다. 마지막으로, 리소스가 문제를 해결하기 위해 관리되는 방식에 중점을두면 분산 컴퓨팅에 대해 이야기하고 있습니다.