uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eddie Epstein (JIRA)" <uima-...@incubator.apache.org>
Subject [jira] Reopened: (UIMA-1110) The default setting of prefetch=1 is causing problems
Date Mon, 14 Jul 2008 18:24:31 GMT

     [ https://issues.apache.org/jira/browse/UIMA-1110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Eddie Epstein reopened UIMA-1110:

After discussions with Jerry and Marshall, the situation with prefetch is more complicated
and needs more work.

In the current design, a single prefetch policy is used for all queues defined by a UIMA AS
service. For an AS primitive these would be the input queue and, if a CAS multiplier, the
free CAS queue. For an AS aggregate, these would be the top-level input queue, remote reply
queues, free CAS queues and all queues defined on the internal broker used for colocated components.

The intention of the prefetch option in the deployment descriptor was for users to be able
to customize only the top-level service input queue. However, it is used to set the global
prefetch policy described above.

I propose one of the the following alternatives:

Alternative 1: 
  - set prefetch=0 for all queues (minimum complexity)

Alternative 2: 
  - set prefetch=0 for all queues, except 
  - the free CAS queue for a CAS multiplier, prefetch = 10 (messages always small)

Alternative 3:  allow customization of the following:
  - top-level input queue, default = 0
  - reply queue for each remote delegate, default = 0
  - the free CAS queue for a CAS multiplier service, default = 10

> The default setting of prefetch=1 is causing problems
> -----------------------------------------------------
>                 Key: UIMA-1110
>                 URL: https://issues.apache.org/jira/browse/UIMA-1110
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Eddie Epstein
> The new JMX monitor occasionally shows idle times of many seconds for a scaled out remote
delegate that is getting many CASes per second. Assuming the monitor is correct, the problem
is that AMQ is not evenly distributing the work to all the service instances. Other recent
experiences have demonstrated that uneven distribution is solved with prefetch=0. 
> While there is some possibility that prefetch > 0 may be useful in some situations
for remote delegates, for colocated delegates there is little doubt that a prefetch greater
than 0 cannot help performance and can only screw up load balancing.
> prefetch=0 should be the default everywhere.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message