2013-07-16 1 views
0

나는 리눅스와 C 언어 모두에 대해 매우 익숙하다는 말로이 질문을 시작하겠다.별도의 리눅스 컴퓨터에서 소켓 통신을 설정하기위한 리소스, C++

나는 또한 말할 것이다, 나는 나는이 주제에 따라 지식이 고려하는 것이 내 친구 몇을 요청했습니다,하지만 그들은 또한 혼란을 표명 한 ...

나는 노력 임무를했습니다 Linux 시스템의 시스템에서 소켓 통신을 구현하는 방법. 현재 추가 컴퓨팅 성능을 위해 두 개의 Intel Xeon Phi 코 프로세서를 사용하는 호스트 시스템이 있습니다. 각 코 프로세서에는 실제로 자체 Linux 커널이 있으며 호스트 시스템의 자동화 된로드 밸런싱 메커니즘을 제어 할 수 있도록 액세스하려고 시도하고 있습니다. 기본적으로 최종 목표는 어떤 프로세스가 어떤 코 프로세서에 의해 처리되는지에 대한 제어권을 갖는 것입니다.

정기적으로 (몇 초마다 또는 그 미만으로) 무거운 데이터 세트에 대해 꽤 광범위한 계산을 수행하려고합니다. 수십만 개의 데이터 포인트를 수용하고 다양한 매개 변수 및 데이터 세분화를 사용하여 베이지안 평균 회귀를 수행해야합니다.

신뢰성은 반드시 있어야하며 ... 위임 된 각 프로세스는 상당히 커야합니다 (짐승이 아닌 사람은 단순하고 빠른 작업을 강요하지 않습니다).

여러분 모두가 (아마도 무료 온라인 리소스) 유용한 리소스를 추천 해주기를 바랍니다. 모든 권장 사항을 부탁드립니다.

감사합니다,

제임스 엘모어

답변

1

당신은 아래의 링크에서하여 TcpClient와 tcpserver는 체크 아웃 할 수 있습니다. 기본적으로 이들은 모든 소켓과 네트워킹을 처리하며, 프로그램의 핵심 로직에 집중할 수 있습니다. 그런 다음 tcpclient에서 클라이언트 프로그램을 실행하기 만하면됩니다. 그러면 서버에 대한 연결이 열립니다. 프로그램의 표준 출력의 출력은 소켓으로 파이프되어 서버로 보내지고 소켓으로 들어오는 입력은 프로그램의 표준 입력으로 파이프됩니다. 마찬가지로 tcpserver에서 서버 프로그램을 실행합니다. 포트에서 들어오는 연결을 수신 대기합니다. 연결이 이루어진 후에는 소켓에 입력이 프로그램의 표준 입력으로 파이프되고 stdout에서 나온 프로그램 출력이 소켓을 통해 파이프됩니다. 참조 : http://cr.yp.to/ucspi-tcp/tcpclient.html http://cr.yp.to/ucspi-tcp/tcpserver.html

1

또한 (예를 들어,이 Onion, Poco의 네트워크 부분, 또는 Wt 같은 C++ HTTP 서버 라이브러리가 필요하고, C++ HTTP 수 있습니다 클라이언트 라이브러리 libcurl를) 일부 Web services 구축을 고려할 수 있습니다.

Message Passing Interface (a.k.a. MPI)을 사용할 수도 있습니다. 물론

, 당신이로 보일 수 있습니다 XMLRPC, SOAP, JSONRPC, ASN1, Corba, libs11n, ONC (일명 RPC-XDR) 및 serializationremote procedure call 및 일반 message passing.

공유 메모리 또는 스레드를 사용할 수 있습니다. pthreads, NUMA, inter-process communication 등의 내용에 대해 자세히 알아보기

Cloud computing과 같은 관련성도 있습니다.openstack

특수 데이터 병렬 언어 (예 : OpenCL)도 적합 할 수 있습니다. OpenMP, Par4All, Pips4u

MELT으로 맞춤 설정하는 것이 좋습니다.

귀하의 질문이 너무 광범위합니다. 병렬 컴퓨팅의 어떤 영역에 대해 질문해야합니다. 대기 시간, 대역폭, 데이터 크기, 안정성 등은 중요합니다.

+0

확실히 데이터 크기와 신뢰성. 몇 초마다 입력되는 한 번에 수백만 데이터 포인트를 계산하려고합니다. – jameselmore

+0

개선을 위해 질문을 편집하십시오! 어떤 종류의 병렬 계산에 대해 생각해보십시오! 구체적으로, 도메인을 설명하십시오 .... –

+0

좀 더 많은 정보를 추가했습니다. 그것이 구체적이라고 생각하십니까? 나는 이것이 기업 프로젝트라고 생각해서 너무 많이 누설하는 것을 주저한다. – jameselmore

관련 문제