Fast/Cram
The Fast/Cram program product is a full function
replacement for the MVS and MVS/ESA versions of the Cross
Region Access Method (CRAM) SVC distributed with the Model
204 database management system. It provides dramatically
improved support for communications between Model 204 and
teleprocessing monitors, such as CICS or TSO. It also
provides support for Advantage SQL and Host Language
Interface (IFAM2) programs executed in batch, as well as the
BATCH2 utility program.
Fast/Cram consumes considerably less system resources
than CRAM. Each call is between 10 and 200 times faster when
compared to CRAM. Total CPU savings range from 20% to 70%
depending on the application. CPU savings of 50% are often
reported for CICS users. A SAGE user experienced a 50%
reduction in one four-hour daily SAGE job. Similar
improvements might be achieved in heavy-hitting COBOL jobs
using IFAM2 or Advantage SQL.
Fast/Cram is more secure and more reliable than the
version of CRAM distributed with Model 204. It can work
alongside that, but being plug-compatible it can replace it
to provide maximum performance for your CRAM processing
needs.
Technical Background
Some may wonder about the technical underpinnings of the
product, which make it not only compatible but even superior
in several ways to the Model 204-provided CRAM.
Fast/Cram doesn't require subtasks. This removes the
single-threading of CRAM OPEN and CLOSE and dramatically
reduces the overhead encountered by CICS when many CRAM
connections with Model 204 are active.
Fast/Cram makes extensive use of SRB routines. These
routines take full advantage of multiple-processor complexes
such as the IBM 3090.
Fast/Cram is totally compatible with MVS and MVS/ESA. All
storage is allocated "above the line". 31-bit application
programs are fully supported.
Fast/Cram is reliable. Extensive use of MVS recovery
facilities ensures that Fast/Cram has no "hanging states" or
integrity exposures. Fast/Cram to the installation
responsibilities for MVS integrity as outlined by IBM. All
work areas are in key zero storage; data buffers are fetch
protected; and all user-provided parameters are validated.
Storage Usage
Fast/Cram allocates storage in three distinct areas: CSA,
SQA, and the private area. All of this storage is "above the
line" in MVS/XA and MVS/ESA systems.
SQA
Fast/Cram allocates SQA space only when Model 204 is
initialized. The amount of SQA storage allocated for a Model
204 online depends on parameters specified for the job. Each
Model 204 online may establish up to three CRAM channels.
One channel is for any host language threads (IODEV=23);
another channel is for any full-screen remote threads
(IODEV=11); and a third channel is for any non-full screen
remote threads (IODEV=29). SQA storage for each CRAM channel
is allocate din a contiguous block when the channel is
opened, and freed when the channel is closed. Channel open
generally corresponds to Model 204 initialization, while
channel close generally corresponds to Model 204
termination. Essentially, the SQA usage is 560 bytes per
possible user.
CSA
Fast/Cram allocates CSA space for data buffers. This
space is fetch-protected, unlike the space allocated by
CRAM. This provides increased data security by preventing
unauthorized users from examining Model 204 data streams
which may contain passwords and other sensitive data.
Fast/Cram data buffers are not allocated when a channel
is opened. Instead, they are allocated the first time that a
particular connection is used. Fast/Cram data buffers are
only freed when the channel is closed, typically
corresponding to Model 204 termination. Thus, the number of
Fast/Cram data buffers allocated is determined by the high
water mark for the number of concurrent users. CRAM
allocates data buffers the same way, and they are the same
size.
Private Area
Each Fast/Cram private work area is 136 bytes long, and
is allocated from subpool 252 with key zero. One work area
is allocated in the Model 204 region for each Fast/Cram
channel open. This work area is freed when the Fast/Cram
channel is closed. No other private area storage is
allocated or freed by Fast/Cram.
One Fast/Cram work area is allocate din the application
region each time a cram connection is established. This area
is freed when the connection is broken. Individual Fast/Cram
data transfer calls do not allocate or free storage.
Coexistence Considerations
Fast/Cram may be installed and used in parallel with
CCA's CRAM. However, successful coexistence requires that
the correct operational procedures be carefully followed.
Simplicity agues fore just one version of CRAM. Using two
versions of CRAM will require two separate SVC numbers and
two separate subsystem names.
Installation Requirements
Fast/Cram executes within the IBM operating systems:
MVS/SP Version 1 (MVS/370), MVS/SP Version 2 (MVS/XA), and
MVS/ESA Version 3 (MVS/ESA). One set of modules supports all
of these system types.
Fast/Cram comprises a single SVC load module and an
interface module. The SVC load module may be installed as a
Type 2, Type 3, or Type 4 SVC. The interface module may be
installed in the Link Pack Area (LPA), or a private library,
and need no be authorized.
Fast/Cram requires a subsystem name, reserved through an
entry in an IEFSSNxx member of SYS1.PARMLIB. Both Fast/Cram
modules are totally re-entrant and refreshable and do not
need to be fixed in real storage. The SVC load module always
executes in 31-bit addressing mode under MVS/XA and MVS/ESA.
The interface load module executes in the addressing mode of
its callers.
If your applications or software mix makes heavy use of
the Model 204 cross region communications facilities you
should seriously consider testing Fast/Cram.