Mam system Linux, w którym użyliśmy cgroups do stworzenia dwóch wyłącznych cpu_wyłączników cpu, A i B, i gdzie przeprowadziliśmy migrację wszystkich wątków użytkownika i wszystkich niezwiązanych wątków jądra do grupy cg dołączonej do cpusetu A. Rzeczy działające w cpusecie A mają różne zasady harmonogramu i różne priorytety, a w procesorze A działa o wiele więcej wątków niż w rdzeniach w zestawie A.
Istnieje również niewielka liczba bardzo aktywnych procesów dołączonych do procesora B, w których całkowita liczba wątków użytkownika w tych procesach nigdy nie jest większa niż liczba rdzeni dostępnych wyłącznie w procesorze B. Celem jest ochrona tych ważnych zadań działających w procesorze B z innej aktywności na komputerze i w celu zminimalizowania opóźnień przetwarzania.
Czy w takim ustawieniu polityka / priorytet wątków szeregowania użytkownika uruchomionego w procesorze B ma jakiś zauważalny wpływ? Inaczej mówiąc: czy zmiana polityki szeregowania wątków procesora B z domyślnej SCHED_OTHER na SCHED_FIFO lub SCHED_RR miałaby jakieś konsekwencje, dobre czy złe?
Wydaje się, że odpowiedź powinna brzmieć „nie”, ponieważ program planujący powinien mieć możliwość przypisania każdego wątku działającego w zestawie B własnego dedykowanego rdzenia, więc nie byłoby nic do nadania priorytetu ani harmonogramu, a zatem polityka i względny priorytet B wątki procesora nie miałyby znaczenia. Z drugiej strony są zmartwione wątki jądra i aspekty „domeny harmonogramu”, o które należy się martwić, i prawdopodobnie inne rzeczy, których nie wziąłem pod uwagę.
Czy zasady harmonogramowania i priorytety wątków działających w nadmiażonej, wyłącznej jednostce centralnej mają jakiekolwiek znaczenie praktyczne?