cgroups를 사용하여 두 개의 cpu_exclusive cpusets A와 B를 생성하고 모든 사용자 스레드와 모든 언 바운드 커널 스레드를 cpuset A에 연결된 cgroup으로 마이그레이션 한 Linux 시스템이 있습니다. cpuset A에서 실행되는 작업에는 다양한 스케줄러 정책이 있습니다. 다양한 우선 순위가 있으며 cpuset A에 코어가있는 것보다 cpuset A에서 더 많은 스레드가 실행되고 있습니다.
cpuset B에 첨부 된 매우 활동적인 일부 프로세스도 있습니다.이 프로세스에서 총 사용자 스레드 수는 cpuset B에서 독점적으로 사용할 수있는 코어 수보다 크지 않습니다. 목표는 cpuset에서 실행되는 중요한 작업을 차단하는 것입니다. B는 기계의 다른 활동에서 발생하고 처리 대기 시간을 최소화합니다.
이러한 설정에서 cpuset B에서 실행중인 사용자 스레드의 스케줄링 정책 / 우선 순위가 관찰 가능한 효과가 있습니까? 달리 말하면 : B cpuset 스레드의 스케줄링 정책을 기본 SCHED_OTHER에서 SCHED_FIFO 또는 SCHED_RR로 변경하면 결과가 좋거나 나쁩니 까?
스케줄러가 cpuset B에서 실행중인 각 스레드에 전용 코어를 할당 할 수 있어야하므로 우선 순위를 정하거나 일정을 정할 필요가 없으므로 B의 정책 및 상대 우선 순위가 없으므로 응답이 '아니오'인 것처럼 보입니다. CPU 스레드는 중요하지 않습니다. 다른 한편으로, 바운드 커널 스레드와 '스케줄러 도메인'측면과 내가 고려하지 않은 다른 것들이 있습니다.
오버 프로비저닝 된 독점 cpuset에서 실행중인 스레드의 예약 정책 및 우선 순위가 실질적인 의미가 있습니까?