🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #345603

Re: Wątki

#345603
From: Sebastian Biały
Date: Fri, 24 Feb 2017 19:29
35 lines
2898 bytes
On 2017-02-24 19:46, stchebel@gmail.com wrote:
> 1) Co nam dają na czasie te 2 maszyny działające podobno równolegle?
> Załóżmy, że cała tablica a[1..N] jest zapamiętana w obrębie jednej kostki
> (i faktycznie z reguły tak jest)

Niekoniecznie. Nie można, albo przynajmniej nie powinno się zakładać 
czegokolwiek o organizacji pamięci na tym poziomie.

>, więc nie ma fizycznej możliwości jednoczesnego odwołania się do adresu np. 1 i (N/2+1).

I zazwyczaj nie bedzie. Poza tym że CPU musi pobrać dane z pamięci to 
musi również je obrobić lokalnie (dodać). W tym momencie szyna jest 
wolna dla drugiego. Z grubsza jesli wiele rdzeni operuje na pamięci to 
są "magicznie" rozkładane pomiędzy nie cykle dostepu. Poza tym zakłada 
się że wiele danych leży w cache gdzie reguły dostepu mogą byc inne niż 
blokowanie się rdzeni. Inaczej będzie to w Core2Duo a inaczej w NUMA a 
inaczej we współczesnym i7. Trzeba też uwzględnić ze potokowość może 
miec pojęcie o innych potokach i np. przestawiać cykle dostepu do 
pamięci współpracując z innymi potokami.

> 2) Czy na maszynie 1-no rdzeniowej da się uruchomić więcej niż 1 wątek? Jeżeli tak, to o co tu chodzi?

Jest przerywany przez system. Wywłaszczanie. Ma to zalety, jesli wątek 
czeka na np. dane dysku to inny może coś liczyć w tym czasie. 
Implementacyjnie to przychodzi przerwanie z timera, system zamraża stan 
procesu wywalając dane ze stosu i rejestrów gdzieś do pamięci i odmraża 
inny wątek. Sprawa komplikuje się gdy mamy procesy a nie wątki, ale to 
raczej komplikacja związana z pamięcia wirtualną co sprawadza się do 
czasu przełączenia. Mała ilość rdzeni w CPU nie powoduje że wątki nie 
maja sensu - mają.

> 3) Co polecacie z literatury sieciodostępnej celem zapoznania się z tym tematem?
> Chodzi mi o jakieś praktyczne "etiudy" kilkuwątkowe.

Czytaj o wywłaszaczaniu, preemptive multitasking.
Technical Details
Message-ID: <o8q1j2$3jd$1@node2.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
References: <770fa4f8-96e5-4b5e-8772-e87517a0eaa6@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: Sebastian Biały <heby@poczta.onet.pl>
Newsgroups: pl.comp.lang.delphi
Subject: Re: Wątki
Date: Fri, 24 Feb 2017 20:29:25 +0100
Organization: ATMAN - ATM S.A.
Lines: 36
Message-ID: <o8q1j2$3jd$1@node2.news.atman.pl>
References: <770fa4f8-96e5-4b5e-8772-e87517a0eaa6@googlegroups.com>
NNTP-Posting-Host: 176.115.85.233
Mime-Version: 1.0
X-Trace: node2.news.atman.pl 1487964578 3693 176.115.85.233 (24 Feb 2017 19:29:38 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Fri, 24 Feb 2017 19:29:38 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1
In-Reply-To: <770fa4f8-96e5-4b5e-8772-e87517a0eaa6@googlegroups.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit