[OT] obsługa wielu rdzeni w 2.6.24.x

Łukasz Maśko masko w ipipan.waw.pl
Śro, 7 Maj 2008, 12:09:07 CEST


Właśnie zastanawiam się nad jednym zjawiskiem, które zaobserwowałem.

Mam stację roboczą DELL T5400 z procesorem Xeon E5410/2.33GHz (4 rdzenie). 
Zainstalowane Th/i686 z kernelem z włączonym PAE (własny build z 
kernel.spec -r LINUX_2_6) bo jest 4GB RAM. System wykrywa i obsługuje 
wszystko poprawnie. Stacja służy i do wykonywania symulacji w ramach prac 
badawczych. 

Zauważyłem takie zjawisko: jeśli uruchomiona jest jedna instancja 
jednowątkowego symulatora, to zajmuje ona praktycznie cały czas jeden 
rdzeń, pozostałe pozostaja wolne. Sporadycznie zdarza się, że proces 
zostaje zmigrowany. Jeśli uruchomię dwie instancje - sytuacja jest podobna, 
przy czym zajęte są dwa rdzenie. Natomiast w przypadku trzech procesów, dwa 
grzecznie siedzą na swoich rdzeniach, a trzeci jest praktycznie cały czas 
rozproszony między pozostałe dwa - zamiast grzecznie siedzieć na jednym z 
nich, jest stale wykonywany przez jeden i drugi (obydwa mają zajętości w 
sumie równe 100%). W przypadku 4 lub więcej instancji oczywiście wszystko 
jest równo obciążone i nie wiem, czy instancje są migrowane, czy też siedzą 
na osobnych rdzeniach.

Powtarzam - chodzi o aplikacje jednowątkowe.

Niby nie dzieje się nic złego, system jest stabilny i nadal dość szybki dla 
pozostałych aplikacji. Ale już nie wszystko działa tak sprawnie jak wtedy, 
gdy jest jeden wolny rdzeń - okienka odświeżają się wolniej, ogólnie czuje 
się jego przytykanie.

Czy jest jakaś możliwość takiego stuningowania za pomocą parametrów dla /sys 
lub /proc, żeby procesy raczej siedziały na jednych rdzeniach, a nie 
skakały tak między nimi? Teoretycznie powinno to poprawić również 
wydajność - kwestia wykorzystania pamięci podręcznej drugiego poziomu (w 
moim Xeonie jest podzielona na dwa bloki po 6MB).
-- 
Łukasz Maśko                                           GG:   2441498    _o)
Lukasz.Masko(at)ipipan.waw.pl                                           /\\
Registered Linux User #61028                                           _\_V
Ubuntu: staroafrykańskie słowo oznaczające "Nie umiem zainstalować Debiana"


Więcej informacji o liście dyskusyjnej pld-users-pl