Hybrid Pipe Shared Memory (HPSM) Transport

Hybrid Pipe Shared Memory (HPSM) provides a fast transport mechanism between JADE nodes on the same computer to utilize the multiple CPUs and shared memory, to significantly improve overall performance. (An older shared-memory transport, called JadeLocal, is documented in the following section.)

The Remote Procedure Call (RPC) jomsrvr2.dll includes a Hybrid Pipe Shared Memory (HPSM) transport, which has lower overhead than the JadeLocal (shared memory) transport and it is a better fit with the server thread model, as it results in fewer thread context switches per request.

The HPSM transport can be used only between nodes residing in the same machine, because it uses shared memory.

The following JADE initialization file parameters are required to use the HPSM transport.

[JadeServer]
NetworkSpecification1=HPSM,enabled|disabled,[Global\]base-name

[JadeClient]
ServerNodeSpecifications=HPSM,[Global\]base-name

The following is an example of the required JADE initialization file definitions to use the HPSM transport.

[JadeServer]
NetworkSpecification1=HPSM,Enabled,TestCRM-HPSM

[JadeClient]
ServerNodeSpecifications=HPSM,TestCRM-HPSM

The base-name value can have an optional Local\ or Global\ prefix.

When the Local\ prefix tag is specified (or no prefix tag is specified), the value of the base-name variable is created in the session namespace. To establish a connection, the JADE database server and the JADE client must be running under the same user logon and in the same Windows session. This would not be the case, for example, if you were running an interactive desktop application that attempted to connect to the JADE database server.

When the Global\ prefix tag is specified, the base-name variable is created as a global object that is visible across sessions and logons.

Use the Global\ prefix tag, in the NetworkSpecification and the ServerNodeSpecifications parameter to enable an HPSM connection to the JADE Database service across Windows sessions.

The HPSM transport has lower overhead than the JadeLocal transport, and is a better fit with the server thread model, as it has fewer thread context switches per request. For details about the server thread model, see "Server Thread Model", later in this chapter.

On a client node using HPSM, the Node class networkAddress method returns "procNNNN", where the NNNN value is the decimal number of the process at the other end of the connection.

Alternatively, use the server argument in a command line to specify the server Universal Resource Identifier (URI) target database and the client-server transport, instead of the server and path arguments in a command line and the ServerNodeSpecifications parameter in the [JadeClient] section of the JADE initialization file. For details, see "Format of the Server URI String", later in this chapter.