Each gateway runs in its own vproc. All gateways that belong to the same host group (HG) defined in the vconfig file have a single Assign Task that manages a set of PEs. The set of PEs that the Assign Task manages is determined by using the host number (HN) in the vconfig file and mapping the HN to the HN defined during a system configuration or reconfiguration. The Assign Task is responsible for assigning a new session to the Parsing Engine (PE) having the least number of sessions associated with that PE.
Example: Gateway Host Groups
This example represents a system running multiple gateways on each node.
NODE 1 NODE 2 PE 16383 HN = 1 PE 16382 HN = 1 PE 16384 HN = 2 PE 16381 HN = 2 Gateway (8192) HGID 1 Gateway (8191) HGID 1 192.168.1.1 192.168.1.2 Gateway (8190) HGID 2 Gateway (8189) HGID 2 192.168.1.3 192.168.1.4
Each gateway must have a separate set of IP addresses. The gateway running in vproc 8192 only looks for network connections on IP 192.168.1.1 port 1025. The gateway in vproc 8190 only looks for network connections on IP 192.168.1.3 port 1025. This configuration does not require separate LAN cards, but it does require that the IP addresses be unique.
In this scenario, the network administrator creates the following host names/IP entries:
hgid1cop1 192.168.1.1 hgid1cop2 192.168.1.2 hgid2cop1 192.168.1.3 hgid2cop2 192.168.1.4
If you submit very similar SQL requests and have a separate host group to process those requests, you will get a better cache hit rate. By controlling where the PEs and gateways for a host group are located, and controlling which jobs go to which host groups, you can balance the gateway and PE workload better.
Configuring multiple host groups such that each node has gateways in multiple groups, as shown in the example, helps maintain connectivity if a node goes down. In such a situation, PEs from all host groups will remain available to accept connections.