2012-09-18 2 views
3

누구든지 저에게 matlabpool을 실행하는 오버 헤드는 무엇입니까? matlabpool의 오버 헤드 란 무엇입니까?

은 내가 matlabpool 시작 :

matlabpool open 132procs 100 
Starting matlabpool using the '132procs' configuration ... connected to 100 labs. 

를하고 노드에서 CPU 사용을 따랐다 : 나는 matlabpool를 시작하면 평균 때에 ~ 35 %의 CPU 사용률로 시작

pdsh -A ps aux |grep dmlworker 

풀 은 천천히 (5 ~ 7 분) 평균 2 % 미만으로 사용되지 않습니다.

정상입니까? 일반적인 오버 헤드는 무엇입니까? matlabpooljob이 "batch"작업으로 시작되면 변경됩니까?

답변

1

이것은 정상입니다. ps aux은 프로세스가 시작된 이후 롤링 기간이 아닌 평균 CPU 사용률을보고합니다. 즉, 작업자가 상대적으로 빠르게 초기화 된 다음 유휴 상태가 되더라도 CPU가 %로 반영되는 데 시간이 오래 걸립니다. 이것은 예를 들어 Linux top 명령과는 다르며, % CPU의 마지막 화면 업데이트 이후의 사용률을 반영합니다.

일반적으로 오버 헤드는 여러 가지 요인에 따라 달라집니다. 즉, 작업자 수, 제출 된 작업의 속도 및 데이터 크기 (작업자 프로세스를 유지 관리 할 때 입력 및 출력을 마샬링하는 데 약간의 오버 헤드가 있음) 이는 "유용한 계산"의 일부가 아닙니다.), Matlab 풀이 로컬인지 또는 작업 관리자에 연결되었는지 여부, Matlab 버전 및 O/S. 경험에서

, 현대 유닉스 계열의 서버에 거친 가이드로, 나는 유휴 노동자가에 (예를 들어 < ~ 1 % 총 CPU 사용률 단일 코어의 20 % 이상을 소모하지해야한다고 생각 것 16 코어 박스)를 초기화해야합니다. 나는 당신이 ("createJob"또는 "배치"또는 "parfor"를 사용하는 등) 어떤 종류의 작업을 제출 하느냐에 영향을받을 것이라고 기대해서는 안됩니다. 아래의 작업자와 의사 소통 메커니즘은 기본적으로 동일합니다.