특정 코어에 프로세스를 할당하려면 어떻게합니까? 필자는 16 코어 머신을 가지고 있으며, 동일한 코어에서 실행되는 모든 코어/코어 코어 대신 여러 코어에 프로세스를 할당해야합니다.Perl을 사용하여 코어에 프로세스 할당
Parallel :: ForkManager로이 작업을 수행 할 수 있습니까? 또는 표준 Perl 배포판을 사용하여 어떻게합니까?
모든 포인터가 감사하겠습니다.
감사
특정 코어에 프로세스를 할당하려면 어떻게합니까? 필자는 16 코어 머신을 가지고 있으며, 동일한 코어에서 실행되는 모든 코어/코어 코어 대신 여러 코어에 프로세스를 할당해야합니다.Perl을 사용하여 코어에 프로세스 할당
Parallel :: ForkManager로이 작업을 수행 할 수 있습니까? 또는 표준 Perl 배포판을 사용하여 어떻게합니까?
모든 포인터가 감사하겠습니다.
감사
윈도우에서, 당신은 Win32::Process
을 사용할 수 있습니다, 그것은 당신이 원하는 일을해야 SetProcessAffinityMask
라는 서브 루틴을 가지고 있습니다.
는 리눅스에서, Sys::CpuAffinity
를보십시오.
'sys 인 :: CpuAffinity' Windows에서도 작동합니다. – mob
OS가 자동으로 코어간에 프로세스를 가장 효율적으로 배포하지 않습니까? 일반적으로이 문제는 낮은 수준의 문제를 다루지 않아야합니다. – Ether
프로그램을 실행할 때 가끔 임의적으로 2 코어가 언젠가 1/16의 모든 16 개 프로세스를 사용합니다. 이것은 시스템에 최소 백그라운드 프로세스 및 계산이있는 경우입니다. 핵심은 하나의 핵심 할당에 대해 하나의 프로세스를 명시 적으로 지정해야한다는 것입니다. –
당신은 포크 :: 슈퍼 [여기]를 언급 확인할 수 있습니다 (http://stackoverflow.com/questions/21051479/perl-fork-queue-for-n-core-processor?lq=1) –