Thursday, March 22, 2018

Digest for comp.lang.c++@googlegroups.com - 25 updates in 2 topics

"Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid>: Mar 22 03:40PM -0700

On 3/22/2018 3:33 PM, computer45 wrote:
 
> Yes, Mine is distributed under the hood", but its advantage
> also is that it is very easy to work with, no configuration
> as the distributed single producer single consumer queues.
 
Can it auto adapt to a particular problem? I have a generic setup, but
it can be "better" to see if we can "configure" the queues to best suit
the program logic at hand. In other words, the custom setup tends to
outperform the generic setup, in a sense. Sometimes the program logic is
not really "compatible" with distributed queue setup.
computer45 <computer45@cyber.com>: Mar 22 06:44PM -0400

On 3/22/2018 6:40 PM, Chris M. Thomasson wrote:
 
> Can it auto adapt to a particular problem?
 
 
You are not understand mine, it is not distributed as the
single consumer and single producer queue, mine can adapt to all
problems, it is like a regular FIFO queue, just plug it and it will work
like a charm and it will be scalable, and it can easily be configured to
be lockfree or waifree or blocking.
 
 
Thank you,
Amine Moulay Ramdane.
computer45 <computer45@cyber.com>: Mar 22 06:46PM -0400

On 3/22/2018 6:40 PM, Chris M. Thomasson wrote:
> the program logic at hand. In other words, the custom setup tends to
> outperform the generic setup, in a sense. Sometimes the program logic is
> not really "compatible" with  distributed queue setup.
 
 
Read again, i correct
 
You are not understanding mine, it is not distributed as the
single consumer and single producer queues, mine can adapt to all
problems, it is like a regular FIFO queue, just plug it and it will work
like a charm and it will be scalable, and it can easily be configured to
be lockfree or waifree or blocking.
 
 
Thank you,
Amine Moulay Ramdane.
"Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid>: Mar 22 03:49PM -0700

On 3/22/2018 3:40 PM, Chris M. Thomasson wrote:
> the program logic at hand. In other words, the custom setup tends to
> outperform the generic setup, in a sense. Sometimes the program logic is
> not really "compatible" with  distributed queue setup.
 
Also, keep in mind that my FIFO bakery queue can be distributed, as in
use more than one of itself at a time, and rather easily made to work
with any mode of operation therein wrt, say:
 
Single-Producer Single-Consumer (SPSC)
Single-Producer Multi-Consumer (SPMC)
Multi-Producer Single-Consumer (MPSC)
Multi-Producer Multi-Consumer (MPMC)
 
The SPSC mode is the best simply because it eliminates the need for any
expensive atomic RMW's.
 
Fwiw, for anybody else reading this, refer to the following link for the
MPMC mode of my bakery queue:
 
https://groups.google.com/d/topic/lock-free/acjQ3-89abE/discussion
(read all if interested...)
 
All of this can be implemented in pure C++11. Well, of course C++11 does
not have support for asymmetric sync... That is a limitation because it
means we have to use OS and/or CPU specific features. Think of:
 
https://msdn.microsoft.com/en-us/library/windows/desktop/ms683148(v=vs.85).aspx
 
Btw, this can be a very handy function... :^)
"Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid>: Mar 22 03:52PM -0700

On 3/22/2018 3:46 PM, computer45 wrote:
> problems, it is like a regular FIFO queue, just plug it and it will work
> like a charm and it will be scalable, and it can easily be configured to
> be lockfree or waifree or blocking.
 
First you said it is distributed under the hood. Now you say it is not
distributed as the single consumer and single producer queues. You are
losing me here. Please clarify. I have a generic setup that is
plug-and-play. However, it is not as good as a custom setup. How are you
getting around that?
 
 
 
 
 
computer45 <computer45@cyber.com>: Mar 22 06:55PM -0400

On 3/22/2018 6:52 PM, Chris M. Thomasson wrote:
> losing me here. Please clarify. I have a generic setup that is
> plug-and-play. However, it is not as good as a custom setup. How are you
> getting around that?
 
I want to say that mine is easy to work with, no configuration,
because it uses "scalable" counting networks and it is scalable.
 
 
Thank you,
Amine Moulay Ramdane.
 
 
"Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid>: Mar 22 04:00PM -0700

On 3/22/2018 3:55 PM, computer45 wrote:
>> you getting around that?
 
> I want to say that mine is easy to work with, no configuration,
> because it uses "scalable" counting networks and it is scalable.
 
No caveats?
computer45 <computer45@cyber.com>: Mar 22 07:04PM -0400

On 3/22/2018 7:00 PM, Chris M. Thomasson wrote:
> No caveats?
 
Right, no caveats as you are describing on the distributed single
consumer single producer queues. This is why i want to sell it.
 
 
Thank you,
Amine Moulay Razmdane.
"Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid>: Mar 22 04:19PM -0700

On 3/22/2018 4:04 PM, computer45 wrote:
>> No caveats?
 
> Right, no caveats as you are describing on the distributed single
> consumer single producer queues. This is why i want to sell it.
 
Interesting claim. I need to study your algorithm some more. Btw, why
not go ahead and try to implement it in C++11?
computer45 <computer45@cyber.com>: Mar 22 07:31PM -0400

On 3/22/2018 7:19 PM, Chris M. Thomasson wrote:
>> consumer single producer queues. This is why i want to sell it.
 
> Interesting claim. I need to study your algorithm some more. Btw, why
> not go ahead and try to implement it in C++11?
 
I have invented this scalable algorithm, and i have implement it ,
but i want to sell it to software companies like Microsoft or Google
etc.
 
Please tell me some more about the caveats of the distributed single
consumer and single producer queues, what are all the disadvantages of
the distributed single consumer and single producer queues ?
 
 
Thank you,
Amine Moulay Ramdane.
"Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid>: Mar 22 04:52PM -0700

On 3/22/2018 4:31 PM, computer45 wrote:
 
> Please tell me some more about the caveats of the distributed single
> consumer and single producer queues, what are all the disadvantages of
> the distributed single consumer and single producer queues ?
 
Strict FIFO order can be broken.
computer45 <computer45@cyber.com>: Mar 22 08:01PM -0400

On 3/22/2018 7:52 PM, Chris M. Thomasson wrote:
>> consumer and single producer queues, what are all the disadvantages of
>> the distributed single consumer and single producer queues ?
 
> Strict FIFO order can be broken.
 
 
I understand. But my scalable FIFO queue doesn't have this problem
because it is "FIFO" and it is "scalable" and it can be configured
easily to be lockfree or waitfree or blocking. So i think my scalable
FIFO queue is useful and i think i will try to sell it, because we have
to provide with mine, since it is not an "ideal" world.
 
 
 
Thank you,
Amine Moulay Ramdane.
computer45 <computer45@cyber.com>: Mar 22 08:14PM -0400

On 3/22/2018 7:52 PM, Chris M. Thomasson wrote:
>> consumer and single producer queues, what are all the disadvantages of
>> the distributed single consumer and single producer queues ?
 
> Strict FIFO order can be broken.
 
 
Look also at FastFlow, they say this:
 
---
FastFlow queues
 
Building a streaming network on top of SPSC queues means potentially
using many queues, even if they are automatically generated and
assembled in MPMC queues.
 
How are MPMC queues realized?
 
Multiple-Producer-Multiple-Consumer (MPMC) queues are realized using one
SPSC queue per producer and one SPSC queue per consumer. These queues
are put together using an arbiter thread in a fully lock-free and
fence-free fashion (no CAS at all). SPSC queues are enriched with
additional methods aimed at improving cache locality and throughput,
such as multi-push. In addition, FastFlow provides several variants of
classic lock-free queues (using CAS operations) such as the
Michael&Scott queue, which leverage on deferred reclamation and memory
alignment provided by FastFlow allocators.
---
 
 
 
 
So as you have noticed they are not saying that the MPMC queue of
FastFlow, from the distributed network of single producer and single
producer queues, is "FIFO".
 
 
Thank you,
Amine Moulay Ramdane.
computer45 <computer45@cyber.com>: Mar 22 08:15PM -0400

On 3/22/2018 7:52 PM, Chris M. Thomasson wrote:
>> consumer and single producer queues, what are all the disadvantages of
>> the distributed single consumer and single producer queues ?
 
> Strict FIFO order can be broken.
 
 
Read again, i correct:
 
Look also at FastFlow, they say this:
 
---
FastFlow queues
 
Building a streaming network on top of SPSC queues means potentially
using many queues, even if they are automatically generated and
assembled in MPMC queues.
 
How are MPMC queues realized?
 
Multiple-Producer-Multiple-Consumer (MPMC) queues are realized using one
SPSC queue per producer and one SPSC queue per consumer. These queues
are put together using an arbiter thread in a fully lock-free and
fence-free fashion (no CAS at all). SPSC queues are enriched with
additional methods aimed at improving cache locality and throughput,
such as multi-push. In addition, FastFlow provides several variants of
classic lock-free queues (using CAS operations) such as the
Michael&Scott queue, which leverage on deferred reclamation and memory
alignment provided by FastFlow allocators.
---
 
Read more here:
 
http://calvados.di.unipi.it/dokuwiki/doku.php/ffnamespace:faq
 
 
So as you have noticed they are not saying that the MPMC queue of
FastFlow, from the distributed network of single producer and single
producer queues, is "FIFO".
 
 
Thank you,
Amine Moulay Ramdane.
computer45 <computer45@cyber.com>: Mar 22 08:30PM -0400

On 3/22/2018 7:52 PM, Chris M. Thomasson wrote:
>> consumer and single producer queues, what are all the disadvantages of
>> the distributed single consumer and single producer queues ?
 
> Strict FIFO order can be broken.
 
 
Read again on FastFlow there is another disadvantage:
 
 
"Multiple-Producer-Multiple-Consumer (MPMC) queues are realized using
one SPSC queue per producer and one SPSC queue per consumer."
 
 
Read more here:
 
http://calvados.di.unipi.it/dokuwiki/doku.php/ffnamespace:faq
 
 
This is stupid, because how can you scale dynamically this MPMC queue ?
it can not do that, but mine can do that.
 
Other than that Strict FIFO order can be broken on the distributed
network of SPSC queues.
 
 
But my scalable FIFO queue doesn't have those problems,
So i think my scalable FIFO queue is useful and i think i will try to
sell it, because we have to provide with mine, since it is not an
"ideal" world.
 
 
 
 
Thank you,
Amine Moulay Ramdane.
computer45 <computer45@cyber.com>: Mar 22 08:31PM -0400

On 3/22/2018 7:52 PM, Chris M. Thomasson wrote:
>> consumer and single producer queues, what are all the disadvantages of
>> the distributed single consumer and single producer queues ?
 
> Strict FIFO order can be broken.
 
Read again on FastFlow there is another disadvantage:
 
 
"Multiple-Producer-Multiple-Consumer (MPMC) queues are realized using
one SPSC queue per producer and one SPSC queue per consumer."
 
 
Read more here:
 
http://calvados.di.unipi.it/dokuwiki/doku.php/ffnamespace:faq
 
 
This is stupid, because how can you scale dynamically this MPMC queue ?
it can not do that, but mine can do that.
 
Other than that Strict FIFO order can be broken on the distributed
network of SPSC queues.
 
 
But my scalable FIFO queue doesn't have those problems,
So i think my scalable FIFO queue is useful and i think i will try to
sell it, because we have to provide with mine, since it is not an
"ideal" world.
 
 
 
 
Thank you,
Amine Moulay Ramdane.
"Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid>: Mar 22 05:37PM -0700

On 3/22/2018 5:14 PM, computer45 wrote:
> classic lock-free queues (using CAS operations) such as the
> Michael&Scott queue, which leverage on deferred reclamation and memory
> alignment provided by FastFlow allocators.
 
That is a pretty bad design wrt using Michael&Scott like CAS-based
queues, or any queue that needs deferred reclamation. Not good.
 
 
> So as you have noticed they are not saying that the MPMC queue of
> FastFlow, from the distributed network of single producer and single
> producer queues, is "FIFO".
 
It really can't be.
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Mar 22 08:39PM -0500


> Mine "is" scalable , its throughput scales "linearly" with more cores
> and more threads. And it can be easily configured to be waitfree or
> lockfree or blocking.
 
Yes I do understand. Intel published a paper nearly ten years ago about
unbounded SPSC queue utilising cache line padding. You haven't invented
anything.
 
/Flibble
computer45 <computer45@cyber.com>: Mar 22 10:01PM -0400

On 3/22/2018 9:39 PM, Mr Flibble wrote:
> unbounded SPSC queue utilising cache line padding. You haven't invented
> anything.
 
> /Flibble
 
You are again talking like garbage, and you are like throwing garbage
here, because what have to do an SPSC with my scalable MPMC FIFO Queue ?
 
 
 
Thank you,
Amine Moulay Ramdane,.
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Mar 22 09:06PM -0500


>> /Flibble
 
> You are again talking like garbage, and you are like throwing garbage
> here, because what have to do an SPSC with my scalable MPMC FIFO Queue ?
 
You are the one talking garbage constantly repeating yourself claiming to
invent things that others have before you and duplicating posts to this NG
annoying everyone.
 
/Flibble
computer45 <computer45@cyber.com>: Mar 22 10:11PM -0400

On 3/22/2018 10:06 PM, Mr Flibble wrote:
> invent things that others have before you and duplicating posts to this NG
> annoying everyone.
 
> /Flibble
 
You are escaping the "subject", you have just come with an SPSC from
Intel in your post before, but we are not talking about SPSC queues, we
are talking about MPMC queues, my queue is a scalable MPMC FIFO queue,
this is why you are talking garbage.
 
 
 
Thank you,
Amine Moulay Ramdane.
computer45 <computer45@cyber.com>: Mar 22 11:02PM -0400

On 3/22/2018 10:06 PM, Mr Flibble wrote:
> invent things that others have before you and duplicating posts to this NG
> annoying everyone.
 
> /Flibble
 
I think you are not thinking correctly Mr Flibble, and this is also
garbage, because you have to compare apples with apples , not oranges
with apples, you are speaking about SPSC , but SPSC is not MPMC
and my scalable FIFO queue is MPMC, other than that if we organize
your SPSCs into a mesh or network of SPSCs queues to make a scalable
MPMC , here again we have to compare apples with apples and we have
to compare correctly, for example what are the advantages and
disadvantages of mesh or network of SPSCs queues to make a scalable
MPMC , and to compare it with my scalable FIFO queue, first you will
notice that it is more "lightweight", because it doesn't use any atomic
RMW's or heavy memory barriers , but the disadvantage is that the Strict
FIFO order can be broken, but my scalable FIFO queue is "FIFO" , but we
can also make mine without atomic RMW's or heavy memory barriers, so i
think my scalable FIFO queue is still useful and i think it is an invention.
 
 
 
Thank you,
Amine Moulay Ramdane.
computer45 <computer45@cyber.com>: Mar 23 12:15AM -0400

On 3/22/2018 10:06 PM, Mr Flibble wrote:
> invent things that others have before you and duplicating posts to this NG
> annoying everyone.
 
> /Flibble
 
We have to be smart, i think if we compare mesh or network of SPSCs
queues to make a scalable MPMC queue with my scalable MPMC FIFO queue,
it is as we compare oranges with apples, because strict FIFO order
can be broken in the mesh or network of SPSCs queues to make a scalable
MPMC queue. So we have to not make the comparison.
 
So we have to compare like apples with apples, so we have to compare
with other scalable FIFO queues, here they are:
 
Look at This PhD paper of a Scalable Concurrent Priority Queue
Algorithms:
 
http://people.csail.mit.edu/shanir/publications/SZ-priority.pdf
 
This queue is "not" bound, and i think it uses a mechanism such
as an elimination array..
 
And look at this one of a PhD paper called: Using Elimination to
Implement Scalable and Lock-Free FIFO Queues :
 
http://www.cs.tau.ac.il/~shanir/nir-pubs-web/Papers/SPAA2005.pdf
 
I think it is not good or perfect because it uses an elimination
array, so when there is no contention or no elimination it doesn't
scale.
 
But my fully scalable FIFO queue that i have invented has completely
"revolutionized" computer science, because it is the "perfect"
scalable FIFO queue that is fully scalable even if there is no
contention, I have implemented three versions of my scalable FIFO queue,
here they are:
 
1- A fully scalable FIFO queue that is bound and that is not blocking on
the producer side and that is blocking on the consumer side.
 
2- A fully scalable FIFO queue that is unbound and that is not blocking
on the producer side and that is blocking on the consumer side.
 
3- A fully scalable FIFO queue that is bound and that is blocking on the
producer side and that is blocking on the consumer side.
 
 
And i have also invented a fully scalable Threadpool.
 
 
I will sell them to Embarcadero and to other software companies such as
Microsoft and Google etc.
 
 
Also i will sell them to CAE here, because they need to scale more to
many many cores, read here to know about this company:
 
https://www.cray.com/blog/extreme-scaling-in-cae-applications/
 
Here is CAE company:
 
http://www.cae.com/
 
 
And i have also invented a fully scalable reference counting with
efficient support for weak references, here it is:
 
https://sites.google.com/site/aminer68/scalable-reference-counting-with-efficient-support-for-weak-references
 
 
Thank you,
Amine Moulay Ramdane.
scott@slp53.sl.home (Scott Lurndal): Mar 22 01:23PM


>It's not an appeal. It's a reference to the source of the terminology
>that was questioned. Should I now refrain from giving references out of
>fear that they will be described as argumentative appeals? Jeez.
 
Feel free to give references to standards. Anything else is appealing
to an authority.
"Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid>: Mar 22 01:02PM -0700

> Being able to fold space doesn't negate the fact that space would need to be folded in the first place
 
Agreed.
 
 
> i.e. distances to stellar objects greater than 6000 light years exist that we can observe thus falsifying the 6000 year old universe claim due to the speed of light.
 
Agreed. If A and B are 10000 light years from one another, well, going
the speed of light would take way to long: This is NOT ideal! The Bob
Lazar "factoid" is that the source, say A pulls the destination B to it;
A moves "into" B; A turns off the artificial field; everything snaps
back together. Now A is at B in, say a single tick of Plank time...
 
The total travel time from A to B would be virtually "instantaneous".
Afaict, this does not take away from the fact that the distance is 10000
light years away. Older than 6000 years of existence. ;^)
 
Rick actually seems to think that traveling 10000 light years in any
direction away from Earth as the origin, is impossible. He think the
explorers will physically hit a projected image on a physical screen
6000 light years away. Humm... Strange. Flat Earth Crap? Oh, we can't go
too far in one direction because we will fall off an infinite waterfall
or something...
 
Wow. Beam be up!
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: