다중 스레드를 사용하여 병렬로 프로그램 실행

다중 스레드를 사용하여 병렬로 프로그램 실행

여러 파일을 처리하기 위해 병렬 프로그램을 실행하려고 하는데 프로그램이 -t사용되는 스레드 수를 늘리는 옵션을 수락한다고 가정해 보겠습니다. 내가 사용하고 있는 컴퓨터의 출력 사양은 다음과 같습니다 lscpu.

CPU(s):                16
Thread(s) per core:    1
Core(s) per socket:    8
Socket(s):             2
...

여러 스레드가 지정된 프로그램을 실행하는 것이 입력 파일 목록을 parallel.

답변1

최선의 조언: 테스트하고 측정하세요.

프로그램이 여러 스레드에서 실행될 수 있더라도 때때로 일시 중지될 수 있습니다(디스크 읽기 또는 쓰기). 이 시간 동안 다른 스레드가 CPU를 사용할 수 있습니다.

그래서 실제로 테스트하고 측정하는 것 외에는 실제 답이 없습니다.

관련된:https://oletange.wordpress.com/2015/07/04/parallel-disk-io-is-it-faster/

관련 정보