Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming > #3604 > unrolled thread
| Started by | aminer <aminer@toto.net> |
|---|---|
| First post | 2013-06-30 15:11 -0700 |
| Last post | 2013-06-30 16:00 -0700 |
| Articles | 2 — 1 participant |
Back to article view | Back to comp.programming
More information... aminer <aminer@toto.net> - 2013-06-30 15:11 -0700
Re: More information... aminer <aminer@toto.net> - 2013-06-30 16:00 -0700
| From | aminer <aminer@toto.net> |
|---|---|
| Date | 2013-06-30 15:11 -0700 |
| Subject | More information... |
| Message-ID | <kqpviu$k7c$1@dont-email.me> |
Hello, There is some scalable FIFO queues there that are patented , the like the one with elimination and another one with Speculative Pairing... Here is the one with elimination: http://www.cs.tau.ac.il/~shanir/nir-pubs-web/Papers/SPAA2005.pdf and here is the Speculative Pairing queue: https://repository.ist.ac.at/124/ But those scalable queues are patented , so i think you have to pay for them if you want to use them on your commercial project. But my scalable and relaxed MPMC priority Queue is a freeware and you can use it in your commercial project without paying anything. Where can my scalable and relaxed MPMC priority Queue be useful ? When for example you want to do something like a Threadpool that do parallel tasks without the need that the queue be strict FIFO, and you can find that in many applications that do parallel mathematical calculations or parallel mechanical or graphic calculations and many parallel tasks... so you will reduce on those applications the S part in the Amdahl equation using my scalable and relaxed MPMC priority Queue. The number of consumer threads must be equal or greater to the number of queues that you pass to the constructor and use many producer threads and you have to initialize first the Push() method with high(pqueue.long), look at how to do it inside the test1.pas example inside the zip file, so that it become scalable. The following have been added: - You can give the following priorities to jobs: LOW_PRIORITY NORMAL_PRIORITY HIGH_PRIORITY - A queue for each worker thread and it uses work-stealing - for more efficiency - - Enters in a wait state when there is no job in the queue - for more efficiency - - Uses O(1) complexity on enqueue and O(3) worst case complexity on dequeue. You can download scalable and relaxed MPMC priority Queue version 1.02 from: http://pages.videotron.com/aminer/ Thank you, Amine Moulay Ramdane.
[toc] | [next] | [standalone]
| From | aminer <aminer@toto.net> |
|---|---|
| Date | 2013-06-30 16:00 -0700 |
| Message-ID | <kqq2eh$747$1@dont-email.me> |
| In reply to | #3604 |
I wrote: "There is some scalable FIFO queues there that are patented , the like the one with elimination and another one with Speculative Pairing.." What kind of Protection does a Patent offer? Patent protection means that the invention cannot be commercially made, used, distributed or sold without the patent owner's consent. These patent rights are usually enforced in a court, which, in most systems, holds the authority to stop patent infringement. Conversely, a court can also declare a patent invalid upon a successful challenge by a third party. Read this: http://www.wipo.int/patentscope/en/patents_faq.html#protection Thank you, Amine Moulay Ramdane.
[toc] | [prev] | [standalone]
Back to top | Article view | comp.programming
csiph-web