Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
HP.com home
Jazz home  >  Papers & Training

Purpose of this section

» 

Jazz home

»

Software

»

Papers & Training

»

Java

»

HP Partners

»

News & Events

»

Register for more info

Content starts here
The focus of this sections is the software limits imposed on the common Networking products found on the MPE/iX operating system. These limits are current as of release 5.5 and all attempts have been made to provide information as accurate as possible. While all attempts have been made to keep this document up-to-date with the latest release of the operating system, it is possible that patches or new product introductions may not be reflected in this information.

If you have any feedback/comments/concerns about the content or format of this information, please send a e-mail message to Jeff Bandle(jeffb@cup.hp.com) .

Structure of this section


You will notice that this section is divided into functional areas. The functional areas represented in this version of the document include the following:

Network Services and Transport Limits

Virtual Terminal (VT) Limits

Terminal and Serial Printer I/O limits

Telnet/iX Limits

Within each functional area, one or more limits are stated along with the system table or resource which imposes the limit. Using the number that corresponds to the particular limit you are interested in, you may refer to a written description of that resource which is also included within the section. If you see a '~' in front of a stated limit, this implies that the limit is variable or approximate. Generally, limits tagged with a '~' character are derived based on a (sometimes) formula. For most of these formulas there are several variables which can on be estimated, modeled or assumed. The actual limit on your system could be quite different. In these cases, you should definitely refer to written descriptions.

NS transport & netipc/BSD sockets - limits


This section describes the system limits by the Sockets layer of the Operating system. This Layer is interface between user applications and the network protocols. The applications can use either NetIPC intrinsics or the BSD sockets intrinsics to acess the services of the underlying network protocols,like TCP,UDP etc.,

The maximum number of sockets ,that can be created on MPE 6.0 is 8192. When a process forks, the child inherites the parents open file descriptors,including the sockets. These sockets are shared by the parent and the child process. Each such socket is associated with an alias socket record.

The max number of such alias sockets is set to the MAX_PIN value of the system. The value of MAX_PIN for MPE 6.0 is 8192.

# MAX_NUM_WAITQ_ENTRIES := max_pin (8192)

The maximum data that can be sent or received through the SEND/RECV system calls is 30000 bytes.

SK_MAX_DATA_LEN = 30000; { max # of bytes in send/recv }

Nwtm (network type manager)


This is type manager layer which interfaces the socket layer with the underlying protocol layer. On MPE, each file type has unique type manager, which handles the operations on that file. NWTM is the sockets file type manager. The file system is aware of the presence of NWTM and when user applications issues a read/write against a socket, the file system recognizes the descriptor is sockets file type descriptor and then let NWTM do the read/write operation as requested.

Each socket that is bound to a Network protocol, has a unique NWTM entry. Thus the max.number of NWTM entries limits the number of sockets that could be concurrently used by the applications on the system.

The max.number of NWTM entries ,as of MPE 6.0 ,is

# MAX_NUM_TYPE_MGRS 5632

Notice that this value is significantly lower than the MAX_NUM_SOCKET_RECORD . What this mean is that effectively the max number of sockets that could be in use is limited to 5632.

NWTM entries are kept in the table management object that resides in the SR6/SR7 space. The max object size limits the max. number of NWTM entries to 5632.

Transport layer protocols


TCP - transmission control protocol


TCP keeps connection entry table, where one entry is allocated per connection. This object is SR6/SR7 space. With 6.0, the maximum number of TCP connection supported is 6090. This value is configurable through NMMGR.

#TCP_MAX_CONNECTIONS = 6090

One important thing to note here is that, for each connection there is one associated NWTM entry. Since the maximum number of NMTM entries is limited to 5632, the maximum number of connections that could be used is also limited to 5632.

The Maximum number of TCP call sockets supported is #6090.

#TCP_MAX_SOCKETS = 6090;

A call socket is a TCP socket created by a Upper Layer Protocol (ULP) , like NetIPC/BSD Sockets to rendezvous with incoming connection requests Note that the term 'socket' ,as mentioned at TCP level is different from the term 'socket' decribed at the NetIPC/BSD sockets level. Here the term 'socket' refers to a logical entity which provides an addressable access point for the establishment of TCP connections. TCP sockets are refered to as SAP.(Service Access Points)

TCP IP/address/network connection table


#TCP_MAX_NETWORKS = 11

TCP_MAX_NETWORKS is a constant which defines the maximum number of simultaneously active networks supported by TCP.

# MAX_PATH_RETRIES = 20;

This indiactes the maximum number of attempts to resolve a path to reach the specified destination,before TCP gives up and throws out path resolution error.

UDP - user datagram protocol


The maximum number of UDP sockets supported is 4096. This value is configurable through NMMGR.

UDP obtains objects from VSM for its socket entries. Up to 16 objects are obtained to contain the # 4096 socket entries. Each object contain 256 socket entries.{ 4096 / 16 = 256 }

UDP_MAX_OBJECTS = 16;

Network interface/path resolution modules


This section describes the limits encounterd in the Network layer and the MPE routing related limits.

MAX_NUMBER_NETWORKS = 12; { maximum number of networks supported}

As of 6.0, the routing capablity of MPE is significantly increased. The maximum number of Gateways that can be configured in system is 256. Earlier releases of MPE supports only allows 14 gateways to be configured.

Virtual terminal limits


NS global tables


1) Session ID Table (SID)

2) Process Table (PTAB)

3) Process Table Extension (PTAB EXT)

4) Dsline Table

5) DSL DST Table

6) NSSTATUS Data Structures

7) Network Services Table (NEST)

8) Other dependencies -

a) TCP Connections

b) Sockets

c) Ports

d) Ports Dictionary.

e) NM IOWAIT COMPLETORS

f) Max ldev's

9) Effect of breaks & subsystem breaks.

1) Session id table(sid)


File : S14SNSCC

One table per node. Contains one entry for each session created with DSLINE & REMOTE ( Programmatic sessions not included). Accessed through AS global segment. SID table is an XDS which is limited to 32764 CM words.

Table size determined by


InitSidTableSize = 3000

MaxSidTableSize = 30000 (Max = 32764)

IncrSidTableSize = 1000

SidHeaderLength = 23

SidEntryLength = 9

Total number of = (MaxSidTableSize - SidHeaderLength)/SidEntryLength entries in SID table

Current max. entries = 3330

Using the max. XDS size of 32764 max entries possible is 3637. This means info. for 3637 sessions(dsline & remote) can be stored int SID table.

Procedure AS'ENV'CREATE'SID'TABLE creates SID table for the system.

No changes required for storing information of 2600 sessions since max possible entries can go upto 3637.

2) Process table (ptab)


Contains NS related info. for each process. Resides in ASGLOBAL DST.

The size of Global DST is caluculated as :

memory'size := glob'w'len + as'plabel'size + p'tab'head'len + w'len'vt'mask

glob'dst := HPGetDataSeg( memory'size, memory'size,objcl'dcl'ss'global, vsdomain'global,releaseable);

Max entries in PTAB table (using max DST size of 32764) = (Max DST size - glob'w'len - as'plabel'size - p'tab'head'len - w'len'vt'mask)/pt'entry'size

---------------------------

Current max entries = 15888

---------------------------

Max processes supported on system currently is 8190.Therefore no changes are required for PTAB.

3) Process extension table ( ptab ext)


File : S15SNSCC

Procedure AS'Glob'Init allocates space for this table using max dst size (32764) :

extn'dst := HPGetDataSeg ( as'memory'size,as'memory'size, objcl'dcl'ss'global,vsdomain'global, releaseable);

-----------------------------

Max PTAB Ext entries = 10,000.

-----------------------------

This is more than the current max processes which is 8190.

4) Dsline table


File : S14SNSCC

DSLINE table holds the characteristics for environments defined by :DSLINE and :REMOTE commands.

The DS Table is organized as an extra data segment buffer space.As such it is an extra data segment, with the entries in the DS Table are allocated as buffers in the buffer space. The maximum allowed buffers is currently 100.This puts an upper limit on the number of concurrent environments for the session.

DsTabMaxSize = 29027 , DsTabMaxBuffers = 740

Procedure AS'ENV'CREATE'DSTABLE creates DSLINE Table for a session.

5) Dsl DST table


There is one global DSL DSTs Table for a node. It is created during system initialization and exists as long as the system is up. There will be an entry in the table for each possible process on the system. Every session on the system which creates a DSLINE table, stores its DSLINE table DST# in its root process's PIN entry of this table.

Accessed through AS Global Data Segment.

Constants that determine table size :

DSL'DSTs'Size = 10000 , DSL'DSTs'HLength = 8

Max entries = ((DSL'DSTs'Size - DSL'DSTs'HLength)/ entrysize) - 1

where entrysize = 1;

Current max entries = 9991

Using Max DST size of 32764 max possible entries = 32755.

6) Nsstatus intrinsic


Can handle info. for only 120 NS servers. Very complicated to fix( according to previous IR).

7) Network service table


File : S04MNSCN

Table size determined by the following constants :

InitNeSTsize = 65536,

IncreNeSTsize = 65536,

MaxNeSTsize = 393216

Currently supports 3000+ servers.

8) Other dependencies


a) TCP Connections : Require additional 600+ connections.

Number of TCP connections currently available : 6000+

b) Sockets : Require additional ~600 sockets.

c) Ports :

Each VTSERVER process on a system has the following ports :

1) Request port (CM Port, VTTM only)

2) VTSERVER main port( IOWAIT Port). (CM Port, VTTM & VTAM)

3) LDM port (Procedure server : vt_ldm, messages to LDM, VTAM only).

4) LDM reply port ( Messages from LDM to AM,VTAM only).

5) Standard Signal Port (1) (VTTM & VTAM)

6) Standard Message Port (2) (VTTM & VTAM)

7) Standard Interrupt Port (3) (VTTM & VTAM)

Total number of ports requred : 15,600 (assuming all servers are VTSERVERS)

Number of ports available on system : 32,765

d) Port dictionary (for CM ports)


If all processes are VTTM then ~5500 entries are required in port dictionary.

If all processes are VTAM then ~2700 entries are required in port dictionary.

Additional Port dict entries = 5500 - 4000(current max) = 1500 (assuming all servers are VTTM)

Number of Port dictionary entries reqd. : 5500

Number of Port dictionary entries available : To be increased to 8192.

e) Iowait completors


One NM_IOWAIT_COMPLETOR for each VTSERVER process. There is an IOWAIT port procedure server and procedure name "iowait_port_server".This is bound to a PORT wait entry.

DST & other information


Max DST's available on the system = 16,383

Max DST size = 32767( Value of 32764 is currently used in NS code)

Max Processes on the system = 8190

Max NM IOWAIT COMPLETORS = Dependent on MAX_CMPORTS

f) Max ldev's :


Requirement is 1 ldev for each remote session. Max ldev's available on 6.0 = 4649

9) Breaks & subsystem breaks :


The local VTSERVER(VTTM) steals breaks & ssbrk from CI. Breaks are disabled with CI elimination. However subsystem break is enabled.The subsystem break is handled by application.

Terminal and serial printer i/o limits


The Terminal and Serial Printer subsystem that is accessed via the DTC is comprised of different software modules or managers. These managers access the DTC and the operating system via data structures that are used to hold information and data about the individual connections. Limits to this access are described below under the different software managers;

Nodal manager


Nodal Manager is a Module in DTS Subsystem. This provides routing information for connection establishment and implements the the DCProbe Protocol. It provides non-nailed device capability for TIO and PAD. NDM also provides the routing information for DTCM packets and inbound TIO packets. It maintains lists to perform these tasks.

The Nodal Manager(abbr. NDM) is a LLIO manager and it therefore has a Port Data Area(abbr. PDA) of a fixed size. The NDM also has an auxiliary data area(abbr. ADA) with a size which is dependent on the number of configured devices and AVESTA boxes. Neither the PDA nor the ADA is frozen in memory.

The following is a measure of the size of NDM Routing Tbl object:

MAX_DEVS = 4649 + 520 (MAX DEVS + MAX BOX ENTRIES(DTCM)

Maximum number of entries in routing table = 5170

Maximum number of entries in dtcm_port_tbl (kso) = 512

Limits configurable from dcc/NMMGR with regards to dts:


Max. No.of DTCs : 400 (NMCONFIG file limit)

The above value is being changed to support DTS in 5.5 from 120.

Max. No of Ldevs : 4649

This accounts to the number of devices configured through NMMGR.

Max No. of Classes : 2000 (Validation Performance limit)

The utility program NMMGR.PUB.SYS will not allow a user to configure more than 4649 terminals (connected via DTCs). This value was chosen to be 30 less than the maximum number of devices. Being able to configure 4649 terminals does not mean that MPE will support 4649 sessions.

Serial printers are also configured as terminals using NMMGR. The total number of serial printers and terminals cannot exceed 4649. The maximum number of serial printers that is supported varies, depending on the type and the system.

Although it is possible to configure more than 2500 terminal I/O devices, neither the inactive sessions nor the active sessions should exceed 2500.

Buffers: Two buffer pools are created during system configuration

One for Inbound and the other for Outbound per system.

Inbound Buffers Max = 400(Performance Limit) Two 256 bytes buffers per ldev will be used.

Outbound Buffers Min = 64(Max limited by BFM ??)

The exact formula for determining the number of buffers in this pool is still to determined, but the total space is used by the pool is expected to be much smaller than the space used by all the outbound buffer pools in previous releases(<4.0) This pool will be used by for all outbound packets generated at any level in the driver.

For each session that is active, there is a per/session limit of 24 data output buffers that can be allocated at one time. This is to prevent one greedy process from allocating all of the output buffers that are shared among all DTC terminal and printer devices.

Other dependencies:


- Ports - System limit is 32765

- Processes - System limit is 8190

Telnet limits


Maximum no. of Telnet options which can be negotiated = 255. This is defined by the Telnet spec and is not a limitation due to the MPE implementation.

Maximum buffer size = 4096 (Performance limit)

Maximum logical buffer pools = 8192 (Performance limit)

Maximum no. of buffers per logical buffer pool allowed = 32767 (Performance limit)

Maximum no. of telnet connections is limited by various factors.

1. No. of ldevs on the system Each connection requires an ldev.

2. No. of tcp connections supported Telnet runs on top of tcp. Each Telnet connection requires one TCP connection

3. No. of tcp sockets One socket record is associated with every telnet connection.

4. No. of sessions supported One session will be created for one connection.

5. No. of PTID inbound buffers = 2048. Each connection will have one PTID inbound buffer cached. Thus, at most there can be 2048 active Telnet connections at any one time.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2004 Hewlett-Packard Development Company, L.P.