문제

저는 애플리케이션에 쉽게 내장할 수 있는 분산 컴퓨팅 플랫폼을 찾고 있습니다.

MPI(및 일부 구현)를 조사했지만 내가 본 바에 따르면 각 작업에 대한 실행 파일을 생성하는 작업이 포함되어 있으며 이는 다음을 사용하여 시작됩니다. mpirun.나는 그것을 제외하지 않고 단지 그것이 외부 실행 파일(가능한 경우)이 아닌 애플리케이션에 포함되기를 원합니다.

SO 사용자 여러분은 이러한 프레임워크(오픈 소스 선호)를 알고 계십니까?또한 내 마음을 정하기 위해 몇 가지 사용 샘플이 좋을 것입니다.

솔루션이 배포될 LAN의 스테이션이 이기종이므로 ​​가능한 경우 크로스 플랫폼 솔루션에 관심이 있습니다.

모든 제안과 특히 코드 예제를 높이 평가합니다.

도움이 되었습니까?

해결책

MPI 외에 네 가지 시스템이 떠오릅니다.AMQP, ZeroMQ, 실크, 배우.

AMQP는 메시지 전달을 사용하여 시스템 간 통신을 수행하고 중앙 메시지 브로커를 사용하여 메시지를 처리/배포합니다.일부 구현에서는 수신자에게 적절한 전달을 보장하지만 속도가 느립니다(TCP와 유사).일부 구현은 실행 후 잊어버리므로 보장된 전달을 허용하지 않지만 더 빠릅니다(UDP와 유사).참고 AMQP는 구현이 아닌 프로토콜입니다. 널리 사용되는 구현에는 다음이 포함됩니다. 액티브MQ 그리고 RabbitMQ.

ZeroMQ 중앙 메시지 브로커를 뺀 AMQP와 약간 비슷합니다.이는 기본적으로 액터 스타일이며, 프로그래밍 방식이 더 뛰어나 시스템을 엔드투엔드 방식으로 설계할 수 있다고 생각합니다.분산형(중앙 메시지 브로커 없음)이며 벤치마크 결과 AMQP 구현보다 훨씬 빠른 것으로 나타났습니다.

나는 경험이 별로 없다. 실크 C/C++와 함께 작동하도록 설계된 MIT의 잘 지원되는 프로젝트라는 사실 외에는.

액터는 로컬/분산 동시성을 모두 지원하는 추상화이며 Erlang에 의해 대중화되었으며 가장 최근에는 아카 프로젝트(스칼라, 자바).내가 아는 C++ 호환 버전은 Theron, Actor-CPP 및 libcppa입니다. 하지만 원격 액터를 지원하는 버전은 확실하지 않습니다.

다른 팁

나는 ecatly 그런 종류의 것입니다.임베디드 분산 컴퓨팅.그러나 그것은 자바가 아니라 C가 아니라 Java에서 C를 호출 할 수 있습니다.

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