-
Data: 2013-07-01 22:01:19
Temat: Re: pytanie z mutexów
Od: Edek <e...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia pamiętnego Mon, 01 Jul 2013 18:24:17 +0200, Michoo wyjmując peta
oznajmił:
> On 01.07.2013 13:02, Edek wrote:
>> Dnia pamiętnego Mon, 01 Jul 2013 12:05:05 +0200, Michoo wyjmując peta
>> oznajmił:
>>> On 01.07.2013 01:47, Edek wrote:
>>
>>>> Do zagłodzenia może dojść.
>>>
>>> Jest jeszcze gorzej - nie ma warunku postępu.
>>
>> To nie jest gorzej. Możliwy deadlock/starvation zawsze kiedyś się zdarzą,
>> tego typu live-lock nawet jeżeli się zdarzy, to tymczasowo.
>
> live-lock to starvation na dostępie do sekcji krytycznej.
Mógłbyś nie używać określenia sekcja krytyczna mając na myśli mutual
exclusion w mojej obecności? Byłbym dozgonnie wdzięczny ;), bo
przy dwóch lockach ja nie bardzo wiem jak to podzielić:
lock(a) {
... sekcja krytyczna ...
lock (b) {
... sekcja nadkrytyczna?? ...
}
.... sekcja wciąż krytyczna ...
}
Live-lock to nic więcej jak wielokrotne próby wielu wątków,
z których żadnemu się nie udaje przez dłuższy czas. Ludzie sobie
z tym radzą nawet w transactional memory, gdzie tego typu
kolizje są znacznie częstsze bo struktury i transakcje dużo większe,
wymyślono odpowiednie "policies" pierwszeństwa.
> Spotykałem kilkakrotnie z softem który przestawał działać po
> przeniesieniu na dwa rdzenie i tak jak deadlock od razu widać bo "staje"
> tak live-lock ma w praktyce ciekawsze objawy - np strasznie powolna
> praca z obciążeniem dwóch rdzeniu (pozornie bez powodu, strace pokazuje
> ciągłe try_lock) albo występujące raz na jakiś czas zacięcie. Ciężko to
> nazwać "działaniem" gdy procesy 90% czasu walczą o dostęp do sekcji
> krytycznej.
Ja też różne rzeczy spotykałem i widziałem, ale ten konkretnie algorytm
jest jak najbardziej ok. To że widziałeś takie starvation to jeszcze nie
znaczy, że każdy algorytm który teoretycznie nie ma warunku postępu
probabilistycznie też nie ma. Zerknij do boosta - tam chwilowy livelock
jest obsługiwany podobnie jak wielokrotna kolizja w lock-free, mały
backoff a jak nie pomoże to yield.
--
Edek
Następne wpisy z tego wątku
- 02.07.13 18:16 Michoo
- 02.07.13 19:56 Edek
- 02.07.13 21:18 Michoo
- 02.07.13 23:06 Edek
- 03.07.13 02:29 Michoo
- 03.07.13 04:08 Edek
- 09.07.13 14:42 firr
- 10.07.13 15:41 firr
Najnowsze wątki z tej grupy
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- 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
Najnowsze wątki
- 2024-12-25 Wrocław => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2024-12-25 Warszawa => Sales Assistant <=
- 2024-12-25 Kraków => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-25 Lublin => System Architect (Java background) <=
- 2024-12-25 Szczecin => Specjalista ds. public relations <=
- 2024-12-25 Wrocław => Key Account Manager <=
- 2024-12-25 Kraków => Full Stack .Net Engineer <=
- 2024-12-25 Kraków => Programista Full Stack .Net <=
- 2024-12-25 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-25 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-25 Białystok => Delphi Programmer <=
- 2024-12-25 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-12-25 Kraków => Ekspert IT (obszar systemów sieciowych) <=
- 2024-12-25 Mińsk Mazowiecki => Spedytor Międzynarodowy <=
- 2024-12-24 Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie