HP 3000 Manuals

A Detailed Look At System Limits [ COMMUNICATOR 3000 MPE/iX General Release 5.0 (Core Software Release C.50.00) ] MPE/iX Communicators


COMMUNICATOR 3000 MPE/iX General Release 5.0 (Core Software Release C.50.00)

A Detailed Look At System Limits 

by Scott J. McClellan 
Commercial Systems Division 

Overview 

There have been a number of changes in MPE/iX Release 5.0 that allow the
HP 3000 to support a larger number of active users (the term active is
defined precisely below).  Answering the question of "How many active 
users does MPE/iX Release 5.0 support?" is not simple enough to state in
a single number.  In answering this question, it is important to note
that the performance of the machine can and in most cases will be the
limiting factor.  This article focuses on the operating system and
networking constraints that limit the maximum number of active users
without considering performance.

The situation is analogous to the EPA mileage rating supplied for various
automobiles.  Each car comes with a different rating for "City" and
"Highway", and a disclaimer that "Your mileage may vary depending on the 
way you drive!".  For mileage estimates, the "Highway" and "City" ratings
are best and worst case ratings respectively.  Both are predicated based
on a model for how people drive (on average) under those conditions.  The
disclaimer is necessary because some people drive much faster (or slower)
than average.

For MPE/iX Release 5.0, there are two ratings as well.  The best case
rating corresponds to a system where none of the users are connected to
the system through a networked connection.  For purposes of this article,
users that are connected through DTC terminals are not considered to be
networked connections (even though the DTC itself is connected to the
LAN).

The worst case rating corresponds to a system where the majority of the
users are connected through the network.  This distinction is necessary
because networked connections are more expensive in terms of operating
system resources.

          MPE/iX Maximum Active Logon Ratings 

----------------------------------------------------------------------------------------------
|                              |                              |                              |
|                              |          Best Case           |          Worst Case          |
|                              |                              |                              |
----------------------------------------------------------------------------------------------
|                              |                              |                              |
| Active Logons                |          2700 (1)            |          2200 (1)            |
|                              |                              |                              |
----------------------------------------------------------------------------------------------

(1) The actual number of active logons may vary depending on complexity
of the applications being used on the system.

What Are The Constraints 

The table below summarizes some of the major limits that constrain the
maximum number of active users.  It also summarizes how these limits may
have changed in MPE/iX Release 5.0.

          Major Constraints 
----------------------------------------------------------------------------------------------------
|                       |          |          |      |                                             |
|         Limit         |  MPE/iX  |  MPE/iX  | Pri  |                  Comments                   |
|                       | Release  | Release  |      |                                             |
|                       |   4.5    |   5.0    |      |                                             |
|                       |          |          |      |                                             |
----------------------------------------------------------------------------------------------------
|                       |          |          |      |                                             |
| Concurrent Processes  |   5460   |   8190   |  1   | Main constraint.  Limits systems with many  |
|                       |          |          |      | networked connections, or where there are   |
|                       |          |          |      | users running applications that use more    |
|                       |          |          |      | than one process.                           |
|                       |          |          |      |                                             |
----------------------------------------------------------------------------------------------------
|                       |          |          |      |                                             |
| Compatibility         |  16383   |  16383   |  2   | A factor if a lot of the users are running  |
| Mode\Data Segments    |          |          |      | Compatibility Mode (CM) applications that   |
| (DSTs)                |          |          |      | use DSTs explicitly, or a lot of the users  |
|                       |          |          |      | are networked connections.                  |
|                       |          |          |      |                                             |
----------------------------------------------------------------------------------------------------
|                       |          |          |      |                                             |
| Terminal I/O Devices  |   2300   |   2500   |  3   | All devices configured in NMMGR count       |
|                       |          |          |      | against this limit; therefore, it could     |
|                       |          |          |      | limit the number of directly connected      |
|                       |          |          |      | sessions and the number of serial printers  |
|                       |          |          |      | that can be configured.  This limit is not  |
|                       |          |          |      | a hard limit enforced by NMMGR, but rather  |
|                       |          |          |      | a supported configuration limit.  HP        |
|                       |          |          |      | recommends that any configuration exceeding |
|                       |          |          |      | 2500 terminal I/O devices be considered on  |
|                       |          |          |      | a case by case basis.  An HP support        |
|                       |          |          |      | representative should be contacted for more |
|                       |          |          |      | information.                                |
|                       |          |          |      |                                             |
----------------------------------------------------------------------------------------------------
|                       |          |          |      |                                             |
| Network Servers       |   1250   |   1250   |  3   | Limits systems with a lot of networked      |
|                       |          |          |      | connections.  Increases the demands on both |
|                       |          |          |      | concurrent processes and DSTs.              |
|                       |          |          |      |                                             |
----------------------------------------------------------------------------------------------------
|                       |          |          |      |                                             |
| Processes Per User    |   1024   |   1140   |  3   | This limit is only significant if it is     |
| Logging ID            |          |          |      | necessary to have the same database opened  |
|                       |          |          |      | for write access by more than 1140 users    |
|                       |          |          |      | concurrently.                               |
|                       |          |          |      |                                             |
----------------------------------------------------------------------------------------------------
|                       |          |          |      |                                             |
| Sessions              |   2300   |   2700   |  4   | Includes sessions initiated from directly   |
|                       |          |          |      | connected (DTC) terminals, and those        |
|                       |          |          |      | initiated remotely (Virtual Terminals, and  |
|                       |          |          |      | server type connections).                   |
|                       |          |          |      |                                             |
----------------------------------------------------------------------------------------------------
|                       |          |          |      |                                             |
| Jobs                  |   2300   |   2700   |  5   | Should not be a limiting factor.            |
|                       |          |          |      |                                             |
----------------------------------------------------------------------------------------------------

The Pri column gives a priority for each limit.  These priorities range
from 1 to 5, with 1 being the highest priority (or most constraining) and
5 being the lowest (least constraining).  Priority 1 and 2 limits could
potentially constrain any high-end system with greater than 2000 active
users.  Priority 3 and 4 limits are unlikely to impact a given system
unless that system stresses a particular area.  For example, the maximum
number of networked connections is less likely to impact a system which
is balanced between direct (DTC) connections and networked connections.
Priority 5 limits will not generally impact any system but are mentioned
for completeness.

Best Case Rating 

Release 5.0 supports a maximum of 2700 active logons.  The term "active"
implies that the job or session is running a program.  Additionally, the
process limit has increased from 5460 to 8190.  For planning purposes,
you should allow 100 processes for the operating system's use (this is
not an exact number, but should be enough).  This leaves 8090 processes
for jobs and sessions.

Each direct logon requires a minimum of two processes; a JSMAIN and a CI.
If the job or session runs a simple program (which does no process
handling), then it requires a total of three processes per logon.  This
allows for a maximum of approximately 2700 active logons (3*2700=8100)
with a minimal number of processes to spare (8190-8100=90).


NOTE Many applications and third party products use process handling. It must be determined how many processes will be used by each session or job in order to accurately predict the number of jobs or sessions that the system will support.
The following is a worksheet which can be used to estimate the concurrent process requirements for a system. If the active users are running programs that do process handling, then the multipliers used for active jobs and sessions will need to be changed. Worksheet 1 (Non-Networked System) ------------------------------------------------------------------------------------------------- | | | | | | | | Connection Type | Number | Max | Multiplier | Processes| Max | | | | | | | | ------------------------------------------------------------------------------------------------- | | | | | | | | Active Jobs | | <= 2700 | x 3 | | <= 8190 | | | | | | | | ------------------------------------------------------------------------------------------------- | | | | | | | | Inactive Sessions | | <= 2500 (1) | x 2 | | <= 8190 | | | | | | | | ------------------------------------------------------------------------------------------------- | | | | | | | | Active Sessions | | <= 2500 (1) | x 3 | | <= 8190 | | | | | | | | ------------------------------------------------------------------------------------------------- | | | | | System Processes | 100 | | | | | | ------------------------------------------------------------------------------------------------- | | | | | | | | Total Connections | | <= 2700 | Total Processes | | <= 8190 | | | | | | | | ------------------------------------------------------------------------------------------------- (1) The total number of local sessions, active or inactive, should not exceed 2500. It is possible to configure more than 2500 terminal I/O devices, but any configuration in excess of 2500 warrants special consideration. An HP support representative should be contacted. Worst Case Rating The exact number of non-local sessions which can be supported on a given system will depend on the exact mix of jobs and sessions (remote and local, active and inactive) on that system. The maximum number of concurrent processes may limit the number of remote logons before the maximum number of data communications servers does. Likewise, the server limit may be reached before the concurrent process limit. This section will address the question of total concurrent jobs and sessions on a system with a mixture of local and remote logons. Network Servers Limit. Virtually every type of networked connection requires some type of data communications server. The NS Services software limits the maximum number of servers to 1250. As a result, there cannot be more than 1250 concurrent networked connections on a given system. Concurrent Process Limit. A remote connection to another system, (e.g., a logon via a Virtual Terminal), usually requires three processes on the host system and three on the remote system. There will be a JSMAIN, a CI, and a VTSERVER process on both sides. If you run a simple program (which does no process handling), then there will be a total of four processes per logon. Release 5.0 supports up to 1250 Virtual Terminal (VT) sessions. With 1250 active VT logons, it is estimated that 5100 processes are used ((1250*4)+100). With a maximum of 8190 processes, it is possible to achieve a maximum 2280 (see note below) active logons if 1250 of these active logons are VT logons. 8190 - 100 system processes - (1250 * 4) = 3090 processes leftover. With 1250 active VT logons it is estimated that a maximum of 1030 additional active logons is possible (3090 processes / 3 processes per non-local connection).
NOTE Depending on the number of active vs inactive connections, this may be constrained by the maximum number of compatibility mode Data Segments (see later explanation).
Below is a worksheet which can be used to estimate the concurrent process requirements for a system with networked connections. If the active users are running programs which do process handling, then the multipliers used for active jobs and sessions (local or remote) will need to be modified. Worksheet 2 (Networked System) ------------------------------------------------------------------------------------------------- | | | | | | | | Connection Type | Number | Max | Multiplier | Processes| Max | | | | | | | | ------------------------------------------------------------------------------------------------- | | | | | | | | Jobs | | <= 2700 | x 3 | | <= 8190 | | | | | | | | ------------------------------------------------------------------------------------------------- | | | | | | | | Inactive Local | | <= 2500 (1) | x 2 | | <= 8190 | | Sessions | | , (2) | | | | | | | | | | | ------------------------------------------------------------------------------------------------- | | | | | | | | Active Local Sessions | | <= 2500 (1) | x 3 | | <= 8190 | | | | , (2) | | | | | | | | | | | ------------------------------------------------------------------------------------------------- | | | | | | | | Inactive Remote | | <= 1250 (2) | x 3 | | <= 8190 | | Sessions | | , (3) | | | | | | | | | | | ------------------------------------------------------------------------------------------------- | | | | | | | | Active Remote | | <= 1250 (2) | x 4 | | <= 8190 | | Sessions | | , (3) | | | | | | | | | | | ------------------------------------------------------------------------------------------------- | | | | | System Processes | 100 | | | | | | ------------------------------------------------------------------------------------------------- | | | | | | | | Total Connections | | <= 2700 | Total Processes | | <= 8190 | | | | | | | | ------------------------------------------------------------------------------------------------- (1) The total number of local sessions, active or inactive, should not exceed 2500. It is possible to configure more than 2500 terminal I/O devices, but any configuration in excess of 2500 warrants special consideration. An HP support representative should be contacted. (2) The sum of these lines cannot exceed 2700 due to limitations in Sysgen and Job/Session code. (3) The sum of these lines cannot exceed 1250 due to the limit on Network Servers imposed by NS Services. Maximum Number Of Compatibility Mode Data Segments (DSTs) The operating system allows 16383 CM DSTs to be allocated. The operating system, networking, and other system software uses less than 400 of these DSTs. This leaves approximately 16000 DSTs to be consumed by the users. There is a fixed DST overhead associated with each different type of logon. This overhead is summarized in the table below. System DST Usage Per Connection --------------------------------------------------------------------------------------------------------------- | | | | | | | | | CONNECTION JIT | JDT | PACB | CM Stack DSTs | DSLINE | Total | | TYPE | DST | DST | DST | | Table | DSTs | | | | | | | DST | | | | | | | | | | --------------------------------------------------------------------------------------------------------------- | | | | | | | | | | | | | | | | JSMAIN | CI | USER | VTSERVER | | | | | | | | | | | | | | --------------------------------------------------------------------------------------------------------------- | | | | | | | | | | | | Session | X | X | X | X | X | X | | | 6 | | (1) """" | | | | | | | | | | | | | | | | | | | | | --------------------------------------------------------------------------------------------------------------- | | | | | | | | | | | | Job (1) | X | X | | X | X | X | | | 5 | | | | | | | | | | | | --------------------------------------------------------------------------------------------------------------- | | | | | | | | | | | | Remote | X | X | X | X | X | X | X (3) | X | 8 | | (2) "" | | | | | | | | | | | | | | | | | | | | | --------------------------------------------------------------------------------------------------------------- (1) Session and Job refer to local sessions or jobs with no inbound or outbound network connections. (2) Remote refers to a simple networked connection with exactly one inbound or outbound network connection. (3) There is an additional DST for each additional server that is associated with either an inbound or outbound connection. The following worksheet can be used to estimate the DST requirements for your system. Worksheet 2 (Networked System) ------------------------------------------------------------------------------------------------- | | | | | | | | Connection Type | Number | Max | Multiplier | Processes| Max | | | | | | | | ------------------------------------------------------------------------------------------------- | | | | | | | | Jobs | | <= 2700 | x 4 | | <= 16383 | | | | | | | | ------------------------------------------------------------------------------------------------- | | | | | | | | Inactive Local | | <= 2500 (1) | x 5 | | <= 16383 | | Sessions | | , (2) | | | | | | | | | | | ------------------------------------------------------------------------------------------------- | | | | | | | | Active Local Sessions | | <= 2500 (1) | x 6 | | <= 16383 | | | | , (2) | | | | | | | | | | | ------------------------------------------------------------------------------------------------- | | | | | | | | Inactive Remote | | <= 1250 (2) | x 7 | | <= 16383 | | Sessions | | , (3) | | | | | | | | | | | ------------------------------------------------------------------------------------------------- | | | | | | | | Active Remote | | <= 1250 (2) | x 8 | | <= 16383 | | Sessions | | , (3) | | | | | | | | | | | ------------------------------------------------------------------------------------------------- | | | | | System DSTs | 383 | | | | | | ------------------------------------------------------------------------------------------------- | | | | | | | | Total Connections | | <= 2700 | Total Processes | | <= 16383 | | | | | | | | ------------------------------------------------------------------------------------------------- (1) The sum of these lines cannot exceed 2500 due to NMMGR restrictions on the maximum number of configurable DTC terminals. (2) The sum of these lines cannot exceed 2700 due to limitations in SYSGEN and Job/Session code. (3) The sum of these lines cannot exceed 1250 due to the limit on Network Servers imposed by NS Services. It is necessary to adjust the multipliers above if the user application is either a process handling application, or the application uses MPE/iX features that cause additional CM DSTs to be allocated. There are additional DSTs used if: 1. The application uses more than one process. Every process uses at least one DST for the CM stack. For each additional process (greater than the one assumed by the model above) add one DST. 2. The application opens one or more CM files. CM files are defined as device files, circular files, or RIO files. There is one additional PACB DST for each CM file opened. 3. The application explicitly calls the GETDSEG intrinsic or uses a subsystem or library that implicitly calls the GETDSEG intrinsic. This feature is typically used in CM applications only. Maximum Number Of Processes Per User Logging ID The maximum number of processes that can log to a single user logging identifier is 1140. User logging identifiers are most frequently used when a database is opened for write access and logging is enabled. Generally speaking, there is a different user logging ID associated with each database. If every user on the system opens the same database (for write access) concurrently, then the maximum number of users would be constrained to 1140. This is typically not the case, as most systems have a mix of users that access more than one database. In addition, most applications do not always keep a database open for write access throughout the life of a session.


MPE/iX Communicators