서로 다른 프로세스 간에 CPU를 격리하는 방법

서로 다른 프로세스 간에 CPU를 격리하는 방법

동일한 애플리케이션의 서로 다른 버전 간에 속도 테스트를 실행하고 있습니다. 각 응용 프로그램에 고정된 CPU 세트를 할당할 수 있기를 원합니다. 예를 들어, 더 많은 CPU가 아닌 두 개의 CPU에서 애플리케이션을 실행하고 싶습니다. 또한 두 개의 CPU가 프로세스를 독점하여 다른 프로세스가 CPU 시간을 "훔쳐" 테스트 점수를 낮출 수 없도록 하고 싶습니다.

Linux에서 이 작업을 수행할 수 있는 방법이 있나요? 저는 cgroup, 컨테이너, docker에 대해 들어봤습니다. 이것이 도움이 될까요? 또한 가장 쉬운 방법(가장 사용자 친화적일 필요는 없음)과 가장 많은 제어력을 제공하는 방법은 무엇입니까?

하이퍼스레딩도 좀 걱정되네요. 이 테스트 프로세스에 논리적 CPU를 할당하고, 테스트 도중 다른 프로세스는 하이퍼스레딩을 하게 되면 테스트 결과가 더 나빠지지 않을까요? 그런 다음 CPU를 물리적 CPU로 분리해야 합니다.

관련 정보