Tuesday, May 10, 2016

Digest for comp.lang.c++@googlegroups.com - 12 updates in 5 topics

Ramine <ramine@1.1>: May 10 04:08PM -0700

Hello.......
 
I think that we have to be more precise...
 
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. That's the same for the Asymmetric rw_mutex of Dmitry Vyukov.
 
This bug doesn't show in my other algorithms, it just show in
my scalable Asymmetric reader-writer mutex algorithms.
 
So don't panic, i will try to correct this bug.
 
 
Thank you,
Amine Moulay Ramdane,
Chris Vine <chris@cvine--nospam--.freeserve.co.uk>: May 10 09:19PM +0100

On Tue, 10 May 2016 16:08:51 -0700
> Vyukov.
 
> This bug doesn't show in my other algorithms, it just show in
> my scalable Asymmetric reader-writer mutex algorithms.
 
However it does demonstrate that you don't understand the basics and
are clueless, so none of your code can be trusted.
 
IOW it's another "Hello world I am an idiot" posting.
Ian Collins <ian-news@hotmail.com>: May 11 08:22AM +1200

On 05/11/16 08:19 AM, Chris Vine wrote:
> On Tue, 10 May 2016 16:08:51 -0700
> Ramine <ramine@1.1> wrote:
 
Please don't respond to Ramine spam decent news servers filter out. It
never engages in a discussion, so replying merely defeats the spam filters.
 
--
Ian Collins
Ramine <ramine@1.1>: May 10 04:48PM -0700

On 5/10/2016 1:19 PM, Chris Vine wrote:
 
> However it does demonstrate that you don't understand the basics and
> are clueless, so none of your code can be trusted.
 
> IOW it's another "Hello world I am an idiot" posting.
 
Hello,
 
I am not an idiot, parallel programming is not so difficult,
you have just to know some rules of parallel programming, i
have just verified my algorithm of my scalable Asymmetric Distributed
reader-writer mutex and the only thing that i need is the windows
FlushProcessWriteBuffers() on the writer side, i have just verified the
logic and FlushProcessWriteBuffers() will solve the problem, but in my
other algorithms i don't need FlushProcessWriteBuffers() because they
are using full memory barrier using atomics on x86, and since i am using
AllocMem() on the right places, this means that i am safe also because
heap memory allocated with AllocMem() is never stored in registers on
the Delphi and FreePascal compilers.
 
 
So don't worry, i am coming soon with an updated version
of my C++ synchronization objects library that will be
great.
 
 
Thank you,
Amine Moulay Ramdane.
bleachbot <bleachbot@httrack.com>: May 10 10:04PM +0200

bleachbot <bleachbot@httrack.com>: May 10 10:06PM +0200

bleachbot <bleachbot@httrack.com>: May 10 10:47PM +0200

Chris Vine <chris@cvine--nospam--.freeserve.co.uk>: May 10 08:42PM +0100

On Tue, 10 May 2016 15:18:04 -0700
> 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 <ramine@1.1>: May 10 04:06PM -0700

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,
 
 
On 5/10/2016 12:42 PM, Chris Vine wrote:
Chris Vine <chris@cvine--nospam--.freeserve.co.uk>: May 10 09:17PM +0100

On Tue, 10 May 2016 16:06:34 -0700
 
> 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?
Ian Collins <ian-news@hotmail.com>: May 11 08:12AM +1200

On 05/11/16 05:26 AM, Mr Flibble wrote:
> On 10/05/2016 03:45, Ramine wrote:
 
Please don't reply to Ramine spam!
 
--
Ian Collins
Ramine <ramine@1.1>: May 09 08:24PM -0700

Hello,
 
 
Now that you have understood me more, i have
just tried to explain to you that my C++ synchronization
objects library is a good library.
 
Other than that i will quit this group and let you now do your
job of discussing matters of C++.
 
Thank you for your time.
 
 
Amine Moulay Ramdane.
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com.

No comments: