저는 Scala와 Akka를 처음 사용하고 있으며 문제를 해결하기 위해 그것을 사용하는 것을 고려하고 있습니다. 계산 엔진 (솔루션을 검색하는)이 있다고 가정합니다. 각 노드에 각 CPU 인스턴스에 자체 엔진 인스턴스를 제공하여 CPU 및 노드 간 검색을 병렬화하고 싶습니다.큰 공유 상태를위한 scala/akka/stm 디자인?
엔진 입력은 소수의 스칼라 입력과 매우 큰 해시 테이블로 구성됩니다. 각 엔진 인스턴스는 스칼라 입력을 사용하여 해쉬 테이블에 대해 약간의 로컬 변경을 수행하고 선량을 계산 한 다음 변경 사항을 버립니다 (다른 엔진 인스턴스가 커밋하거나 볼 필요가 없음). goodness 값은 결과 중 하나를 선택할 코디네이터에게 반환됩니다.
STM TransactionalMap에 대한 정보는 공유 상태를위한 수단으로 읽었습니다. 이것은 이상적으로 보이지만 공유 상태로 사용하는 완전한 예제는 실제로 볼 수 없습니다.
질문 :
- 는 배우/STM 모델은이 문제에 대해 잘 보이는가?
- 공유 상태를 배포하는 방법에 대한 구체적인 예를 보여줄 수 있습니까? (이 참조 [TransactionalMap [,]]와 같은 메시지인가?
- 다른 노드에에 반대 노드에서 공유 상태를 배포에 대해 다른 있나요? 미심쩍은 마음을 알고 싶어
,
당신이 해시 테이블의 공유 복사본에 커밋 엔진 인스턴스에서 변경을 원하지 않기 때문에 여기에 잘 맞는 것 STM 같은 소리하지 않습니다 공유 메모리 처리 측면에서앨런