-
61. Data: 2013-06-28 15:36:11
Temat: Re: pytanie z mutexów
Od: Michoo <m...@v...pl>
On 27.06.2013 22:58, A.L. wrote:
> On Thu, 27 Jun 2013 22:33:02 +0200, Michoo<m...@v...pl> wrote:
>
>>
>> Dyskusja dotyczyła podstawowego elementu synchronizacji. Semafor Dijskry
>> nie jest prostszy niż semafor binarny o semantyce test-and-set (który ma
>> wsparcie sprzętowe na większości współczesnych maszyn) a ma pewne
>> istotne wady (jak brak gwarancji na zagłodzenie). W praktyce implantacja
>> semafora _wymaga_ więc listy procesów oczekujących.
>>
>
> Obawiam sie ze nie zrozumiemy sie.
Też mi się tak wydaje:
dyskusja zaczęła się od różnicy czy podstawowym obiektem
synchronizacyjnym jest semafor uogólniony czy binarny o semantyce
test&set. Semafor uogólniony jest imo równoważny TS + chroniony licznik
co więcej na większości sprzętu realizuje się go jako "uogólniony" TS
(np wspomniane cmpxchg).
>
> P.S. Zadam to samo zadanko co kiedys: procesy a, b, c, d, e, f
>
> Wzajemne wykluczanie: (a,c), (c,f), (a,b), (b,e), (b,d), (c,d), (e,f)
>
> Zaprojeltowac rozwiazanie bez deadlocku i starvation free
Ale już Ci na nie odpowiadałem:
- tworzysz 6 muteksów (A-F)
- sporządzasz dla każdego procesu listę z którymi się wyklucza
- sortujesz te listy w kolejności a-f
Każdy proces wchodząc do sekcji krytycznej pobiera potrzebne mu blokady
w kolejności A-F. Rozwiązuje to problem wzajemnego wykluczania([*]).
Problem zagłodzenia nie wystąpi na pewno gdy muteksy budzą w kolejności
FIFO, przy braku tej gwarancji do zagłodzenia może dojść[**] więc
najlepiej chyba ją zapewnić przez kombinację mutex+lista+condition
variable (dopóki !pierwszy na liście).
[*] Czyim imieniem nazywamy ten algorytm - nie pamiętam. Jest to daleka
wariacja Lamporta.
[**] Choćby a i b "wymieniające się" muteksem A mogą zagłodzić c.
--
Pozdrawiam
Michoo
-
62. Data: 2013-06-28 22:12:22
Temat: Re: pytanie z mutexów
Od: A.L. <a...@a...com>
On Fri, 28 Jun 2013 15:36:11 +0200, Michoo <m...@v...pl> wrote:
>
>Też mi się tak wydaje:
>dyskusja zaczęła się od różnicy czy podstawowym obiektem
>synchronizacyjnym jest semafor uogólniony czy binarny o semantyce
>test&set. Semafor uogólniony jest imo równoważny TS + chroniony licznik
>co więcej na większości sprzętu realizuje się go jako "uogólniony" TS
>(np wspomniane cmpxchg).
>
Ja sadze ze rzonimy sie pogladami na temat co to jest "podstawowy"
>
>>
>> P.S. Zadam to samo zadanko co kiedys: procesy a, b, c, d, e, f
>>
>> Wzajemne wykluczanie: (a,c), (c,f), (a,b), (b,e), (b,d), (c,d), (e,f)
>>
>> Zaprojeltowac rozwiazanie bez deadlocku i starvation free
>
>Ale już Ci na nie odpowiadałem:
>- tworzysz 6 muteksów (A-F)
>- sporządzasz dla każdego procesu listę z którymi się wyklucza
>- sortujesz te listy w kolejności a-f
>
>Każdy proces wchodząc do sekcji krytycznej pobiera potrzebne mu blokady
>w kolejności A-F. Rozwiązuje to problem wzajemnego wykluczania([*]).
>Problem zagłodzenia nie wystąpi na pewno gdy muteksy budzą w kolejności
>FIFO, przy braku tej gwarancji do zagłodzenia może dojść[**] więc
>najlepiej chyba ją zapewnić przez kombinację mutex+lista+condition
>variable (dopóki !pierwszy na liście).
>
>
>[*] Czyim imieniem nazywamy ten algorytm - nie pamiętam. Jest to daleka
>wariacja Lamporta.
>[**] Choćby a i b "wymieniające się" muteksem A mogą zagłodzić c.
Niezupelnie o to chodzi, bo wejscie w proces a powinno blokowac
procesy b i c ale nie powinno blokowac procesow d, e, f
A.L.
-
63. Data: 2013-06-28 22:30:48
Temat: Re: pytanie z mutexów
Od: Marek Borowski <m...@x...com>
On 6/28/2013 10:12 PM, A.L. wrote:
> On Fri, 28 Jun 2013 15:36:11 +0200, Michoo <m...@v...pl> wrote:
>
>>
>> Też mi się tak wydaje:
>> dyskusja zaczęła się od różnicy czy podstawowym obiektem
>> synchronizacyjnym jest semafor uogólniony czy binarny o semantyce
>> test&set. Semafor uogólniony jest imo równoważny TS + chroniony licznik
>> co więcej na większości sprzętu realizuje się go jako "uogólniony" TS
>> (np wspomniane cmpxchg).
>>
>
> Ja sadze ze rzonimy sie pogladami na temat co to jest "podstawowy"
>
No wreszcie. Jak sadze dla Michoo bardziej podstawowy jest ten mechanizm
ktory jest bardziej sprzetowy z czym zreszta sie zgadzam w 100%.
Niedlugo dojdzie do ze ktos bedzie pisal iz obiekt jest podstawowa
jednostka przechowywania informacji ;-).
Pozdrawiam
Marek
-
64. Data: 2013-06-28 22:51:14
Temat: Re: pytanie z mutexów
Od: A.L. <a...@a...com>
On Fri, 28 Jun 2013 22:30:48 +0200, Marek Borowski
<m...@x...com> wrote:
>>
>No wreszcie. Jak sadze dla Michoo bardziej podstawowy jest ten mechanizm
>ktory jest bardziej sprzetowy z czym zreszta sie zgadzam w 100%.
>Niedlugo dojdzie do ze ktos bedzie pisal iz obiekt jest podstawowa
>jednostka przechowywania informacji ;-).
Dla tego kto ma mlotek, wszystko jest gwozdziem. I ow osobnik nawet
nie przypuszcza ze istnieje sruba i srubokret. A jak mu sie pokaze
srube i srubokret, to bedzie protestowal i wmawial ze gwozdz i mlotek
to "podstawowe jednostki"
Ale jak popatzrec na rozwoj inzynierii programowania, to od samego
poczatku glwnym trendem bylo odseparowanie programisty od szczegolow
spzretowych. Owszem, w pewnych zastosowaniach odseparowac sie nei da,
ale generalnie, gdy pisze na przyklad program symulacyjny, rozwiazuje
rownania rozniczkowe czy rozwiazuje problemy numeryczne, jest dla mnie
dokaldnie obojetne co sie dzieje na poziomie sprzetu
Software od dawna - co najmniej 50 lat - definiowano jako nalozone
jedna na drugie warstwy abstrakcyjnych procesorow.
Niestety, to poszlo w zapomnienie, i dzisiejsza edukacja w tej
dziedzinie odbywa sie na poziomie "mlotek-gwozdz". Co wynika lacno z
dyskusji na tej grupie.
Podobnie w przypadku programowania wspolbieznego. Po to sie wymysla
nowe paradygmaty, aby nie zajmowac sie duperelami. Jak ktos chce, to
prosze bardzo. Ale daleko sie nei zajedzie programujac systemy
wspolbiezne metoda mlotka i gwozdzi.
A.L.
-
65. Data: 2013-06-29 00:13:06
Temat: Re: pytanie z mutexów
Od: Edek <e...@g...com>
Dnia pamiętnego Fri, 28 Jun 2013 15:51:14 -0500, A.L. wyjmując peta
oznajmił:
> On Fri, 28 Jun 2013 22:30:48 +0200, Marek Borowski <m...@x...com>
> wrote:
>>No wreszcie. Jak sadze dla Michoo bardziej podstawowy jest ten mechanizm
>>ktory jest bardziej sprzetowy z czym zreszta sie zgadzam w 100%.
>>Niedlugo dojdzie do ze ktos bedzie pisal iz obiekt jest podstawowa
>>jednostka przechowywania informacji ;-).
A nie para? Dla mnie bardziej para.
> Software od dawna - co najmniej 50 lat - definiowano jako nalozone jedna
> na drugie warstwy abstrakcyjnych procesorow.
>
> Niestety, to poszlo w zapomnienie, i dzisiejsza edukacja w tej
> dziedzinie odbywa sie na poziomie "mlotek-gwozdz". Co wynika lacno z
> dyskusji na tej grupie.
>
> Podobnie w przypadku programowania wspolbieznego. Po to sie wymysla nowe
> paradygmaty, aby nie zajmowac sie duperelami. Jak ktos chce, to prosze
> bardzo. Ale daleko sie nei zajedzie programujac systemy wspolbiezne
> metoda mlotka i gwozdzi.
Take it easy... każdy najpierw musi pokazać, że wie "jak to działa pod
spodem", więcej czasami przychodzi później a czasami nigdy. Skutki
edukacji, która ma na celu wyjaśnienie "jak to działa" za źródło mając
nienajlepiej zrozumianą instrukcję obsługi.
--
Edek
-
66. Data: 2013-06-29 00:39:07
Temat: Re: pytanie z mutexów
Od: A.L. <a...@a...com>
On Fri, 28 Jun 2013 22:13:06 +0000 (UTC), Edek
<e...@g...com> wrote:
>Dnia pamiętnego Fri, 28 Jun 2013 15:51:14 -0500, A.L. wyjmując peta
>oznajmił:
>
>> On Fri, 28 Jun 2013 22:30:48 +0200, Marek Borowski <m...@x...com>
>> wrote:
>
>>>No wreszcie. Jak sadze dla Michoo bardziej podstawowy jest ten mechanizm
>>>ktory jest bardziej sprzetowy z czym zreszta sie zgadzam w 100%.
>>>Niedlugo dojdzie do ze ktos bedzie pisal iz obiekt jest podstawowa
>>>jednostka przechowywania informacji ;-).
>
>A nie para? Dla mnie bardziej para.
>
"Para" co?...
>> Software od dawna - co najmniej 50 lat - definiowano jako nalozone jedna
>> na drugie warstwy abstrakcyjnych procesorow.
>>
>> Niestety, to poszlo w zapomnienie, i dzisiejsza edukacja w tej
>> dziedzinie odbywa sie na poziomie "mlotek-gwozdz". Co wynika lacno z
>> dyskusji na tej grupie.
>>
>> Podobnie w przypadku programowania wspolbieznego. Po to sie wymysla nowe
>> paradygmaty, aby nie zajmowac sie duperelami. Jak ktos chce, to prosze
>> bardzo. Ale daleko sie nei zajedzie programujac systemy wspolbiezne
>> metoda mlotka i gwozdzi.
>
>Take it easy... każdy najpierw musi pokazać, że wie "jak to działa pod
>spodem", więcej czasami przychodzi później a czasami nigdy. Skutki
>edukacji, która ma na celu wyjaśnienie "jak to działa" za źródło mając
>nienajlepiej zrozumianą instrukcję obsługi.
Jak mialem 16 lat i robilem amatorskie prawo jazdy, to pytania na
egzaminie ze "sprzetu" mialem: a. Co to jest wartosc cieplna swiecy,
b. Dlaczego potrzebne sa luzy zaworow, c. Objasnic roznice miedzy
silnikiem gornozaworowym i dolnozaworowym
Ju zdawno ludzie doszli do wniosku ze tego KIEOWCA tego nie musi
wiedziec. Ale MECHANIK musi.
Na tym polega problem naszej konwersacji. Ty o wartosci cieplnej
swiecy, ja - jak bezpiecznie dojechac z Warszawy do Szczecina
A.L.
-
67. Data: 2013-06-29 01:00:12
Temat: Re: pytanie z mutexów
Od: Edek <e...@g...com>
Dnia pamiętnego Fri, 28 Jun 2013 17:39:07 -0500, A.L. wyjmując peta
oznajmił:
> On Fri, 28 Jun 2013 22:13:06 +0000 (UTC), Edek
> <e...@g...com> wrote:
>
>>Dnia pamiętnego Fri, 28 Jun 2013 15:51:14 -0500, A.L. wyjmując peta
>>oznajmił:
>>
>>> On Fri, 28 Jun 2013 22:30:48 +0200, Marek Borowski
>>> <m...@x...com>
>>> wrote:
>>>>Niedlugo dojdzie do ze ktos bedzie pisal iz obiekt jest
>>>>podstawowa jednostka przechowywania informacji ;-).
>>
>>A nie para? Dla mnie bardziej para.
>>
> "Para" co?...
Para jest bardziej podstawowa niż obiekt, bo w ten sposób:
a1-a2 -> b1-b2 -> ...
| |
a21-a22 b21-b22
gdzie a21, b21, ... są nazwami pól, a a22, b22, ... wartościami pól,
w ten sposób można skonstruować obiekt. cbdu, para jest "bardziej
podstawowa" (analogie do podstawowości semafora zostawiam jako
ćwiczenie wyobraźni).
>>> Software od dawna - co najmniej 50 lat - definiowano jako nalozone
>>> jedna na drugie warstwy abstrakcyjnych procesorow.
>>>
>>> Niestety, to poszlo w zapomnienie, i dzisiejsza edukacja w tej
>>> dziedzinie odbywa sie na poziomie "mlotek-gwozdz". Co wynika lacno z
>>> dyskusji na tej grupie.
>>>
>>> Podobnie w przypadku programowania wspolbieznego. Po to sie wymysla
>>> nowe paradygmaty, aby nie zajmowac sie duperelami. Jak ktos chce, to
>>> prosze bardzo. Ale daleko sie nei zajedzie programujac systemy
>>> wspolbiezne metoda mlotka i gwozdzi.
>>
>>Take it easy... każdy najpierw musi pokazać, że wie "jak to działa pod
>>spodem", więcej czasami przychodzi później a czasami nigdy. Skutki
>>edukacji, która ma na celu wyjaśnienie "jak to działa" za źródło mając
>>nienajlepiej zrozumianą instrukcję obsługi.
>
> Jak mialem 16 lat i robilem amatorskie prawo jazdy, to pytania na
> egzaminie ze "sprzetu" mialem: a. Co to jest wartosc cieplna swiecy,
> b. Dlaczego potrzebne sa luzy zaworow, c. Objasnic roznice miedzy
> silnikiem gornozaworowym i dolnozaworowym
>
> Ju zdawno ludzie doszli do wniosku ze tego KIEOWCA tego nie musi
> wiedziec. Ale MECHANIK musi.
Wolałbym trzymać się analogii programistycznych.
> Na tym polega problem naszej konwersacji. Ty o wartosci cieplnej swiecy,
> ja - jak bezpiecznie dojechac z Warszawy do Szczecina
Ja o wartości cieplnej świecy - to znaczy? Nie rozumiem analogii,
bo ja też mówię o tym, że trzeba rozumieć algorytmy wątkowe żeby
się za nie zabierać, w przeciwieństwie do prostego zostosowania.
A żeby rozumieć, trzeba sotsować model odpowiedni do danej
abstrakcji, ergo pisząć w C++11, JAvie czy używając pthreads
trzeba zapomnieć o sprzęcie całkowicie żeby mieć poprawny
algorytm. Sprzęt się bierze pod uwagę tylko pod względem wydajności,
albo implementując elementy bilbioteki czy języka, a potem tylko
"jak dojechać z A do B". To samo z CSP czy dowolną inną abstrakcją.
--
Edek
-
68. Data: 2013-06-29 11:03:34
Temat: Re: pytanie z mutexów
Od: Marek Borowski <m...@x...com>
On 6/28/2013 10:51 PM, A.L. wrote:
> On Fri, 28 Jun 2013 22:30:48 +0200, Marek Borowski
> <m...@x...com> wrote:
>
> Software od dawna - co najmniej 50 lat - definiowano jako nalozone
> jedna na drugie warstwy abstrakcyjnych procesorow.
>
> Niestety, to poszlo w zapomnienie, i dzisiejsza edukacja w tej
> dziedzinie odbywa sie na poziomie "mlotek-gwozdz". Co wynika lacno z
> dyskusji na tej grupie.
>
> Podobnie w przypadku programowania wspolbieznego. Po to sie wymysla
> nowe paradygmaty, aby nie zajmowac sie duperelami. Jak ktos chce, to
Mam nadzieje "zajmowanie sie" nie jest tozsame z "posiadaniem wiedzy" o
"tych duperelach". Tak samo dobry kierowca musi miec pojecie o mechanice
i budowie samochodu.
> prosze bardzo. Ale daleko sie nei zajedzie programujac systemy
> wspolbiezne metoda mlotka i gwozdzi.
>
Owszem, ale to dziala w obie strony. Kopanie dolka pod kwiatek koparka
zaprojektowana do pracy w kopalni odkrywkowej tez na dobre nie wychodzi.
Pozdrawiam
Marek
-
69. Data: 2013-06-30 20:11:13
Temat: Re: pytanie z mutexów
Od: Edek <e...@g...com>
Dnia pamiętnego Fri, 21 Jun 2013 12:02:17 -0700, firr kenobi wyjmując peta
oznajmił:
>> Moze ksaizki sa nudne, ale twoje rewelacje rozrywkowe (w szczegolnosci
>> ze monitor to mutex). Podobnie ze "bariera to mutex"
>>
>> No i najbardziej rozrywkowe to stwierdzenei ze "tego sie uzywa od kilku
>> lat"
>>
>>
> nieststy obawiam sie ze uzytkownik edek przepisał to jak leci w
> wikipedii
Że nie zrozumiałeś posta to jeszcze nie powód, żeby się tym chwalić.
> Dla mnie najgorsza jest ta tzw edkowa psychologia wtłaczana w grupe w
> megailościach, wogole mnie to nie intersuje (nie na temat), wrecz
> przeciwnie
Dla ciebie wszystko co nie jest 'straighforward' i debilne jest straszne.
Dla mnie jest straszne wyobrażenie o twoim otoczeniu, gdzie głupota
jest na topie i im kto głupszy ten lepszy, nikt nie ma się wychylać
bo nie będzie pasował do debili naokoło (nie chcę pisać kretynów,
tego typu spoufalanie byłoby zbyt pozytywne).
--
Edek
-
70. Data: 2013-06-30 20:20:53
Temat: Re: pytanie z mutexów
Od: Edek <e...@g...com>
Dnia pamiętnego Fri, 21 Jun 2013 15:10:52 -0700, firr wyjmując peta
oznajmił:
> z głupotą jest ten problem ze nawet jak sie jej nie akceptuje to jesli
> sie z nią styka niestety absorbuje sie ją bo zaczyna stanowic ona stały
> punkt odniesienia i poniekad zatruwa nawet tych którzy kontaktuja sie z
> nią z drugiej ręki że tak powiem (dlatego najlepiej by bylo zrobic tak
> by nie stanowila ona nawet punktu odniesienia)
>
> Czuje niestaty jak bardzo olupiła mnie ta grupa w ciagu dłuższego
> pisania tutaj i szczerze boje sie bardzo by ni utonac w tej glupocie
> jeszcze bardziej
>
> (pytanie jak tu naprawić własną głowe po tych wszystkich traumatyznych
> przezyciach, dont know, nie mam koncepcji i wiem tylko ze nie jest
> dobrze i nalezaloby cos zrobic )
Polecam walnięcie z baranka w ścianę parę razy, może nie będziesz tak
przymulał na grupie i toczył rozmowę taką jak brnięcie po kolana
w mule - no chyba że z samym sobą sobie dyskutujesz i wydaje ci
się że wszystko jest ok.
--
Edek