-
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
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 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)
Najnowsze wątki
- 2025-05-03 gazowe kuchnie są znacznie bardziej szkodliwe dla zdrowia, niż dotychczas sądzono
- 2025-05-03 Czyli jednak elektryki są TANIE i powszechnie dostępne dla obywateli
- 2025-05-03 Elektryki do Morskiego Oka do utylizacji
- 2025-05-03 Crash testy na publicznej drodze - 4 BMW zderzone
- 2025-05-03 pojebane Google
- 2025-05-03 Brednie w wiki - hasło Dehomag
- 2025-05-03 gazowe kuchnie są znacznie bardziej szkodliwe dla zdrowia, niż dotychczas sądzono
- 2025-05-03 Chiny => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu <
- 2025-05-03 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-05-03 Warszawa => Frontend Developer (Angular13+) <=
- 2025-05-02 Gliwice => Business Development Manager - Network and Network Security
- 2025-05-02 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-05-02 Polska => Senior Key Account Manager <=
- 2025-05-02 Warszawa => Senior Programmer C <=
- 2025-05-02 Gdańsk => Team Lead Data Engineer (Snowflake) <=