경과 시간 (벽 시간)이 사용자 + 커널 시간보다 적은 상황에 대해 묻는 많은 스레드가 있는데이 상황에서 멀티 스레딩이 어떻게 발생하는지 이해합니다. 그러나 통해 일부 MPI 코드의 실행 타이밍 때경과 시간이 사용자 + 커널 시간을 크게 초과하는 이유는 무엇입니까?
$ 시간에 mpirun -n 4 ./a.out
나는 약 40의 경과 4~5분에 이르기까지 다양 시간, 사용자 시간을보고 있어요 초, 커널 시간은 약 40 초입니다. 나는 프로세스 간의 장벽 동기화가 원인의 일부일 수 있다고 생각합니다. 또는 단일 MPI 프로세스에 대한 정보를 얻는 데만 시간이 걸릴 수 있다고 생각합니다.하지만 여전히 판독 결과를 정확히 합리화 할 수는 없습니다. 아무도 그것을 설명 할 수 있습니까?
대단히 감사합니다.
수면 시간은 사용자 시간이나 커널 시간의 일부가 아닙니다. 쓰레드는 디스크에서 기다리고, 네트워크에서 대기하고, 파이프에서 기다리고, 뮤텍스에서 기다릴 수 있습니다. – Nemo