문제

KAHN 프로세스 네트워크와 배우 모델 간의 실제 차이점은 무엇인지 궁금해하고있었습니다.실제로 정의를 바라 보는 경우, 이들은 모두 계산 엔티티 (두 경우 두 경우 모두의 액터라고 함)를 무한한 버퍼를 통해 교환하는 모델입니다.또한 두 경우 모두 프로 시저가 항상 메시지를 보낼 수 있기 때문에 이러한 메시지가 비동기 적으로 전송됩니다.받는 사람이받는 사람이받을 준비가되기를 기다릴 필요가 없습니다.

그러므로 실제 차이가 있습니까?

감사합니다!

도움이 되었습니까?

해결책

KAHN Process Network는 결정 론적으로 보장됩니다. 프로세스 간의 모든 FIFO 연결은 우선적으로 알려져 있으며 실행 과정에서 동적으로 변경되지 않습니다. 대조적으로, 배우 모델의 경우 (Wikipedia 인용) :

수신 메시지에 대한 응답으로 액터는 지역 결정을 내리고, 더 많은 액터를 만들고, 더 많은 메시지를 보내고, 수신 된 다음 메시지에 응답하는 방법을 결정할 수 있습니다.

액터 모델은 결정적으로 결정되지는 않습니다. 인용 Wikipeda :

배우 모델은 도메인 이론을 사용하여 수학적 모델에서 캡처 된 수학적 모델에서 캡처 된 무의비 된 비막이를 특징으로합니다.

또 다른 중요한 구분은 의사 소통이 어떻게 진행되는지

KPN의 경우 - 결정론을 보존하기 위해 모든 통신은 FIFO 채널을 통해 이루어집니다. 그러나 배우 모델의 경우와 같은 요구 사항은 아닙니다. 위키 백과 인용 :

[KPN에서 메시지 도착의 순서가 필요하지 않습니다 [....] 출력 메시지 순서가 필요한 경우이 기능을 제공하는 큐 액터에 의해 모델링 할 수 있습니다. 이러한 대기열 액터는 FIFO 순서로 검색 할 수 있도록 도착한 메시지를 대기열합니다. 따라서 배우 X가 액터 Y에 메시지 M1을 보냈고, 이후 X는 다른 메시지 M2를 Y로 보냈지 만 M2가 M2 이전에 y에 도착할 필요가 없습니다.

이를 통해 액터 모델은 패킷을 전송 한 순서대로 수신 해야하는지를 보장하지 않는 패킷 스위칭 시스템을 미러링합니다. 배달 보증의 순서를 제공하지 않으면 패킷이 버퍼 패킷으로 전환 할 수 있으며 여러 경로를 사용하여 패킷을 보내고 손상된 패킷을 다시 보내고 다른 최적화를 제공합니다.

위의 설명에서 매우 명확한 바와 같이 KPN은 추가 제한을 추가하여 액터 모델을 사용하여 모델링 할 수있는 훨씬 더 많은 구속 된 시나리오입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top