Execution groups

An execution group is a named grouping of message flows that have been assigned to a broker. The broker enforces a degree of isolation between message flows in distinct execution groups by ensuring that they run in separate address spaces, or as unique processes.

Each execution group is started as a separate operating system process, providing an isolated runtime environment for a set of deployed message flows. Within an execution group, the assigned message flows run in different thread pools. You can specify the size of the thread pool (that is, the number of threads) that are assigned for each message flow by specifying the number of additional instances of each message flow.

A single default execution group is set up ready for use when you create a reference to a broker in the workbench. By setting up additional execution groups, you can isolate message flows that handle sensitive data such as payroll records, or security information, or unannounced product information, from other non-sensitive message flows.

If you create additional execution groups, you must give each group a name that is unique within the broker, and assign and deploy one or more message flows to each one.

You can create and deploy execution groups either in the workbench, or using commands.

An execution group process is also known as a DataFlowEngine (DFE); this term is typically used in problem determination scenarios (trace contents, diagnostic messages, and so on). A DFE is created as an operating system process, and has a one-to-one relationship with the named execution group. If more than one message flow runs within an execution group, multiple threads are created within the DFE process.

64-bit execution groups

When you create an execution group, you must specify its Processor Architecture, which determines whether the execution group operates in 32-bit mode or 64-bit mode. Your choice must match the processor of your target broker operating system and hardware; not all systems support both modes.

Which platforms support 64-bit execution groups?
  • HP-UX on Itanium supports only 64-bit execution groups.
  • The following systems support both 32-bit and 64-bit execution groups: AIX®, HP-UX on PA-RISC, Linux® on POWER™, Linux on x86-64, Linux on System z®, Solaris on SPARC.
  • The following systems support only 32-bit execution groups: Windows®, z/OS®.

If you deploy a BAR file to an execution group that the broker does not support, it rejects the deployment.

Why create 64-bit execution groups?
In an environment that supports both, 64-bit execution groups offer two main advantages:
  • If you are using both a 64-bit queue manager and a 64-bit execution group, you can run the broker as a WebSphere® MQ trusted application, which means that the broker can handle WebSphere MQ operations faster than a normal broker. You cannot run a broker as a trusted application if you have a 64-bit broker queue manager but only a 32-bit execution group.
  • You can allocate large amounts of contiguous memory. Message flows that are deployed to a 64-bit execution group can process larger messages than message flows that are deployed to a 32-bit execution group.

To check whether you need to define 32-bit data source names (DSNs), 64-bit DSNs, or both, when you are using a 64-bit execution group, or when you configure global coordination of message flows that are deployed to a 64-bit execution group, see Enabling ODBC connections to the databases

Considerations when using 64-bit execution groups
The following list describes the main differences between using 32-bit and 64-bit execution groups:
Execution group
You must create a new execution group and specify, at creation time, that it is a 64-bit execution group. You cannot change an existing 32-bit execution group into a 64-bit execution group.
Broker queue manager
The broker's queue manager must be 64-bit.
Databases
If you use a DB2® database, you must either use a local 64-bit DB2 instance or a 64-bit DB2 client. With Oracle, Sybase, and SQLServer, you can use 32-bit or 64-bit databases depending on how you connect the broker system to the database server.
Message flows
When you deploy a message flow to an execution group, the message flow runs as either a 32-bit application or a 64-bit application depending on whether the execution group is 32-bit or 64-bit. You do not need to change existing message flows to run in a 64-bit execution group unless the message flow includes a user-defined node that is compiled for a 32-bit application.
User-defined nodes
User-defined nodes must be recompiled to operate in 64-bit execution groups; contact your vendor for a 64-bit version of any nodes that you want to use in this environment.
Related concepts
Brokers
Message flows overview
Deployment overview
Related tasks
Adding an execution group to a broker in the workbench
Enabling ODBC connections to the databases
Using WebSphere MQ trusted applications
Related reference
Supported databases
Notices | Trademarks | Downloads | Library | Support | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009. All Rights Reserved.
Last updated : 2009-01-07 15:40:01

ae00270_