[jboss-jira] [JBoss JIRA] Updated: (JGRP-376) Concurrent stack: use priority based queue rather than BoundedLinkedQueue for default thread pool

Bela Ban (JIRA) jira-events at jboss.com
Wed Jan 10 12:12:37 EST 2007


     [ http://jira.jboss.com/jira/browse/JGRP-376?page=all ]

Bela Ban updated JGRP-376:
--------------------------

    Fix Version/s: 2.6
                       (was: 2.5)

> Concurrent stack: use priority based queue rather than BoundedLinkedQueue for default thread pool
> -------------------------------------------------------------------------------------------------
>
>                 Key: JGRP-376
>                 URL: http://jira.jboss.com/jira/browse/JGRP-376
>             Project: JGroups
>          Issue Type: Feature Request
>    Affects Versions: 2.4
>            Reporter: Bela Ban
>         Assigned To: Bela Ban
>             Fix For: 2.6
>
>
> This will allow us to dispatch incoming messages to threads from the pool based on criteria.
> - The impl implements interface BoundedChannel
> - It has N queues, 1 for each sender (possibly those are BoundedLinkedQueues)
> - There is a max size in bytes for the priority queue, each internal queue has max_size / N bytes where N = number of members. This is
>   dynamically adjusted
> ADDITION
> - An internal queue maintains the number of bytes (Message.length()), an offer() or put() increases that amount by the size of the message, a
>   take() or poll() decreases the amount. When a put() or offer() would exceed the max amount, it will block until a take() or poll() decreases   
>   it such that the new message can be added to the queue. We might also discard messages to full queues, or implement somthing akin to
>   RED (random early detection), which starts discarding messages *before* the queue is full
> REMOVAL
> - Strategy pluggable, e.g.
>   - Take from the fullest queue
>   - Take from the least full queue
>   - Round robin
>   - Weighted round robin (weighted by capacity of each queue), e.g. take relative to capacity from each queue. Example:
>      Queues A (2MB), B (2MB), C (6MB): we take 2 from A, 2 from B and 6 from C
>   - Random robin
> etc

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list