Article View: pl.comp.lang.delphi
Article #345605Re: Wątki
From: Sebastian Biały
Date: Sat, 25 Feb 2017 11:26
Date: Sat, 25 Feb 2017 11:26
42 lines
3499 bytes
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-mailReferences:
<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