I've reviewed Fig. 4 and Fig. 3. Our system seems closer to Fig. 3 (asingle Collection Reader (CR) with CasPool size X used to push documents to X services).Assuming the "Service Instance" is an aggregate (AG) with multiple AEsteps A..D, we are extending Fig. 3 with another level of remote AE forone of the steps: Machine0: Broker + RunRemoteAsyncAE + 2 AG Service InstancesMachine1: RemoteStepB_AE InstanceMachine2: RemoteStepB_AE Instance The AG descriptor is configured with A..D in-line, and the AG deploymentdescriptor has a remote 'B' override, possibly with error handlingcontrols, etc. CR --- || --2-- A B --- || --2-- remote 'B' C D (consumer) If I'm following your guidance, we should not use numInstances in the AGdeployment descriptor because we have decided to remote 'B'. Instead weneed to deploy the 2 AG Service Instances via our own launch mechanism(as either multiple -d flags on RunRemoteAsyncAE, or independently intheir own processes). Let me know if I'm on track. - Charles
> Date: Wed, 24 Sep 2008 09:28:28 -0400> From: [EMAIL PROTECTED]> To: > [email protected]> Subject: Re: CPE to AS Transition ... Porting > processingUnitThreadCount> > Charles,> > Sounds like you are describing the > "figure 4" scenario shown on> > http://incubator.apache.org/uima/doc-uimaas-what.html> As yet there is no > distributed life cycle management facility for services> in the UIMA AS > package, so it is up to you to manage the launch of scaled> out service > instances.> > The numInstance parameter for a service can be applied to any> > "single-threaded" UIMA analysis engine. A primitive UIMA component is> > considered single-threaded. A UIMA aggregate by default is deployed by UIMA> > AS single threaded, unless async=true is explicitly requested, or async is> > implicitly requested by adding UIMA AS properties to one of the delegates> > (such as being remote, or replicated, or having error handling).> > For each > of the numInstance's, the single-threaded AE will be instantiated> in the > same process and the initialize method called. Each instance will> have a JMS > listener connected to the same service request queue. Replicating> AE > instances in the same process require user code to be thread-safe with> > respect to it's shared static or other singleton objects.> > Regards,> Eddie> > > On Tue, Sep 23, 2008 at 9:17 PM, Charles Proefrock <[EMAIL > PROTECTED]>wrote:> > > We've previously run our CPE with a single > CollectionReader and 2> > processing units talking to two remote Vinci > services. All of the stages> > are relatively quick except for the remotes, > so running multiple threads in> > the same jvm on the same processor is > sufficient for the CPE host and in> > theory we would want to increase the > processingUnitThreadCount to X over> > time. As we transition to the AS > architecture, it is clear that the main CPE> > sequence is declared as an > aggregate, and that an instance of the aggregate> > is deployed (in the > examples, via the -d flag of runRemoteAsyncAE). There> > are also numInstance > elements that can be declared in the deploy descriptor,> > but they are > qualified as only working for primitives and/or synchronous AEs> > ??> >> > > Simply ... if we want to have a single CollectionReader that services X> > > pipelines, returning all CASes to the same Listener ... what is the> > > deployment approach?> >> > Thanks,> >> > Charles> >> >> >> >> > > _________________________________________________________________> > See how > Windows Mobile brings your life together—at home, work, or on the> > go.> > > http://clk.atdmt.com/MRT/go/msnnkwxp1020093182mrt/direct/01/ _________________________________________________________________ See how Windows connects the people, information, and fun that are part of your life. http://clk.atdmt.com/MRT/go/msnnkwxp1020093175mrt/direct/01/
