Article View: pl.comp.lang.asm
Article #2057Re: ‘lock–free’ aka odżywianie grupy asemblerowców :-)
From: minięty czas
Date: Thu, 18 Mar 2010 14:30
Date: Thu, 18 Mar 2010 14:30
29 lines
2713 bytes
2713 bytes
onegdaj ‟Andrzej Grażyński” rzecze:
>> czy instrukcja ‘compare and set’ (oraz wszystkie podobne),
>> to nie jest instrukcja blokująca? co z tego, że sama w sobie nie
>> blo- kuje, jeśli i tak oparte na niej algorytmy używają jej jako
>> blokera? algorytmy, które zwą siebie mianem ‘lock—free’… to chyba
>> tylko zwykła reklama.
> Proponuję autorowi pytania, by zapoznał się z pojęciem ALGORYTMU
> NIEBLOKUJĄCEGO (i zrozumiał, o jakie "blokowanie" tu chodzi) i
> paradygmatami CAS, DCAS, CAS2, MCAS, CASN. W Pentium CMPXCHG jest
> realizacja paradygmatu CAS, zaś CMPXCHG8B - paradygmatu DCAS. W
> szczególności żeby zrozumiał różnicę między BLOKADĄ SYSTEMOWĄ nakładaną
> na zasoby, długotrwała i bez gwarancji zwolnienia, a blokadą dostępu do
> słowa pamięci na czas wykonywania jednej instrukcji. I ogólnie strategią
> przetwarzania nieblokującego (vide nieblokująca lista wiązana,
> nieblokująca kolejka, nieblokujący stos itd.) i jej różnicą w stosunku
> do klasycznego schematu ZABLOKUJ - PRZETWÓRZ - ODBLOKUJ.
>
> Proponuję 1. rodział książki "Perełki programowania gier", tom 6. z
> HELIONa.
nie znam tych wszystkich skrócików ;-) , ale nie autor odpowiedzi się
trochę wgłębi w list autora pytania… :-) czy czasem te różne paradyg-
manty nie przenoszą po prostu tego samego blokowania na inne poziomy wi-
doczności i szerokości, bardziej ukryte dla programisty? a to ciągle
ta sama instrukcja logiczna.
--
qo |) CPL: cs[0..1] (ss[0..1]) p lvl of curr code!
_x/ , RPL: seg_sel[0..1] privilege lvl of seg_sel!
| ng __ -- __ -- __ -- __ -- __ -- __ -- __ -x86-,
,__ -- __ -- DPL: 2._word_of_seg_desc[13..14]:`f seg_desc ,
Technical Details
Message-ID:
<hntddv$kql$1@news.mixmin.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news-2.dfn.de!news.dfn.de!news.uni-stuttgart.de!news.belwue.de!newsfeed01.sul.t-online.de!t-online.de!news.mixmin.net!not-for-mailReferences:
<hi7d3a$u60$1@news.mixmin.net> <hnlvpl$tkc$1@news.onet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news-2.dfn.de!news.dfn.de!news.uni-stuttgart.de!news.belwue.de!newsfeed01.sul.t-online.de!t-online.de!news.mixmin.net!not-for-mail From: minięty czas <crav@inbox.lv> Newsgroups: pl.comp.lang.asm Subject: Re: ‘lock–free’ aka odżywianie grupy asemblerowców :-) Date: Thu, 18 Mar 2010 14:30:29 +0000 (UTC) Organization: opRWTng Message-ID: <hntddv$kql$1@news.mixmin.net> References: <hi7d3a$u60$1@news.mixmin.net> <hnlvpl$tkc$1@news.onet.pl> Mime-Version: 1.0 Injection-Date: Thu, 18 Mar 2010 14:30:29 +0000 (UTC) Injection-Info: news.mixmin.net; posting-host="05501a91d22e78a9dcee500917b28296"; logging-data="21333"; mail-complaints-to="abuse@mixmin.net" Lines: 29 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit