IBM Support

Use of HiperSockets between WebSphere MQ on z/OS and WebSphere MQ on z/Linux

White Papers


Abstract

HiperSockets provides fast memory to memory TCP/IP communications within LPARs in the same z/Series physical processor. The throughput can be up to twice the throughput of using a Gigabit OSA express. This white paper gives the set up and performance of HiperSockets between a z/OS system and a z/Linux system on the same processor.

Content

The measurements were done with the following set up:
z/OS
z/OS 1.8 running in an LPAR with 16 engines on a 2084. During the measurements the processors were about 7% utilized.
MQ V6

z/Linux
SuSE SLES-9 (S/390X) running on a single engine of the 2084.
MQ V6

Measurement scenario 1
Using the program from SupportPac IP13 a non persistent message was put to a remote queue, At the Linux® machine the message was put to a remote queue and routed back to the z/OS queue manager. The message was got, and the next message put to the remote queue. This was done for 1,000 messages. So in effect a message was sent round in a loop.


Message size in bytes Hipersockets
Message rate per second
OSA adapter
Message rate per second
Hipersockets.
round trip in milliseconds
OSA
round trip in milliseconds
1,000
667
476
1.5
2.0
4,000
686
455
1.5
2.2
10,000
615
417
1,6
2.4
32000
576
267
1.7
3.7
100,000
251
116
4.0
8.6
1,000,000
25
13
40.0
77.0

Measurement scenario 2

As scenario 1 above, but with 10 jobs running concurrently using the same queues and channels


Message size in bytes Hipersockets
Message rate per second
OSA adapter
Message rate per second
Hipersockets.
round trip in milliseconds
OSA
round trip in milliseconds
1,000
1400
118
7.1
8.5
10,000
1150
970
8.6
10.3
100,000
240
200
42.0
50.0
1,000,000
30
18
333.0
551.0

Note that in both measurements there was variation of about 10% between repeated runs. This is because the machines were not set up for performance benchmarking, and there was other low level activities happening at the same time.


z/OS definitions in TCPIP Parms file.
The IP address for the OSA card was 9.20.122.197 and from the HiperSocket was 10.1.2.1

The definitions in the TCPIP PARMS file included

; This is a small sandbox system. Usually you would specify a route using RIP or OSPF definitions
; Hipersockets Link on Chpid E1 This is the same as the E1 on the end of IUTIQDE1

DEVICE IUTIQDE1 MPCIPA AUTOR
LINK HSOCKE1 IPAQIDIO IUTIQDE1
START IUTIQDE1

HOME
; This system is known as 9.20.122.197 for GigaBit Ethernet 1 attached to the OSA
9.20.122.97 GE1
9.20.39.241 VLINKEE
9.20.39.240 EELINK
; This host is known as 10.1.2.1 from HiperSockets
10.1.2.1 HSOCKE1

BEGINRoutes
; Destination Subnet Mask First Hop Link Name Packet Size
ROUTE 10.1.2.0 255.255.255.0 = HSOCKE1 MTU 8192
;

z/Linux definitions
The IP address of the z/Linux machine from the OSA express was 9.20.122.97, and from the HiperSocket 10.1.2.2

z/OS queue manager definitions
The z/OS queue manager had a channel definition for the HiperSocket route with a conname of 10.1.2.2(1414), and a channel definition for the OSA adapter interface with a conname of 9.20.122.97(1414)

z/Linux queue manager definitions
The z/linux queue manager had a channel definition for the HiperSocket with a conname of 10.1.2.1(2424), and a channel definition for the OSA adapter interface of 9.20.122.197(2424)




Useful z/OS commands
The Netstat command can be used to display information. For example in OMVS
netstat -d -K HSOCKE1
gave information about the interface used by the HiperSocket
MVS TCP/IP NETSTAT CS V1R8       TCPIP Name: TCPIP 14:42:50
  DevName: IUTIQDE1          DevType: MPCIPA
  DevStatus: Ready
  LnkName: HSOCKE1           LnkType: IPAQIDIO   LnkStatus: Ready
    NetNum: n/a  QueSize: n/a
    IpBroadcastCapability: No  
    Cfg Router: Non                   ActRouter: Non
    ArpOffload: Yes                  ArpOffloadInfo: Yes
    ActMtu: 57344
    ReadStorage: GLOBAL (8064K)
    SecClass: 255                    MonSysplex: No
  BSD Routing Parameters:
    MTU Size: 65535             Metric: 00
    DestAddr: 0.0.0.0           SubnetMask: 255.255.255.0
  Multicast Specific:
    Multicast Capability: Yes
    Group             RefCnt
    224.0.0.1         0000000001
  Link Statistics:
    BytesIn                           = 5156803584
    Inbound Packets                   = 418706
    Inbound Packets In Error          = 0  
    Inbound Packets Discarded         = 0
    Inbound Packets With No Protocol  = 0
    BytesOut                          = 5079461900
    Outbound Packets                  = 431173
    Outbound Packets In Error         = 0
    Outbound Packets Discarded        = 0

The command
netstat -a -E mqpvchin
gave information about the socked listened on, and which had connections.
MQPVCHIN 00007F93 Listen
  Local Socket: ::..2424
  Foreign Socket: ::..0
MQPVCHIN 00008B3C Establsh
  Local Socket: ::ffff:10.1.2.1..2424
  Foreign Socket: ::ffff:10.1.2.2..34577

z/Linux information
You can use the yast command to display and configure system information.

The command sudo /sbin/ifconfig displays information about the configuration. The ifconfig command can be used to bring an interface up or down and change its definitions. The output of the display command sudo /sbin/ifconfig hsi0 is given below
hsi0      Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          inet addr:10.1.2.2  Mask:255.255.255.240
          inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link
          UP RUNNING NOARP MULTICAST  MTU:8192  Metric:1
          RX packets:36100207 errors:0 dropped:0 overruns:0 frame:0
          TX packets:32071322 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:38834381952 (37035.3 Mb)  TX bytes:38603507580 (36815.1 Mb)


Device configurations are located in /etc/sysconfig/hardware/hwcfg-*.
The interface configurations are located in /etc/sysconfig/network/ifcfg-*.
The content of the file /etc/sysconfig/network/ifcfg-hsi0 is
BOOTPROTO="static"
UNIQUE=""
STARTMODE="onboot"
IPADDR="10.1.2.2"
NAME='Hipersockets (HSI) Network'
NETMASK="255.255.255.240"
NETWORK="10.1.2.0"
BROADCAST="10.1.2.15"
_nm_name='hiper0'

The following link contains useful information about configuring network services. http://www-uxsup.csx.cam.ac.uk/pub/doc/suse/suse9.3/suselinux-adminguide_en/sec.basicnet.manconf.html

You can add IP routing information to z/Linux using the route command, for example
sudo /sbin/route add -host 9.20.39.97 metric 1 hsi0

Original Publication Date

23 February 2008

[{"Product":{"code":"SSFKSJ","label":"WebSphere MQ"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Channels LU62 \/ TCP","Platform":[{"code":"PF016","label":"Linux"},{"code":"PF035","label":"z\/OS"}],"Version":"8.0;7.1;7.0.1;6.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Product Synonym

WMQ MQ

Document Information

Modified date:
17 June 2018

UID

swg27011774