t. napisał(a):
> Czyli jedym lekiem na przełączanie procesów między CPU pozostaje
> ustawienie affinity? (na logikę ustawienie większego priorytetu
Tak.
> powinno powodować, że proces będzie "trzymał" swoje miejsce. A tu
> sprost przeciwnie.)
Ba, procesy wykonujące operację I/O automatycznie dostają
"kopa" priorytetowego w pewnym zakresie, więc i tak mają
podwyższony priorytet i zwiększanie go jeszcze bardziej
nic nie da. Poza tym, jak zauważyłeś, kierowanie procesu
do wykonania jak najszybciej może się właśnie skończyć
przerzuceniem go na pierwszy wolny procesor, który może
być innym, niż ostatnio.
Generalnie każdy rozsądny system operacyjny SMP ma w struk-
turze opisującej proces (deskryptorze procesu) pole typu
"PreferredCPU" zawierające ID procesora, na którym proces
działał przed uśpieniem. Jeżeli przy wznawianiu dostępnych
jest kilka procesorów, wybierany jest ten preferowany (o
ile jest wolny). Nawet więcej, nowe systemy operacyjne
tworzą logiczny obraz struktury procesorów (które są
jednostkami logicznymi HT, które są w jednym rdzeniu ze
wspólnym cache) i gdu oryginalny "procesor" jest zajęty,
w pierwszej kolejności kierują proces do jednostki powiązanej,
np. tego samego procesora HT czy drugiego rdzenia układu
dwurdzeniowego. W przypadku HT preferowane też jest umiesz-
czanie w obu potokach HT procesora wątków tego samego procesu,
aby potoki nie konkurowały o cache. Stąd np. Windows 2000
ma mniejszą wydajność w HT niż XP (który posiada optymali-
zacje pod HT) mimo, iż oba obsługują SMP.
Nic to oczywiście nie pomaga, gdy procesów jest tak dużo,
że musi następować częste przełączanie między nimi,
choć i tak nie będzie to wolniejsze, niż w przypadku
jednego procesora, gdzie przeładowywanie cache następuje
praktycznie co przełączenie procesu (i dlatego procesory
z dużym cache mają większą wydajność wielozadaniową, bo
więcej mogą zachować do czasu ponownego wejścia tego
samego procesu).
-- |""""""""""""""""""""""""""""""""""""""""""""""""""""""""""| | Radosław Sokół | http://www.grush.one.pl/ | | | Administrator, Politechnika Śląska | \................... Microsoft MVP ......................../Received on Tue Apr 11 14:55:06 2006
To archiwum zostało wygenerowane przez hypermail 2.1.8 : Tue 11 Apr 2006 - 15:51:08 MET DST