Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

My C++ synchronization objects library was updated..

26 views
Skip to first unread message

Ramine

unread,
May 8, 2016, 3:19:48 PM5/8/16
to
Hello.....


My C++ synchronization objects library was updated..

I have just corrected a minor bug in my scalable DRWLock and
scalable DRWLockX, i have updated them to version 1.48

And i have tested my library thoroughly, and now i think
that it is more stable and fast.

You can download C++ synchronization objects library from:

https://sites.google.com/site/aminer68/c-synchronization-objects-library


Thank you,
Amine Moulay Ramdane.

Ramine

unread,
May 10, 2016, 3:15:22 PM5/10/16
to
Hello.......


My C++ synchronization objects library was updated..

I have just updated my C++ synchronization objects library,
i have made some variables "volatile" in my scalable Asymmetric
Distributed Read-Writer Mutex algorithms, to be sure of visibility
accross cores, so now you can be more confident.

So you can download my new and extended C++ synchronization objects

Ramine

unread,
May 10, 2016, 3:36:50 PM5/10/16
to
Hello....

Please take a look at the source code of the Delphi XE
DRWLock here:

https://sites.google.com/site/aminer68/scalable-distributed-reader-writer-mutex

I have delclared the following variables in LW_RWLockx.pas
"volatile" like this:

[Volatile] FCount1: PMyRecord1;
[Volatile] FCount2: PMyRecord2;
[Volatile] FCount3: PMyRecord3;
[Volatile] nbr: PMyRecord4;

And i have delclared the following variable in RWLockx.pas
"volatile" like this:

[Volatile] FCount1: PMyRecord1;
[Volatile] FCount2: PMyRecord2;
[Volatile] FCount3: PMyRecord3;
[Volatile] nbr: PMyRecord4;
[Volatile] nbr1: PMyRecord5;


So now you can be more confident of visibility accross cores.

Chris Vine

unread,
May 10, 2016, 3:42:22 PM5/10/16
to
On Tue, 10 May 2016 15:18:04 -0700
Ramine <ramine@1.1> wrote:
> I have just updated my C++ synchronization objects library,
> i have made some variables "volatile" in my scalable Asymmetric
> Distributed Read-Writer Mutex algorithms, to be sure of visibility
> accross cores, so now you can be more confident.

What about "Other than that i will quit this group and let you now do
your job of discussing matters of C++."

That didn't last wrong.

Your basic problem is that you are clueless. Your posts are unmitigated
rubbish and I cannot imagine anyone wanting to use your code seriously
(even you know your code is rubbish because it seems that nearly every
day you post a succession of new message about how you have had to
change it again because of some new perceived issue).

You have completely misunderstood 'volatile' in C and C++, and the
meaning of the article to which you earlier referred about it. Clearly,
it is a minimum condition for a variable to be visible to all cores
that it should not be a register variable. From that, you assume that
avoiding registers (say, by using 'volatile' on Intel) will _make_ the
variable visible to all cores. _Making_ a variable visible to all cores
requires synchronisation, which 'volatile' doesn't do (the article to
which you referred does subsequently discuss Java 'volatile' for the
purpose, which is another kettle of fish and does synchronise).

In any event, you seem completely unaware of the C11 and C++11 memory
models. You are such a twit that you may also be confusing sequential
consistency with cache coherency (Intel is naturally cache coherent),
but it is difficult to tell.

Until you have actually acquired some relevant knowledge and can post
without showing you are an idiot, why not just shut up?

Ramine

unread,
May 10, 2016, 4:04:20 PM5/10/16
to
Hello,

I think that you are not precise Chris Vine.

I think a variable to be visible needs a full memory barrier,
this is why the windows function FlushProcessWriteBuffers() is needed
in the writer side of my scalable Asymmetric reader-writer mutex algorithms.

This bug doesn't show in my other algorithms, it just show in
scalable Asymmetric reader-writer mutex algorithms.

So don't panic i will try to correct this bug.


Thank you,
Amine Moulay Ramdane,

Chris Vine

unread,
May 10, 2016, 4:18:12 PM5/10/16
to
On Tue, 10 May 2016 16:06:34 -0700
Ramine <ramine@1.1> wrote:
> Hello,
>
> I think that you are not precise Chris Vine.
>
> I think a variable to be visible needs a full memory barrier,
> this is why the windows function FlushProcessWriteBuffers() is needed
> in the writer side of my scalable Asymmetric reader-writer mutex
> algorithms.
>
> This bug doesn't show in my other algorithms, it just show in
> scalable Asymmetric reader-writer mutex algorithms.
>
> So don't panic i will try to correct this bug.

You have got that wrong as well. I doubt a full memory barrier is
required. Acquire/release is almost certainly adequate (which also
makes volatile irrelevant).

I would be very surprised if this doesn't affect all your code in other
ways, because your posting shows that you don't understand the basics
and are therefore clueless.

The test of your code is whether you can go for a period, say 4 weeks,
without posting a series of nearly daily postings about the succession
of bugs in it. Can you do it?

I bet you that know your code is crap, so you can't. Want to take it
up?

Jerry Stuckle

unread,
May 10, 2016, 8:54:15 PM5/10/16
to
Chris, his code is unmitigated crap. Not worth downloading - much less
using.

--
==================
Remove the "x" from my email address
Jerry Stuckle
jstu...@attglobal.net
==================

Chris M. Thomasson

unread,
Jun 4, 2016, 2:14:02 AM6/4/16
to
> "Chris Vine" wrote in message
> news:20160510211...@bother.homenet...

> > Ramine: Asymmetric reader-writer mutex algorithms.

> You have got that wrong as well. I doubt a full memory barrier is
> required. Acquire/release is almost certainly adequate (which also
> makes volatile irrelevant).

Actually, wrt an Asymmetric reader-writer mutex, well, one does kind of
"need" something like:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms683148(v=vs.85).aspx

wrt:

https://groups.google.com/d/topic/comp.programming.threads/jGwZaYlk0fY/discussion



0 new messages