🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Wątki

#345605
From: Sebastian Biały
Date: Sat, 25 Feb 2017 11:26
42 lines
3499 bytes
On 2017-02-24 22:46, stchebel@gmail.com wrote:
> Niestety koniecznie. HW, który projektuję będzie wyposażony w jedną kostkę RAM'u.

To jest kompletnie nieistotne bez znajomosci architektury CPU i 
zagadnienia do rozwiązania. Może sie okazać że koszt wywłaszczania jest 
za duży i nalezy zastanowić sie nad cooperative multitaskingiem. 
Cooperative stosuje się czasem w systemach czasu rzeczywistego. Więc nie 
wiadomo bez szczegółów nic, a już na pewno nie wiadomo czy szyna pamięci 
będzie miala mierzalny wpływ na algorytm.

Na marginesie: pamięci są bardzo szybkie. Wysycenie całego pasma szyny 
pamięci to wcale nie jest trywialne zagadnienie nawet jeśli chcemy.

>> 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ą.
> Hmmm.. Lepiej się czuję w VHDL'u. Proces jest przeze mnie intuicyjnie zrozumiały w HW, no i takoż mi się wydawał wątek w SW.

Są tak samo działające za wyjątkiem tego że ilość rdzeni jest mniejsza 
niż ilośc wątków i są co najmniej dwie popularne metody multiplesowania 
wątków na rdzenie. Z punktu widzenia programisty w zasadzie oznacza to 
że procesor ma tyle rdzeni ile wątkow pracuje a szczegóły są mało ważne.

>> Czytaj o wywłaszaczaniu, preemptive multitasking.
> To chyba załatwia OS(??).

Tak, ale niezrozumienie tematu wywłaszczania może się źle zakończyć dla 
wydajności. Wywłaszczanie wątku jest drogie i należy je ograniczać. 
Wbrew pozorom organizacja kodu watku może niejawnie wywłaszczyć ten 
watek przy choćby blokującym IO. Więc jakiś wpływ programisty na 
zachowanie wątków jest.

Obecnie pojawiło się bardzo dużo bardzo tanich komputerów w 
architekturze NUMA (głównie xeony wymieniane z serwerów). Sa bardzo 
wydajne obliczeniowo, ale mają pułapki dzięki którym od razu widać kto 
jest programistą a kto programatorem. Na nich martwiłbym się podziałem 
wątków. Na przecietnym pececie - nie ma się o co martwić.
Technical Details
Message-ID: <o8rpkn$pod$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> <o8q1j2$3jd$1@node2.news.atman.pl> <82f632d0-ef0c-442f-8af7-bc94c95f3d51@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: Sat, 25 Feb 2017 12:26:03 +0100
Organization: ATMAN - ATM S.A.
Lines: 43
Message-ID: <o8rpkn$pod$1@node2.news.atman.pl>
References: <770fa4f8-96e5-4b5e-8772-e87517a0eaa6@googlegroups.com> <o8q1j2$3jd$1@node2.news.atman.pl> <82f632d0-ef0c-442f-8af7-bc94c95f3d51@googlegroups.com>
NNTP-Posting-Host: 176.115.85.233
Mime-Version: 1.0
X-Trace: node2.news.atman.pl 1488021975 26381 176.115.85.233 (25 Feb 2017 11:26:15 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Sat, 25 Feb 2017 11:26:15 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1
In-Reply-To: <82f632d0-ef0c-442f-8af7-bc94c95f3d51@googlegroups.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit