Which CA Ideal, CA IPC and CA VPE programs are required to be resident to run.
Some programs are chosen for residency because CA Ideal, CA IPC and CA VPE counts on them to remain at a fixed address. Making these programs non-resident will eventually lead to random ASRA abends or storage violations.
Other programs are made resident because they are "VPE globally loaded". The use count is altered to ensure they always remain in storage even if they are specified as RES=NO. Under later releases of CICS an EXEC CICS HOLD command is issued. Specifying RES=NO in these instances will actually increase the amount of storage used.
Still other programs are chosen for residency because they are very small. Making small programs such as @IIDOPTS and PMSTBLS non-resident will cause each module to use a page of storage when loaded instead of being able to fit several on a single page. That means if at any time more than one of these modules is in storage, a non-resident load will actually require more storage in the CICS region.
And last but not least, some programs are resident because they are highly used.
The following programs must be specified as RES=YES:
CA IPC programs
CA VPE programs
CA Ideal programs