2017-11-16 33 views
1

원격 클러스터에서 병렬로 시뮬레이션을 실행하고 싶습니다.matlab에서 원격 유닉스 클러스터에서 병렬 시뮬레이션을 실행하십시오.

나는 로컬 우분투 컴퓨터에서 그들을 사용하여 관리 할 수 ​​있습니다.

unix('parallel -j4 flow > /dev/null :::: Pool.txt'); 

그러나 원격 클러스터에서 실행하려면 병렬 명령을 작동시키지 않아도됩니다.

첫 번째 문제는 비밀번호를 입력하지 않는 것입니다. 이를 위해

나는 서버에 저를 얻을이

unix('sshpass -p password ssh [email protected]') 

로 sshpass를 사용하지만 다음 명령 줄을 계속하지 않습니다.

나는 여기에서 참조하고 싶지 않은 많은 명령을 시도한다.

기본적으로 병렬 GNU 명령 사용법을 잘 이해하고있는 사람이라면 클러스터에 어떻게 연결할 수 있습니까? 거기에서 시뮬레이션을 실행하십시오. 그냥 서버에서 스크립트를 만들고 matlab에서 실행하는 것이 더 낫습니까?

모든 전문가의 조언을 바랍니다.

답변

1

GNU 병렬으로 구성되어 있지만 구성은 ssh입니다. 먼저 ssh을 설정해야하며 나머지는 쉽습니다.

그래서, 해당 지역의 우분투 시스템에, 당신은 당신의 키를 만들어야합니다 $HOME/.ssh에서 일부 파일을 만들 것입니다
ssh-keygen -t rsa -b 2048 

. 이제 해당 키의 공용 부분을 병렬 작업을 실행하려는 원격 클러스터의 모든 노드에 복사해야합니다.

ssh-copy-id -i $HOME/.ssh/id_rsa.pub [email protected] 
... 
ssh-copy-id -i $HOME/.ssh/id_rsa.pub [email protected] 

이제

ssh-copy-id -i $HOME/.ssh/id_rsa.pub [email protected] 

, 시험 각 노드에 ssh을 수행 할 수 있습니다

ssh [email protected] 

그런 다음 해당 지역의 우분투 상자, ssh에 대한 설정 파일을 설정, 그래서 것 $HOME/.ssh/config

Host node0 
Hostname 192.168.0.100 
User fred 

... 
... 

Host node15 
Hostname 192.168.0.115 
User fred 

이제 사용할 수 있습니다.

ssh node0 
,210

과 그 지금 GNU 병렬 기능이 작동 [email protected]

을 의미 알게 될 것이다 : I 키를 만들었지 만

parallel -S node0,node1,node2 
+0

안녕 내가 'ssh를 복사 - ID를 입력 할 때 CLUSTERUSERNAME @ 노드 - 0 ' :/usr/bin/ssh-copy-id : 오류 :'home/USER/'ID 파일을 열지 못했습니다.pub ': 해당 파일이 없습니다 – CMN

+0

다시 시도하십시오 - 업데이트했습니다. –