lock-free

Multi-threading bez blokady jest dla prawdziwych ekspertów od gwintowania

Czytałem ODPOWIEDŹ , którąJon Skeet dał na pytanie i w nim wspomniał o tym: Jeśli chodzi o mnie, multi-threading bez bl ... o na temat wątków itp. gdzie zacząć próbować nauczyć się pisać kod wielowątkowy bez blokady i jakie są dobre zasoby. Cheers

koszt operacji atomowych

Jaki jest koszt operacji atomowej (dowolny z porównań i zamiany lub atomowych add/decrement)? Ile cykli zużywa? Wstrzyma inne ... kie będą efekty w pamięci podręcznej? Interesują mnie nowoczesne, popularne procesory: x86, x86_64, PowerPC, SPARC, Itanium.

Portable Compare And Swap (atomic operations) biblioteka C/C++?

Czy jest jakaś mała biblioteka, która zawija różne operacje procesorów typu CAS do makr lub funkcji, które są przenośne w wie ... r odmawia uczynienia z niej publicznej, zadbanej biblioteki. Pozwala ponownie pytanie, i zobaczyć, czy są jakieś inne opcje?

Kiedy struktury danych bez blokady są mniej wydajne niż mutexy?

Czytałem gdzieś (nie mogę już znaleźć strony), że zablokowane wolne struktury danych są bardziej wydajne "dla pewnych obciąże ... dobra zasada kciuka, aby wiedzieć, w którą stronę iść zakładając, że dostępna jest odpowiednia struktura danych bez blokady?

Jak zaimplementować listę pominięć bez blokady

Muszę zaimplementować listę pominięć bez blokady. Szukałem Papierów. Niestety wszystko, co znalazłem, to wolne od blokad pojedyncze listy połączone (w wielu smakach). Jak jednak zaimplementować listę pominięć bez blokady?

Jak mogę zweryfikować algorytmy bez blokady?

Teoretycznie powinno być możliwe co najmniej wymuszenie weryfikacji algorytmu bez blokady (jest tylko tyle kombinacji przecin ... nie opublikuj rozwiązanie i tak. W najgorszym przypadku każda metoda może być wykonana po kolei, aby w pełni ją zweryfikować.

Za Pomocą Boost.Kolejka Lockfree jest wolniejsza niż korzystanie z mutexów

Do tej pory używałem std::queue w swoim projekcie. Zmierzyłem średni czas, jakiego wymaga konkretna operacja w tej kolejce. ... 100)); } } consumer.get(); std::cout << "1234 was generated!" << std::endl; return 0; }

Czy dla c++istnieje Kolejka bez blokady wielu producentów? [zamknięte]

Im więcej czytam, tym bardziej jestem zdezorientowany... Wydaje mi się, że znalezienie formalnie poprawnej kolejki mpsc zaimp ... e. Wiele mówi o potrzebie zbierania śmieci. Tego chcę uniknąć. Czy istnieje akceptowana poprawna implementacja open source?

Synchronizacja IPC z pamięcią współdzieloną (bez blokady)

Rozważ następujący scenariusz: Wymagania: Intel x64 Server (multiple CPU-sockets => NUMA) Ubuntu 12, GCC 4.6 dwa p ... zie mile widziana... BTW: pod windows działa to dobrze, używając zmiennych lotnych (zachowanie specyficzne dla Microsoft)...

Jak osiągnąć zachowanie bez blokady, ale blokujące?

Implementuję bez blokady kolejkę pojedynczego producenta do intensywnej aplikacji sieciowej. Mam kilka wątków roboczych odbie ... zrasta. Jak skutecznie spowodować, że wątek do zablokować, dopóki nie może skutecznie dequeue coś lub jest zabity/przerwane?

Bez blokady wymiana dwóch unikalnych PST

Zamiana dwóch unique_ptrs nie jest gwarantowana jako threadsafe. std::unique_ptr<T> a, b; std::swap(a, b); // not thre ... T(...)); local.swap_content(global); // atomically for global } Jaki jest idiomatyczny sposób na zrobienie tego w C++11?

Jak mogę napisać konstrukcję bez blokady?

W mojej aplikacji wielowątkowej i widzę w niej duże spory blokujące, zapobiegające dobrej skalowalności wielu rdzeni. Zdecydowałem się użyć lock free programming, aby rozwiązać ten problem. Jak napisać strukturę bez blokady?

Jakaś implementacja kolejki bez blokady dla jednego konsumenta w C?

Piszę program z wątkiem konsumenckim i wątkiem producenckim, teraz wydaje się, że synchronizacja kolejki jest dużym obciążeni ... brzmi, Jak mogę zmierzyć dokładny napowietrzność w synchronizacji kolejek? Np. ile czasu zajmuje pthread_mutex_lock (), itd.

Biblioteka algorytmów bez blokady

Czy istnieje biblioteka, która implementuje algorytmy bez blokad (Kolejka, lista linkowana i inne) napisane w C (nie w C++)? ... którym bibliotekom, takim jak Intel, ale chciałbym użyć bibliotek generycznych, przynajmniej bardziej generycznych niż Intel.

Czy operacje atomowe stają się wolniejsze w miarę dodawania kolejnych procesorów?

X86 i inne architektury zapewniają specjalne instrukcje atomowe (lock, cmpxchg, itp.), które pozwalają na pisanie struktur da ... ch przyszłości? Jeśli piszesz kod do ostatniego, czy lepszym pomysłem może być użycie zamków, nawet jeśli są dziś wolniejsze?

Zrozumienie modelu pamięci CLR 2.0

Joe Duffy, podaje 6 zasad, które opisują model pamięci CLR 2.0 + (jest to faktyczna implementacja, a nie żaden standard ECM ... zumiem wszystko oprócz Zasady 5, tutaj. Ktoś chce mnie oświecić (albo poprawić lub dodać coś do któregokolwiek z powyższych?)

boost C++ lock-Kolejka wolna od blokady vs Kolejka współdzielona

Jestem całkiem nowy w programowaniu wielowątkowym, po prostu znam najczęstszą kolejkę Producent-konsument. Używam bibliotek b ... struktur danych typu lock free, a gdzie jest lepiej używać prostej implementacji opartej na 'mutex' i`condition_variables'?

C++ atomic operations for lock-free structures

Implementuję mechanizm bez blokady za pomocą instrukcji Atomic (double) compare and swap np. cmpxchg16b Obecnie piszę to w ... a jakieś wbudowane (przynajmniej dla CAS) Http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Atomic-Builtins.html#Atomic-Builtins

Czy istnieje możliwość współpracy z wieloma producentami i konsumentami w trybie lockfree?

Mam kilka wątków, które robią dużo komunikacji ze sobą. Wolałabym, żeby była wolna. Dla każdego wątku chcę mieć skrzynkę poc ... onsumenta. Czy Mogę to zrobić w kwestii lockfree / wysokiej wydajności? (Jest to w wewnętrznej pętli gigantycznej symulacji.)