[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