저는 GNU Parallel을 사용하여 자동으로 많은 수의 작업을 시작하고 이를 시스템 코어에 배포하고 있습니다. 코어당 하나의 작업.
parallel python3 program.py ::: inputs1*
작업 세트가 거의 완료되면 나머지 작업은 사용 가능한 코어의 하위 세트만 사용합니다. parallel
사용되지 않은 코어만 사용하도록 다음 입력 세트를 시작하는 것이 좋습니다 . 그래서 처음에는 모든 코어의 하위 집합이지만 나중에 이전 작업이 모두 완료되면 모든 코어를 사용할 수 있습니다(그래서 사용할 수 없습니다 --jobs
).
두 번째 명령을 시작하면 parallel
다른 명령에서 이미 사용된 코어에 대한 작업도 시작됩니다. 이것을 피할 수 있는 쉽고 좋은 방법이 있나요?
답변1
노력하다:
parallel --load 100% ...
현재 실행 중인 프로세스 수를 확인하고 여유 코어가 있으면 작업을 시작합니다.