Wednesday, October 22, 2014

Digest for comp.programming.threads@googlegroups.com - 7 updates in 6 topics

comp.programming.threads@googlegroups.com Google Groups
Unsure why you received this message? You previously subscribed to digests from this group, but we haven't been sending them for a while. We fixed that, but if you don't want to get these messages, send an email to comp.programming.threads+unsubscribe@googlegroups.com.
Ramine <ramine@1.1>: Oct 21 07:26PM -0700

Hello,
 
 
I want to talk to you about my new inventions that are my
SemaMonitor and my SemaCondvar algorithms...
 
 
I have invented those new concepts and algorithms and i want to
explain to you what are they and what are there strength..
 
 
My SemaMonitor object combines all charateristics of a Semaphore
and an eventcount, the EventCount look like the Windows Event Object,
But you will notice that my new concept and algorithm called
SemaMonitor is more powerfull than a Windows Event Object alone
and more powerfull than the Semaphore alone, cause when you are
sending the signals to threads waiting on my SemaMonitor ,
my SemaMonitor can be configured so that the signals will not
be lost when the threads are not waiting, or it can be configured
so that the signals will be lost if the threads are not waiting,
and my SemaMonitor can act also as a Semaphore, so it's more
p[owerfull than the combination of the Semaphore and the EventCount !
so all in all my new concept and algorithm is very powerful, more
powerful than the Windows Event object and more powerful than the
Semaphore and more powerful than the EventCount and more powerful that
the combination of the Semaphore and the EventCount.
 
That's the same for my SemaCondvar that combines all the charateristics
of a Semaphore and a condition variable, it's also very powerful.
 
 
I have provided you with two versions, the heavy weight objects
that you can download from here:
 
https://sites.google.com/site/aminer68/semacondvar-semamonitor
 
 
 
And the other objects that are more lightweight and faster that you
can download from my concurrent FIFO queue 1 zipfile here:
 
https://sites.google.com/site/aminer68/concurrent-fifo-queue-1
 
 
So hope you have found my new algorithms very interesting and powerful.
 
 
 
Thank you,
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Oct 21 07:14PM -0700

Hello,
 
 
I want to talk to you about my new inventions that are my
SemaMonitor and my SemaCondvar algorithms...
 
 
I have invented those new concepts and algorithms and i want to
explain to you what are they and what are there strength..
 
 
My SemaMonitor object combines all charateristics of a Semaphore
and an eventcount, the EventCount look like the Windows Event Object,
But you will notice that my new concept and algorithm called
SemaMonitor is more powerfull than a Windows Event Object alone
and more powerfull than the Semaphore alone, cause when you are
sending the signals to threads waiting on my SemaMonitor ,
my SemaMonitor can be configured so that the signals will not
be lost when the threads are not waiting, or it can be configured
so that the signals will be lost if the threads are not waiting,
and my SemaMonitor can act also as a Semaphore, so it's more
p[owerfull than the combination of the Semaphore and the EventCount !
so all in all my new concept and algorithm is very powerfull, more
powerfull than the Windows Event object an more powerfull than the
Semaphore and more powerfull than the EventCount and more powerfull
that the combination of the Semaphore and the EventCount.
 
That's the same for my SemaCondvar that combines all the charateristics
of a Semaphore and a condition variable, it's also very powerfull.
 
 
I have provided you with two versions, the heavy weight objectS
that you can download from here:
 
https://sites.google.com/site/aminer68/semacondvar-semamonitor
 
 
 
And the other objects that are more lightweight and faster that you
will can download from my concurrent FIFO queue 1 zipfile here:
 
https://sites.google.com/site/aminer68/concurrent-fifo-queue-1
 
 
So hope you have find my new algorithms very interesting and powerfull.
 
 
 
Thank you,
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Oct 21 06:10PM -0700

Hello,
 
 
Please read the following paper to know why i have invented my
scalable MLock:
 
 
http://pdos.csail.mit.edu/papers/linux:lock.pdf
 
 
But you have to be carefull, the Ticket spinlock with a proportional
backoff is not good, cause if there is more context switch the thread
that is scheduled has to use all its quantum time and this will slow
a lot the Ticket spinlock with a proportional backoff , so you have
to use a Sleep(0) just after the proportional backoff to solve this
problem, but i have benchmarked it by adding the sleep(0) and i have
noticed that my scalable MLock will give better performance than
the Ticket spinlock with a proportional backoff and with a sleep(0)
just after the proportional backoff, so i advice you to use my scalable
MLock instead cause it's faster and better.
 
 
You can download my scalable MLock from:
 
https://sites.google.com/site/aminer68/
 
 
Thank you,
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Oct 21 06:39PM -0700

The Sleep(0) is on Windows, to give up he time slice.
 
 
 
On 10/21/2014 6:10 PM, Ramine wrote:
Ramine <ramine@1.1>: Oct 21 04:28PM -0700

Hello,
 
 
I have invented my scalable MLock algorithm(a scalable lock)
and you have to know that it's "waitfree" on both the Enter()
and Leave() methods, so it can be used on realtime systems and
it is very efficient, and also you have to know that the Windows
critical section uses an exponential backoff, this is why it is fast,
but its exponential backoff is not good cause it does not load
balance efficiently the CPU ressource between the threads,
this is why i have invented my scalable MLock that is
more efficient than the Windows critical section and
that is FIFO fair.
 
 
 
scalable MLock is a node based Lock that is scalable, FIFO fair
and starvation-free.
 
- Discovered by Amine Moulay Ramdane
 
- This lock is scalable
 
- It has the same space requirement as the scalable MCS lock
 
- Doesn't require a local "queue node" to be passed in as a parameter
as is doing the MCS and CLH locks.
 
- Spins only on local locations on a cache-coherent machine
 
- And it's fast.
 
Please read this:
 
A bigger problem with the MCS lock is its API.
It requires a second structure to be passed in
addition to the address of the lock. The algorithm
uses this second structure to store the information
which describes the queue of threads waiting for the
lock. Unfortunately, most code written using spinlocks
doesn't have this extra information, so the fact that
the MCS algorithm isn't a drop-in replacement to a
standard spin lock is a problem.
 
An IBM working group found a way to improve the MCS algorithm
to remove the need to pass the extra structure as a parameter.
Instead, on-stack information was used instead. The result is
the K42 lock algorithm:
 
Unfortunately, the K42 algorithm has another problem. It
appears that it may be patented by IBM. Thus it cannot be
used either. (Without perhaps paying royalties to IBM.)
 
So you have to know that my scalable MLock doesn't require a local
"queue node" to be passed in as a parameter as is doing the MCS and CLH
locks, my scalable MLock doesn't require any parameter to be passed,
just call the Enter() and Leave() method and that's all.
 
 
 
You can download my scalable MLock from:
 
 
https://sites.google.com/site/aminer68/scalable-mlock
 
 
 
 
Thank you,
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Oct 21 02:11PM -0700

Hello,
 
 
I have invented my Parallel VarFiler that is a Parallel HashTable that
uses lock striping (that is a fine grained locking), so it is more
scalable, and also that can be saved automatically or manually to a file
or to a stream or to a string and it can be restored from a file or
from a stream or from a string back to the Hashtable in memory, and it's
fault tolerant to power failures etc.
 
I have took a look to the C# language and to Java and i think that
the serial hashtable there can be saved to the hardisk but my Parallel
VarFiler is even more powerful cause it can automaticaly save to disk at
realtime the in-memory parallel hashtable and it uses O(1) complexity
for best case access and O(log(n)) complexity for worst case access that
make my Parallel VarFiler even better, please take a look at it and you
will love it.
 
You can download my Parallel VarFiler:
 
https://sites.google.com/site/aminer68/parallel-varfiler
 
 
 
 
 
Amine Moulay Ramdane.
Ramine <ramine@1.1>: Oct 21 01:58PM -0700

On 10/21/2014 1:52 PM, Ramine wrote:
> cause my parallel sort algorithm uses two steps: the sorting step
> and the merging step, and you have to know that i have completly
> parallized the sorting step and also i have completly parallelized
 
I mean: "Parallelized" not "Parallized".
 
 
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.programming.threads+unsubscribe@googlegroups.com.

No comments: