Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming > #3604 > unrolled thread

More information...

Started byaminer <aminer@toto.net>
First post2013-06-30 15:11 -0700
Last post2013-06-30 16:00 -0700
Articles 2 — 1 participant

Back to article view | Back to comp.programming


Contents

  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

#3604 — More information...

Fromaminer <aminer@toto.net>
Date2013-06-30 15:11 -0700
SubjectMore 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]


#3605

Fromaminer <aminer@toto.net>
Date2013-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