-
Data: 2015-03-30 12:24:23
Temat: Re: poprawność algorytmu
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Monday, March 30, 2015 at 10:18:41 AM UTC+2, Tomasz Kaczanowski wrote:
> W dniu 2015-03-28 10:54, M.M. pisze:
>
> >> Zresztą cechy użytkowe nie są czymś, co dowodzi się formalnie
> >> (bo są subiektywne). Formalnie chcemy dowodzić raczej pewnych
> >> inwariantów -- że na przykład w programie wielowątkowym nie dojdzie
> >> do sytuacji dead-locku (klasyczne zastosowane logik temporalnych),
> > Nie słyszałem o logice temporalnej. Może się mylę, ale to się
> > wydaje łatwe. Dla mnie taki dowód sprowadza się do tego, aby
> > wszystkie pary kodu, który może wykonać się równolegle, były
> > opatrzone semaforami w tej samej kolejności w sensie wykonania i
> > w odwrotnej kolejności (też w sensie wykonania).
>
> Samo opatrzenie semaforami to często za mało by uniknąć dead-locka,
> jeśli sekwencji chronionych jest więcej niż jedna.
No oczywiście. Samo opatrzenie to nawet może spowodować dead-locka.
Chodzi o kolejność. Mamy cokolwiek, semafory, sekcje chronione, itd
blokujące dostęp do zasobów, niech się one nazywają A,B,C.
Jeśli jeden fragment jest opatrzony kolejnością
A
B
kod
B
A
A drugi
B
A
kod
A
B
To może dojść do dead-locka. Gdy kolejność zawsze będzie od A do C, to
nigdy nie dojdzie do dead-locka. Ja wiem że czasami jest tak:
Pierwszy wątek
A
B
kod
B
A
Drugi wątek
B
kod 1
A
kod 2
A
B
Aż prosi się, żeby kod 1 był opatrzony tylko jednym semaforem, ponieważ
można lepiej wykorzystać zasoby systemu. Niestety to gorzi dead-lockiem.
Trzeba w jednym z przypadków zmienić kolejność.
Pozdrawiam
> Dodatkowo dochodzi
> jeszcze dbanie o integralność danych itp rzeczy.
Tutaj zasada też jest prosta. Jeśli na danych pracuję więcej niż jeden
wątek i jeśli przynajmniej jeden wątek może zmodyfikować dane, to
powinno być objęte sekcją krytyczną, semaforem, itd. Czasami stosuje
się rozwiązana lockless, pomimo że wiele wątków pisze pod te same
adresy pamięci - to już w ogóle masakra :)
Pozdrawiam
>
>
> --
> Kaczus
> http://kaczus.ppa.pl/art/liczbyzmiennoprzecinkowe,19
.html
Następne wpisy z tego wątku
- 30.03.15 20:08 Andrzej Jarzabek
- 31.03.15 02:07 Roman W
- 31.03.15 09:05 slawek
- 31.03.15 09:56 Maciej Sobczak
- 31.03.15 12:20 g...@g...com
- 31.03.15 14:48 M.M.
- 31.03.15 16:39 g...@g...com
- 31.03.15 19:08 slawek
- 31.03.15 19:29 M.M.
- 31.03.15 19:43 M.M.
- 31.03.15 19:49 g...@g...com
- 31.03.15 19:59 slawek
- 31.03.15 20:10 slawek
- 31.03.15 20:34 g...@g...com
- 31.03.15 21:01 M.M.
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Gdańsk => Software .Net Developer <=
- 2024-11-08 Akumulator Hyundai
- 2024-11-08 Warszawa => Manager/Specialist e-commerce (B2C) <=
- 2024-11-08 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-08 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-08 znaj podstawe
- 2024-11-08 Chrzanów => Specjalista ds. public relations <=
- 2024-11-08 Warszawa => Data Scientist / Data Engineer (predictive modelling) <=
- 2024-11-08 zbrojone wężyki hamulcowe