Re: Zestaw ~1500 zł

Autor: Radosław Sokół <Radoslaw.Sokol_at_polsl.pl>
Data: Wed 04 Aug 2010 - 11:06:21 MET DST
Message-ID: <i3baid$s3m$1@polsl.pl>
Content-Type: text/plain; charset=ISO-8859-2; format=flowed

W dniu 02.08.2010 21:57, Budzik pisze:
> Czy mam rozumiec, ze one nie sa wrzucane do poszczegolnych rdzeni tylko
> chodza na jedny a reszta czeka na programy, ktore same (pojedynczy program)
> beda w stanie korzystac z kilku rdzeni na raz?

Odpowiedź musi być dłuższa, bo temat jest poważniejszy.

Po pierwsze, poszczególne procesy (olewamy na razie wątki)
wcale nie działają non-stop. Każdy proces może być w stanie:
uśpionym, gotowym do wykonania i wykonywanym. Olbrzymia więk-
szość procesów jest uśpiona. Oczywiście, jeden procesor może
naraz wykonywać tylko jeden proces. Stąd oczywisty wniosek,
że drugi rdzeń jest potrzebny dopiero, gdy co najmniej dwa
procesy naraz są w stanie gotowym do wykonania.

W praktyce taka sytuacja nie jest zbyt częsta, a do tego
często proces potrzebuje wykonywać się tylko kilka milisekund
i znów wchodzi w stan uśpienia. W takiej sytuacji nawet bar-
dziej opłaca się wykonać sekwencyjnie dwa procesy na jednym
rdzeniu, niż specjalnie "budzić" drugi rdzeń.

Sytuacja zmienia się, gdy dwa procesy są w stanie gotowym
do wykonania lub wykonywanym *non-stop*. Wtedy drugi rdzeń
pozwala uniknąć zmian kontekstu i przełączania realizacji
procesów.

Zatem programy nie są "wrzucane do poszczególnych rdzeni".
Rdzenie są wykorzystywane w razie potrzeby. Taki na przykład
Firefox jest w stanie realizacji w zasadzie głównie w momen-
cie wchodzenia na stronę -- potem może być uśpiony (chyba,
że na stronie są elementy dynamiczne -- dlatego warto usuwać
reklamy niepotrzebnie zwiększające ilość pracy wykonywanej
przez proces). Rdzenie *zawsze* "czekają" na programy (pro-
cesy), które potrzebują być zrealizowane w danym momencie.

Dlatego procesory wielordzeniowe przydają się naprawdę dopie-
ro w momencie używania programów podzielonych na wątki, albo
jednoczesnego używania wielu jednowątkowych programów, które
faktycznie non-stop coś liczą i obciążają procesor na 100%.
Przy równoczesnym uruchomieniu Firefoksa, Worda, antywirusa
i odtwarzacza MP3 wiele rdzeni prawie nic nie da, grzejąc się
tylko niepotrzebne (zresztą system i tak będzie się starał w
tym momencie uruchamiać jak najwięcej procesów na jednym rdze-
niu, by oszczędzać prąd).

-- 
|""""""""""""""""""""""""""""""""""""""""""""""""""""""""""|
| Radosław Sokół  |  http://www.grush.one.pl/              |
|                 |  Politechnika Śląska                   |
\........................................................../
Received on Wed Aug 4 11:10:02 2010

To archiwum zostało wygenerowane przez hypermail 2.1.8 : Wed 04 Aug 2010 - 11:51:01 MET DST