Re: smrproxy v2

Liste des GroupesRevenir à cl c++ 
Sujet : Re: smrproxy v2
De : chris.m.thomasson.1 (at) *nospam* gmail.com (Chris M. Thomasson)
Groupes : comp.lang.c++
Date : 30. Oct 2024, 07:40:12
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vfskcc$207gj$2@dont-email.me>
References : 1 2
User-Agent : Mozilla Thunderbird
On 10/28/2024 10:02 PM, Chris M. Thomasson wrote:
On 10/17/2024 5:10 AM, jseigh wrote:
I replaced the hazard pointer logic in smrproxy.  It's now wait-free
instead of mostly wait-free.  The reader lock logic after loading
the address of the reader lock object into a register is now 2
instructions a load followed by a store.  The unlock is same
as before, just a store.
>
It's way faster now.
>
It's on the feature/003 branch as a POC.   I'm working on porting
it to c++ and don't want to waste any more time on c version.
>
No idea of it's a new algorithm.  I suspect that since I use
the term epoch that it will be claimed that it's ebr, epoch
based reclamation, and that all ebr algorithms are equivalent.
Though I suppose you could argue it's qsbr if I point out what
the quiescent states are.
 For some reason you made me think of another very simple proxy technique using per thread mutexes. It was an experiment a while back:
___________________
per_thread
{
     std::mutex m_locks[2];
      lock()
     {
         word ver = g_version;
         m_locks[ver % 2].lock();
     }
      unlock(word ver)
     {
         m_locks[ver % 2].unlock();
     }
}
___________________
 The polling thread would increase the g_version counter then lock and unlock all of the threads previous locks. Iirc, it worked way better than a read write lock for sure. Basically:
___________________
word ver = g_version.inc(); // ver is the previous version
 for all threads as t
{
    t.m_locks[ver % 2].lock();
    t.m_locks[ver % 2].unlock();
}
___________________
 After that, it knew the previous generation was completed.
 It was just a way for using a mutex to get distributed proxy like behavior.
There are fun things to do here. A thread can do an unlock lock cycle ever often, say 1000 iterations. The fun part is that this can beat a read write lock.

Date Sujet#  Auteur
17 Oct 24 * smrproxy v266jseigh
17 Oct 24 +* Re: smrproxy v241Chris M. Thomasson
17 Oct 24 i`* Re: smrproxy v240jseigh
18 Oct 24 i `* Re: smrproxy v239Chris M. Thomasson
18 Oct 24 i  +* Re: smrproxy v22Chris M. Thomasson
18 Oct 24 i  i`- Re: smrproxy v21Chris M. Thomasson
18 Oct 24 i  `* Re: smrproxy v236jseigh
26 Oct 24 i   `* Re: smrproxy v235Chris M. Thomasson
26 Oct 24 i    `* Re: smrproxy v234jseigh
27 Oct 24 i     `* Re: smrproxy v233Chris M. Thomasson
28 Oct 24 i      `* Re: smrproxy v232jseigh
28 Oct 24 i       +* Re: smrproxy v228Chris M. Thomasson
28 Oct 24 i       i`* Re: smrproxy v227jseigh
28 Oct 24 i       i `* Re: smrproxy v226Chris M. Thomasson
28 Oct 24 i       i  `* Re: smrproxy v225jseigh
28 Oct 24 i       i   `* Re: smrproxy v224Chris M. Thomasson
29 Oct 24 i       i    +- Re: smrproxy v21Chris M. Thomasson
29 Oct 24 i       i    `* Re: smrproxy v222jseigh
29 Oct 24 i       i     +* Re: smrproxy v23Chris M. Thomasson
29 Oct 24 i       i     i`* Re: smrproxy v22jseigh
29 Oct 24 i       i     i `- Re: smrproxy v21Chris M. Thomasson
29 Oct 24 i       i     +* Re: smrproxy v25Chris M. Thomasson
29 Oct 24 i       i     i`* Re: smrproxy v24jseigh
29 Oct 24 i       i     i `* Re: smrproxy v23Chris M. Thomasson
30 Oct 24 i       i     i  `* Re: smrproxy v22jseigh
1 Nov 24 i       i     i   `- Re: smrproxy v21Chris M. Thomasson
29 Oct 24 i       i     `* Re: smrproxy v213Chris M. Thomasson
30 Oct 24 i       i      `* Re: smrproxy v212Chris M. Thomasson
30 Oct 24 i       i       `* Re: smrproxy v211jseigh
4 Nov 24 i       i        `* Re: smrproxy v210Chris M. Thomasson
4 Nov 24 i       i         `* Re: smrproxy v29jseigh
4 Nov 24 i       i          +* Re: smrproxy v23Muttley
4 Nov 24 i       i          i`* Re: smrproxy v22Chris M. Thomasson
9 Nov 24 i       i          i `- Re: smrproxy v21Chris M. Thomasson
12 Dec 24 i       i          `* Re: smrproxy v25Chris M. Thomasson
12 Dec 24 i       i           `* Re: smrproxy v24jseigh
12 Dec 24 i       i            `* Re: smrproxy v23Chris M. Thomasson
13 Dec 24 i       i             `* Re: smrproxy v22jseigh
26 Dec 24 i       i              `- Re: smrproxy v21Chris M. Thomasson
28 Oct 24 i       `* Re: smrproxy v23Chris M. Thomasson
28 Oct 24 i        +- Re: smrproxy v21Chris M. Thomasson
28 Oct 24 i        `- Re: smrproxy v21Chris M. Thomasson
29 Oct 24 +* Re: smrproxy v24Chris M. Thomasson
30 Oct 24 i+- Re: smrproxy v21Chris M. Thomasson
30 Oct 24 i`* Re: smrproxy v22Chris M. Thomasson
30 Oct 24 i `- Re: smrproxy v21Chris M. Thomasson
30 Oct 24 +* Re: smrproxy v22Chris M. Thomasson
30 Oct 24 i`- Re: smrproxy v21jseigh
2 Nov 24 +- Re: smrproxy v21Chris M. Thomasson
21 Nov 24 `* Re: smrproxy v217jseigh
23 Nov 24  `* Re: smrproxy v216jseigh
23 Nov 24   +* Re: smrproxy v23Chris M. Thomasson
24 Nov 24   i`* Re: smrproxy v22jseigh
24 Nov 24   i `- Re: smrproxy v21Chris M. Thomasson
24 Nov 24   `* Re: smrproxy v212jseigh
25 Nov 24    +* Re: smrproxy v27Chris M. Thomasson
25 Nov 24    i`* Re: smrproxy v26jseigh
25 Nov 24    i +* Re: smrproxy v22Chris M. Thomasson
25 Nov 24    i i`- Re: smrproxy v21Chris M. Thomasson
25 Nov 24    i `* Re: smrproxy v23Chris M. Thomasson
25 Nov 24    i  `* Re: smrproxy v22jseigh
26 Nov 24    i   `- Re: smrproxy v21Chris M. Thomasson
27 Nov 24    `* Re: smrproxy v24jseigh
9 Dec 24     `* Re: smrproxy v23jseigh
11 Dec 24      `* Re: smrproxy v22jseigh
12 Dec 24       `- Re: smrproxy v21Chris M. Thomasson

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal