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. |
- I correct some typos... - 1 Update
- My new concept and algorithms - 1 Update
- Scalable locks... - 2 Updates
- My scalable MLock algorithm - 1 Update
- About my Parallel VarFiler - 1 Update
- My Parallel Sort algorithm - 1 Update
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:
Post a Comment