Reusable address space

The z/OS® operating system assigns an address space ID (ASID) when it creates each address space. However, a limited number of ASIDs are available for the operating system to assign. When all ASIDs are assigned to existing address spaces, the operating system is unable to start a new address space. In this situation, the operating system issues the IEA602I ADDRESS SPACE CREATE FAILED message.

In some scenarios, address spaces that use cross-memory services prevent their ASIDs from being reused and increase the possibility of an ASID shortage. One solution, which became available in Version 1.9 of the z/OS operating system, is to explicitly indicate that specific address spaces can use reusable ASIDs. This article describes the use of reusable ASIDs by WebSphere® Application Server on the z/OS operating system.

Before using the Reusable ASID feature

The reusable ASID feature is activated on a particular z/OS system when you specify REUSASID(YES) in PARMLIB member DIAGxx. If you do not specify this parameter, the reusable ASID feature is not used. If you are using Version 1.9 of the z/OS operating system, you must apply the Workload Manager (WLM) APAR OA28528.

All code that is running in reusable address spaces, such as MVS™ exits, must comply with the ASID reuse rules that are outlined in the z/OS Extended Addressability Guide. Otherwise, problems that are like the one described in OA28528 might abend the address space.

Running started tasks in reusable address spaces

To indicate that a started task using cross-memory services can run in a reusable address space, specify the REUSASID=YES option on the START command for the started task. For example:
START  STC1,REUSASID=YES
Important: This command is not effective unless you activate the REUSASID feature in parmlib member DIAGxx.

Avoid specifying the REUSASID option for started tasks that do not use cross-memory services. This approach is not recommended because reusable ASIDs form a separate pool that is not available for reassignment to an ordinary address space.

If you use the MVS START command to start WebSphere Application Server for z/OS controllers or location services daemons directly, you must add the REUSASID option if you want them to run in reusable address spaces. For example:
START BBO9ACR,JOBNAME=BBOS001,ENV=BBOBASE.BBONODE.BBOS001,REUSASID=YES
START BBO9DMN,JOBNAME=BBODMNC,ENV=BBOCELL.CFCIMGWI.WITIMGWI,REUSASID=YES

WebSphere Application Server address spaces also can be issued by WebSphere Application Server itself. For example, the address spaces might be issued when the location service daemon starts automatically or when a server starts with the startServer command. In these cases, the daemon or server configuration settings determine whether the REUSASID=YES option is specified on the START command that is submitted by WebSphere Application Server.

By default, the location service daemon always starts with the REUSASID=YES option when WebSphere Application Server issues the START command.

For other servers, by default, each controller starts with the REUSASID=YES option. You can change this behavior by manually updating the process definitions for the controller. To make the update, use either the wsadmin command, or scripting, to remove or include the REUSASID option on the server START command. Also, you can use the updateZOSStartArgs script to add or remove the REUSASID=YES option for particular servers.

Supported configurations:
  • WebSphere Application Server servant regions and control regions adjuncts do not normally run in reusable address spaces.
  • Bindings mode WebSphere MQ connectors do not work properly in reusable address spaces. If you activate reusable ASIDs on your z/OS operating system, ensure that servers that are running with Message Listener Ports, as opposed to activation specifications, do not have the REUSASID=YES option on the START commands.
  • If you choose to use reusable address spaces (REUSASID=YES option on the START command), you must use a type 4 JDBC driver.

For more information about reusable address spaces, see the z/OS manual MVS Programming: Extended Addressability Guide.