Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

You can observe a lot just by watching. -- Yogi Berra


devel / comp.lang.c++ / Re: Interesting proposal...

SubjectAuthor
* Interesting proposal...Chris M. Thomasson
+* Re: Interesting proposal...Lynn McGuire
|+* Re: Interesting proposal...Bonita Montero
||`* Re: Interesting proposal...Chris M. Thomasson
|| `* Re: Interesting proposal...Bonita Montero
||  `- Re: Interesting proposal...Chris M. Thomasson
|`- Re: Interesting proposal...Chris M. Thomasson
`* Re: Interesting proposal...jseigh
 +* Re: Interesting proposal...Chris M. Thomasson
 |`* Re: Interesting proposal...Chris M. Thomasson
 | `- Re: Interesting proposal...Chris M. Thomasson
 `- Re: Interesting proposal...Chris M. Thomasson

1
Interesting proposal...

<ukr5o0$vo3f$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2877&group=comp.lang.c%2B%2B#2877

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!news.furie.org.uk!usenet.goja.nl.eu.org!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: chris.m.thomasson.1@gmail.com (Chris M. Thomasson)
Newsgroups: comp.lang.c++
Subject: Interesting proposal...
Date: Wed, 6 Dec 2023 17:05:03 -0800
Organization: A noiseless patient Spider
Lines: 5
Message-ID: <ukr5o0$vo3f$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 7 Dec 2023 01:05:04 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="4095cb928f6ef1e4d195307583ad3c4f";
logging-data="1040495"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+RYi3pFpoAY7MI/NGEQ06PCd1q2sh7SKg="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:MOJwjrYzjFnyR5kgiBD5uFiUQkQ=
Content-Language: en-US
 by: Chris M. Thomasson - Thu, 7 Dec 2023 01:05 UTC

Context:

https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0233r5.pdf

SMR in std C++? Humm...

Re: Interesting proposal...

<ukrn9q$15keg$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2878&group=comp.lang.c%2B%2B#2878

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: lynnmcguire5@gmail.com (Lynn McGuire)
Newsgroups: comp.lang.c++
Subject: Re: Interesting proposal...
Date: Thu, 7 Dec 2023 00:04:39 -0600
Organization: A noiseless patient Spider
Lines: 22
Message-ID: <ukrn9q$15keg$1@dont-email.me>
References: <ukr5o0$vo3f$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 7 Dec 2023 06:04:42 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="d4b59c02dbc477f3be2eb590fafc7372";
logging-data="1233360"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19pMAvcirMRHIQ+JwL7Tk74rQqMnaFAM5s="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:MtUti8y674PBlsGF4kelnrHWVUI=
In-Reply-To: <ukr5o0$vo3f$1@dont-email.me>
Content-Language: en-US
 by: Lynn McGuire - Thu, 7 Dec 2023 06:04 UTC

On 12/6/2023 7:05 PM, Chris M. Thomasson wrote:
> Context:
>
> https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0233r5.pdf
>
> SMR in std C++? Humm...

"A hazard pointer is a single-writer multi-reader pointer that can be
owned by at most one thread at any time. Only the owner of the hazard
pointer can set its value, while any number of threads may read its
value. A thread that is about to access dynamic objects optimistically
acquires ownership of a set of hazard pointer (typically one or two for
linked data structures) to protect such objects from being reclaimed.
The owner thread sets the value of a hazard pointer to point to an
object in order to indicate to concurrent threads — that may remove such
object — that the object is not yet safe to reclaim."

Looks cool. Are these currently supported in cpu hardware or would cpus
have to be extended ?

Lynn

Re: Interesting proposal...

<ukrqbv$15uqs$1@raubtier-asyl.eternal-september.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2879&group=comp.lang.c%2B%2B#2879

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!news.samoylyk.net!news.gegeweb.eu!gegeweb.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!raubtier-asyl.eternal-september.org!.POSTED!not-for-mail
From: Bonita.Montero@gmail.com (Bonita Montero)
Newsgroups: comp.lang.c++
Subject: Re: Interesting proposal...
Date: Thu, 7 Dec 2023 07:57:10 +0100
Organization: A noiseless patient Spider
Lines: 26
Message-ID: <ukrqbv$15uqs$1@raubtier-asyl.eternal-september.org>
References: <ukr5o0$vo3f$1@dont-email.me> <ukrn9q$15keg$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 7 Dec 2023 06:57:03 -0000 (UTC)
Injection-Info: raubtier-asyl.eternal-september.org; posting-host="d1b65a2643a27223f9fcc820b3f384e1";
logging-data="1243996"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+/Dnf90foCcHtmjWSrC5urm3LMtEVKvZ4="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:gb05Pv9wOZW4iuTvCcgFGg62eMQ=
In-Reply-To: <ukrn9q$15keg$1@dont-email.me>
Content-Language: de-DE
 by: Bonita Montero - Thu, 7 Dec 2023 06:57 UTC

Am 07.12.2023 um 07:04 schrieb Lynn McGuire:
> On 12/6/2023 7:05 PM, Chris M. Thomasson wrote:
>> Context:
>>
>> https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0233r5.pdf
>>
>> SMR in std C++? Humm...
>
> "A hazard pointer is a single-writer multi-reader pointer that can be
> owned by at most one thread at any time. Only the owner of the hazard
> pointer can set its value, while any number of threads may read its
> value. A thread that is about to access dynamic objects optimistically
> acquires ownership of a set of hazard pointer (typically one or two for
> linked data structures) to protect such objects from being reclaimed.
> The owner thread sets the value of a hazard pointer to point to an
> object in order to indicate to concurrent threads — that may remove such
> object — that the object is not yet safe to reclaim."
>
> Looks cool. ...

The problem with that is: "The number of removed objects that are not
yet reclaimed is bounded"; userland RCU ain't that flexible like kernel
-RCU since you can't interact with the scheduler-code in userland so
that you have a fixed number of hazard pointers. And hazard pointers
how their superiority mostly in synthetic benchmarks; usually there's
almost no gain over an atomic<shared_ptr<X>.

Re: Interesting proposal...

<uktibc$1eci9$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2881&group=comp.lang.c%2B%2B#2881

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jseigh_es00@xemaps.com (jseigh)
Newsgroups: comp.lang.c++
Subject: Re: Interesting proposal...
Date: Thu, 7 Dec 2023 17:52:26 -0500
Organization: A noiseless patient Spider
Lines: 36
Message-ID: <uktibc$1eci9$1@dont-email.me>
References: <ukr5o0$vo3f$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 7 Dec 2023 22:52:28 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="ba133726f08ff58b81f77bc0df1923b5";
logging-data="1520201"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19rv6x80M6EYc+SpAL5NaQ1"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:x0A3Wz1SvWi4pxtSgCrB/LETffQ=
In-Reply-To: <ukr5o0$vo3f$1@dont-email.me>
Content-Language: en-US
 by: jseigh - Thu, 7 Dec 2023 22:52 UTC

On 12/6/23 20:05, Chris M. Thomasson wrote:
> Context:
>
> https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0233r5.pdf
>
> SMR in std C++? Humm...

It will be based on the one in Meta's folly library. Based on a quick
scan of the code I think it will use a global membar if that is
available. Looks like it will do some tracing collection for acyclic
data structures.

I (finally) got around to writing the proxy version of it here
https://github.com/jseigh

smrproxy - hazard pointer based proxy collector
arcproxy - atomic reference counted proxy collector
proxytest - timing tests
atomic-ptr-plus - obsolete, not updated and missing some files during
the sourceforge to google to github moves.

Some timing comparisons in my blog here
https://threadnought.wordpress.com/2023/06/09/smrproxy-timing-comparisons/

arcproxy looks good compared to rwlock but compared to smrproxy it looks
really bad. The rcu timings are simulated.

I've been considering creating an interface for all the different
schemes. Not sure if it would be a c++ abstact class or a rust trait,
neither are my main languages. But then I would need a shared data
structure that would utilize it. I did figure out how to do a lock-free
hashmap (w/ per bucket linked lists) that can do lock-free resizing but
I found Cliff Click has one that's probably faster (because no linked
lists). But all that's on back burner for now.

Joe Seigh

Re: Interesting proposal...

<uktrfh$1ffeg$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2882&group=comp.lang.c%2B%2B#2882

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: chris.m.thomasson.1@gmail.com (Chris M. Thomasson)
Newsgroups: comp.lang.c++
Subject: Re: Interesting proposal...
Date: Thu, 7 Dec 2023 17:28:14 -0800
Organization: A noiseless patient Spider
Lines: 94
Message-ID: <uktrfh$1ffeg$1@dont-email.me>
References: <ukr5o0$vo3f$1@dont-email.me> <uktibc$1eci9$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 8 Dec 2023 01:28:17 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="35f223877db27dfdf05c2e80f3c50ae9";
logging-data="1555920"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/M+8oPpk9wd47IIzlC7Hri2ZVR6mITCzQ="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:0enOy4FykUEDoPcAxczdN/eJoiQ=
Content-Language: en-US
In-Reply-To: <uktibc$1eci9$1@dont-email.me>
 by: Chris M. Thomasson - Fri, 8 Dec 2023 01:28 UTC

On 12/7/2023 2:52 PM, jseigh wrote:
> On 12/6/23 20:05, Chris M. Thomasson wrote:
>> Context:
>>
>> https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0233r5.pdf
>>
>> SMR in std C++? Humm...
>
> It will be based on the one in Meta's folly library.  Based on a quick
> scan of the code I think it will use a global membar if that is
> available.  Looks like it will do some tracing collection for acyclic
> data structures.

I think so, ala sys_membarrier()...? Afaict, perhaps akin to a call to
FlushProcessWriteBuffers:

https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-flushprocesswritebuffers

Active vs passive quiescent state detection schemes. Active being
"issuing" an explicit request for quiescence. Passive akin to detecting
quiescent states...

Also, btw, Joe, it has been a while since we have conversed on Usenet!
We have had some hyper interesting conversations in the past, indeed. :^)

So nice to hear from you. :^)

> I (finally) got around to writing the proxy version of it here
> https://github.com/jseigh

I need to check it out, big time! Unfortunately, I am a bit busy right
now. However, you just made me think of that most interesting SMR+RCU
hybrid of yours. :^)

I know I am going to have a good time when I read your code, Joe. :^)

> smrproxy - hazard pointer based proxy collector
> arcproxy - atomic reference counted proxy collector
> proxytest - timing tests
> atomic-ptr-plus - obsolete, not updated and missing some files during
> the sourceforge to google to github moves.
>
> Some timing comparisons in my blog here
> https://threadnought.wordpress.com/2023/06/09/smrproxy-timing-comparisons/

Excellent. Fwiw, remember my single word proxy collector over here?

https://groups.google.com/g/lock-free/c/X3fuuXknQF0

It looks like some of your comments got deleted from that post? Ahhh, it
was a while back. Here is a link to raw text:

pastebin.com/raw/f71480694
(fwiw, my proxy code using Relacy Race Detector)

> arcproxy looks good compared to rwlock but compared to smrproxy it looks
> really bad.  The rcu timings are simulated.

Yup! IIRC, it's damn hard to compete with your SMR-RCU hybrid, or RCU
for that matter... I remember first learning about your DWCAS based
atomic pointer way back on comp.programming.threads. It is nice to hear
from you again. :^)

Fwiw, check out this rwlock of mine:

https://vorbrodt.blog/2019/02/14/read-write-mutex

Also, I remember you did a really __neat__ rw-spinlock way back on
comp.programming.threads. IIRC, The algorithm was rather elegant,
indeed. Could handle overflow into fields...

> I've been considering creating an interface for all the different
> schemes.  Not sure if it would be a c++ abstact class or a rust trait,
> neither are my main languages. But then I would need a shared data
> structure that would utilize it.  I did figure out how to do a lock-free
> hashmap (w/ per bucket linked lists) that can do lock-free resizing but
> I found Cliff Click has one that's probably faster (because no linked
> lists).  But all that's on back burner for now.

Indeed. I will find some more time, maybe late tonight buddy. Fwiw, a
while back, I had an API that was fairly “generic” in a sense... I used
it for testing purposes so I could switch up implementations rather
easily. It was an attempt at a std proxy collector interface for my
testing purposes. Wow, how times flies! I will get back to you here.
Need to get some work done wrt plotting some of my fractals...

https://paulbourke.net/fractals/multijulia
(Paul was kind enough to write about some of my work.)

[...]

Re: Interesting proposal...

<ukvtlm$1s121$3@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2886&group=comp.lang.c%2B%2B#2886

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: chris.m.thomasson.1@gmail.com (Chris M. Thomasson)
Newsgroups: comp.lang.c++
Subject: Re: Interesting proposal...
Date: Fri, 8 Dec 2023 12:17:57 -0800
Organization: A noiseless patient Spider
Lines: 35
Message-ID: <ukvtlm$1s121$3@dont-email.me>
References: <ukr5o0$vo3f$1@dont-email.me> <ukrn9q$15keg$1@dont-email.me>
<ukrqbv$15uqs$1@raubtier-asyl.eternal-september.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 8 Dec 2023 20:17:58 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="35f223877db27dfdf05c2e80f3c50ae9";
logging-data="1967169"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19a7Bwqdgs6w9KtZDH2IUHLQ2FKENvaQ3M="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:bxE87KAJkc+TfbYvuJGwhy9QNME=
In-Reply-To: <ukrqbv$15uqs$1@raubtier-asyl.eternal-september.org>
Content-Language: en-US
 by: Chris M. Thomasson - Fri, 8 Dec 2023 20:17 UTC

On 12/6/2023 10:57 PM, Bonita Montero wrote:
> Am 07.12.2023 um 07:04 schrieb Lynn McGuire:
>> On 12/6/2023 7:05 PM, Chris M. Thomasson wrote:
>>> Context:
>>>
>>> https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0233r5.pdf
>>>
>>> SMR in std C++? Humm...
>>
>> "A hazard pointer is a single-writer multi-reader pointer that can be
>> owned by at most one thread at any time. Only the owner of the hazard
>> pointer can set its value, while any number of threads may read its
>> value. A thread that is about to access dynamic objects optimistically
>> acquires ownership of a set of hazard pointer (typically one or two
>> for linked data structures) to protect such objects from being
>> reclaimed. The owner thread sets the value of a hazard pointer to
>> point to an object in order to indicate to concurrent threads — that
>> may remove such object — that the object is not yet safe to reclaim."
>>
>> Looks cool. ...
>
> The problem with that is: "The number of removed objects that are not
> yet reclaimed is bounded"; userland RCU ain't that flexible like kernel
> -RCU since you can't interact with the scheduler-code in userland so
> that you have a fixed number of hazard pointers. And hazard pointers
> how their superiority mostly in synthetic benchmarks;

> usually there's
> almost no gain over an atomic<shared_ptr<X>.
^^^^^^^^^^^^^^^^^^

Humm.. Oh really? Fwiw, RCU and SMR (aka, Hazard pointers) are different
things. Userland RCU is not hazard pointers, and vise versa.

Re: Interesting proposal...

<ul0rj3$23m8p$2@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2889&group=comp.lang.c%2B%2B#2889

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: chris.m.thomasson.1@gmail.com (Chris M. Thomasson)
Newsgroups: comp.lang.c++
Subject: Re: Interesting proposal...
Date: Fri, 8 Dec 2023 20:48:34 -0800
Organization: A noiseless patient Spider
Lines: 50
Message-ID: <ul0rj3$23m8p$2@dont-email.me>
References: <ukr5o0$vo3f$1@dont-email.me> <uktibc$1eci9$1@dont-email.me>
<uktrfh$1ffeg$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 9 Dec 2023 04:48:36 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="6a7c294c6cac304dd766112d523acc79";
logging-data="2218265"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/MTfh2yuBgrbNlGYULC4Xf7voh4d17hds="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:zkrdZVUWtFub6oU3XM4r13gaZMA=
Content-Language: en-US
In-Reply-To: <uktrfh$1ffeg$1@dont-email.me>
 by: Chris M. Thomasson - Sat, 9 Dec 2023 04:48 UTC

On 12/7/2023 5:28 PM, Chris M. Thomasson wrote:
> On 12/7/2023 2:52 PM, jseigh wrote:
>> On 12/6/23 20:05, Chris M. Thomasson wrote:
>>> Context:
>>>
>>> https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0233r5.pdf
>>>
>>> SMR in std C++? Humm...
>>
>> It will be based on the one in Meta's folly library.  Based on a quick
>> scan of the code I think it will use a global membar if that is
>> available.  Looks like it will do some tracing collection for acyclic
>> data structures.
>
> I think so, ala sys_membarrier()...? Afaict, perhaps akin to a call to
> FlushProcessWriteBuffers:
>
> https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-flushprocesswritebuffers
>
> Active vs passive quiescent state detection schemes. Active being
> "issuing" an explicit request for quiescence. Passive akin to detecting
> quiescent states...
>
> Also, btw, Joe, it has been a while since we have conversed on Usenet!
> We have had some hyper interesting conversations in the past, indeed. :^)
>
> So nice to hear from you. :^)
>
>
>> I (finally) got around to writing the proxy version of it here
>> https://github.com/jseigh
>
> I need to check it out, big time! Unfortunately, I am a bit busy right
> now. However, you just made me think of that most interesting SMR+RCU
> hybrid of yours. :^)
>
> I know I am going to have a good time when I read your code, Joe. :^)
>
>
>> smrproxy - hazard pointer based proxy collector
>> arcproxy - atomic reference counted proxy collector
>> proxytest - timing tests
>> atomic-ptr-plus - obsolete, not updated and missing some files during
>> the sourceforge to google to github moves.
>>
>> Some timing comparisons in my blog here
>> https://threadnought.wordpress.com/2023/06/09/smrproxy-timing-comparisons/
> [...]

Ahhh, I just found some time to look at your work. Fun times ahead!

Re: Interesting proposal...

<ul0rol$23m8p$3@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2890&group=comp.lang.c%2B%2B#2890

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: chris.m.thomasson.1@gmail.com (Chris M. Thomasson)
Newsgroups: comp.lang.c++
Subject: Re: Interesting proposal...
Date: Fri, 8 Dec 2023 20:51:32 -0800
Organization: A noiseless patient Spider
Lines: 17
Message-ID: <ul0rol$23m8p$3@dont-email.me>
References: <ukr5o0$vo3f$1@dont-email.me> <uktibc$1eci9$1@dont-email.me>
<uktrfh$1ffeg$1@dont-email.me> <ul0rj3$23m8p$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 9 Dec 2023 04:51:33 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="6a7c294c6cac304dd766112d523acc79";
logging-data="2218265"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19esgLYNlsInS14FwJ3XkSZMdnPJgKA6RQ="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:0GfCyD8olg9Y1BiGP8jwb/ZNxmk=
Content-Language: en-US
In-Reply-To: <ul0rj3$23m8p$2@dont-email.me>
 by: Chris M. Thomasson - Sat, 9 Dec 2023 04:51 UTC

On 12/8/2023 8:48 PM, Chris M. Thomasson wrote:
> On 12/7/2023 5:28 PM, Chris M. Thomasson wrote:
>> On 12/7/2023 2:52 PM, jseigh wrote:
[...]
>>> smrproxy - hazard pointer based proxy collector
>>> arcproxy - atomic reference counted proxy collector
>>> proxytest - timing tests
>>> atomic-ptr-plus - obsolete, not updated and missing some files during
>>> the sourceforge to google to github moves.
>>>
>>> Some timing comparisons in my blog here
>>> https://threadnought.wordpress.com/2023/06/09/smrproxy-timing-comparisons/
>> [...]
>
> Ahhh, I just found some time to look at your work. Fun times ahead!

Ahhh, I am being reminded of differential reference counting. :^)

Re: Interesting proposal...

<ul2ajg$2a04e$1@raubtier-asyl.eternal-september.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2894&group=comp.lang.c%2B%2B#2894

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!newsfeed.endofthelinebbs.com!news.hispagatos.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!raubtier-asyl.eternal-september.org!.POSTED!not-for-mail
From: Bonita.Montero@gmail.com (Bonita Montero)
Newsgroups: comp.lang.c++
Subject: Re: Interesting proposal...
Date: Sat, 9 Dec 2023 19:11:04 +0100
Organization: A noiseless patient Spider
Lines: 8
Message-ID: <ul2ajg$2a04e$1@raubtier-asyl.eternal-september.org>
References: <ukr5o0$vo3f$1@dont-email.me> <ukrn9q$15keg$1@dont-email.me>
<ukrqbv$15uqs$1@raubtier-asyl.eternal-september.org>
<ukvtlm$1s121$3@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 9 Dec 2023 18:10:56 -0000 (UTC)
Injection-Info: raubtier-asyl.eternal-september.org; posting-host="845804ec781a534cf2e66619ddbcc784";
logging-data="2424974"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/OeT6LHmmk0w8XOBorcoQE6h5exMPtpGI="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:PSBntKZTCgtEIHr6kfYcVIxokdM=
In-Reply-To: <ukvtlm$1s121$3@dont-email.me>
Content-Language: de-DE
 by: Bonita Montero - Sat, 9 Dec 2023 18:11 UTC

Am 08.12.2023 um 21:17 schrieb Chris M. Thomasson:

> Humm.. Oh really? Fwiw, RCU and SMR (aka, Hazard pointers) are different
> things. Userland RCU is not hazard pointers, and vise versa.

Ok, but there's usually still no significant gain over
a atomic<<>shared_ptr>> outside synthetic benchmarks.

Re: Interesting proposal...

<ul2k6o$2bfae$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2895&group=comp.lang.c%2B%2B#2895

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: chris.m.thomasson.1@gmail.com (Chris M. Thomasson)
Newsgroups: comp.lang.c++
Subject: Re: Interesting proposal...
Date: Sat, 9 Dec 2023 12:54:47 -0800
Organization: A noiseless patient Spider
Lines: 11
Message-ID: <ul2k6o$2bfae$1@dont-email.me>
References: <ukr5o0$vo3f$1@dont-email.me> <ukrn9q$15keg$1@dont-email.me>
<ukrqbv$15uqs$1@raubtier-asyl.eternal-september.org>
<ukvtlm$1s121$3@dont-email.me>
<ul2ajg$2a04e$1@raubtier-asyl.eternal-september.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 9 Dec 2023 20:54:48 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="6a7c294c6cac304dd766112d523acc79";
logging-data="2473294"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18bh+/Fl2woE5A9AxgkZsqzH0o/xJ9w1BU="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:WryQGc0j3ScR5Vh2Qhvmfw5mieo=
In-Reply-To: <ul2ajg$2a04e$1@raubtier-asyl.eternal-september.org>
Content-Language: en-US
 by: Chris M. Thomasson - Sat, 9 Dec 2023 20:54 UTC

On 12/9/2023 10:11 AM, Bonita Montero wrote:
> Am 08.12.2023 um 21:17 schrieb Chris M. Thomasson:
>
>> Humm.. Oh really? Fwiw, RCU and SMR (aka, Hazard pointers) are
>> different things. Userland RCU is not hazard pointers, and vise versa.
>
> Ok, but there's usually still no significant gain over
> a atomic<<>shared_ptr>> outside synthetic benchmarks.
>

If you say so. :^)

Re: Interesting proposal...

<ul3nc1$2jhc0$2@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2896&group=comp.lang.c%2B%2B#2896

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: chris.m.thomasson.1@gmail.com (Chris M. Thomasson)
Newsgroups: comp.lang.c++
Subject: Re: Interesting proposal...
Date: Sat, 9 Dec 2023 22:54:55 -0800
Organization: A noiseless patient Spider
Lines: 10
Message-ID: <ul3nc1$2jhc0$2@dont-email.me>
References: <ukr5o0$vo3f$1@dont-email.me> <uktibc$1eci9$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 10 Dec 2023 06:54:57 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="2d564cfde4c048c08a9eefbedc65698b";
logging-data="2737536"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18fiAAeIHRnpiEOHt/OR9NUy6wEQ7PUoDE="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:hoH2B5ac3dz8eVwjn53UhmAGNqk=
Content-Language: en-US
In-Reply-To: <uktibc$1eci9$1@dont-email.me>
 by: Chris M. Thomasson - Sun, 10 Dec 2023 06:54 UTC

On 12/7/2023 2:52 PM, jseigh wrote:
> On 12/6/23 20:05, Chris M. Thomasson wrote:
>> Context:
[...]

Just a shot in the dark, do you happen to remember a locking scheme wrt
IBM called PLO? I cannot remember it exactly right now. It seems to deal
with locking issues... I think it was in the same appendix as the free
pool manipulation wrt IBM principles of operation?

Re: Interesting proposal...

<ulgpvm$1ptdc$3@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2906&group=comp.lang.c%2B%2B#2906

  copy link   Newsgroups: comp.lang.c++
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: chris.m.thomasson.1@gmail.com (Chris M. Thomasson)
Newsgroups: comp.lang.c++
Subject: Re: Interesting proposal...
Date: Thu, 14 Dec 2023 21:59:16 -0800
Organization: A noiseless patient Spider
Lines: 25
Message-ID: <ulgpvm$1ptdc$3@dont-email.me>
References: <ukr5o0$vo3f$1@dont-email.me> <ukrn9q$15keg$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 15 Dec 2023 05:59:18 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="513d149cab1ad625e0aa2a5d5251a9a6";
logging-data="1897900"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18hXYa/7Znwr3puG1tU4xO+3xA5RbmnNmg="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:nCudEO+9+5/aPN7mbXSeTakQsw8=
Content-Language: en-US
In-Reply-To: <ukrn9q$15keg$1@dont-email.me>
 by: Chris M. Thomasson - Fri, 15 Dec 2023 05:59 UTC

On 12/6/2023 10:04 PM, Lynn McGuire wrote:
> On 12/6/2023 7:05 PM, Chris M. Thomasson wrote:
>> Context:
>>
>> https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0233r5.pdf
>>
>> SMR in std C++? Humm...
>
> "A hazard pointer is a single-writer multi-reader pointer that can be
> owned by at most one thread at any time. Only the owner of the hazard
> pointer can set its value, while any number of threads may read its
> value. A thread that is about to access dynamic objects optimistically
> acquires ownership of a set of hazard pointer (typically one or two for
> linked data structures) to protect such objects from being reclaimed.
> The owner thread sets the value of a hazard pointer to point to an
> object in order to indicate to concurrent threads — that may remove such
> object — that the object is not yet safe to reclaim."
>
> Looks cool.  Are these currently supported in cpu hardware or would cpus
> have to be extended ?

No CPU extensions necessary. SMR is supported in current arch's.
However, it can be made much better, aka avoiding that damn #StoreLoad
style membar. One way is Joe's SMR+RCU hybrid proxy method...

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor