In this section: |
HiperFOCUS comprises a group of related features that accelerate FOCUS processing by improving file management performance and controlling resources. These features are:
HiperFOCUS enhances file management operations by making use of hiperspaces to reduce I/O and provide additional memory. These enhancements accelerate application performance.
z/OS hiperspaces are page-addressable memory that supplement the primary address space.
z/VM hiperspaces are page-adressable storage spaces that supplement the virtural machine’s main memory.
Exploiting these memory facilities avoids writing to disk, thereby saving significant I/O time. It also makes more virtual memory available, and transfers data to and from central storage faster.
The HiperBudget feature of HiperFOCUS on z/OS regulates the use of expanded storage on a system-wide basis. This feature requires that the IBI Subsystem be installed. For information on the subsystem, consult your FOCUS installation guide.
System administrators and application developers can take advantage of the HiperFOCUS options and configuration settings. End users need only activate HiperFOCUS to take advantage of its capabilities.
How to: |
To use any HiperFOCUS feature, HiperFOCUS must be installed and activated. Once it has been installed, you can activate and deactivate it using the SET HIPERFOCUS command.
If HiperFOCUS is not installed, the SET HIPERFOCUS command is disabled.
You can determine if HiperFOCUS is installed and active by issuing a query command. You can also query the HiperFOCUS facility from Dialogue Manager using the system variable &HIPERFOCUS. This four-character variable has the value ON if HiperFOCUS is installed and active; otherwise, it has the value OFF.
SET HIPERFOCUS = {ON|OFF}
where:
Activates HiperFOCUS. This is the default.
Deactivates HiperFOCUS.
Reference: |
HiperFOCUS is installed and configured using SET parameters. These commands must be set in the FOCPARM profile. You can install HiperFOCUS by simply adding SET HIPERINSTALL=ON to the FOCPARM entries and accepting the defaults. However, since this would not establish limits on the number of hiperspaces that FOCUS could create, establishing operating limits using the HiperFOCUS SET parameters is strongly recommended. For details on these parameters, see HiperFOCUS Installation and Configuration Parameters.
When installing on z/VM, HiperFOCUS also requires an XC mode virtual machine. To establish XC mode, issue the following command and then re-IPL CMS:
CP SET MACHINE XC
Once HiperFOCUS has been configured, the end user can activate or deactivate it. No other end-user intervention is required. HiperFOCUS is transparent to normal end-user activity. The only visible change is an increase in application speed.
The following parameters can be set only in the FOCPARM ERRORS file. On z/OS, this file is member FOCPARM of the data set allocated to ddname ERRORS. On CMS, it is the file named FOCPARM ERRORS.
Parameter Name |
Description |
Default Value |
---|---|---|
HIPERINSTALL |
Installs or disables HiperFOCUS. |
OFF |
HIPERSPACE |
Is the number of (4K) pages to aggregate for hiperspace. This is equivalent to the IBI Subsystem TCBLIM parameter. If both are set, the lower is enforced. |
524287 (2GB) |
HIPERFILE |
Is the maximum number of (4K) pages in an individual hiperspace. This is equivalent to the IBI Subsystem FILELIM parameter. If both are set, the lower is enforced. |
524287 (2GB) |
HIPERCACHE |
Determines the default CACHE size in 4K pages when HiperFOCUS is activated. |
256 (1M) |
HIPEREXTENTS |
Determines the permissible number of extents. |
127 |
HIPERLOCKED |
Enables or disables processing of user interface commands such as SET HIPERFOCUS. |
OFF (allows processing) |
How to: Reference: |
On z/OS, the HiperBUDGET facility is installed as part of the IBI Subsystem installation. (The IBI Subsystem provides communication among address spaces running Information Builders products on the same z/OS system.) HiperBUDGET uses the subsystem to regulate and report on the overall use of hiperspace on that system. It accomplishes this by enforcing pre-defined limits on hiperspace consumption set at the system, server, user, and file levels. Limits set at lower levels may never exceed those set at higher levels. HiperBUDGET parameters must be set using the z/OS console or by running a special IBI Subsytem job during installation. For more information on these parameters, see HiperBUDGET Installation Parameters.
The following parameters can be set only in the z/OS console or during IBI Subsytem installation. See your FOCUS installation guide for information.
Parameter Name |
Description |
---|---|
MVSLIM |
Is the maximum number of 4K hiperspace pages for all Information Builders products on the operating system. The value -1 specifies no hiperspace limit checking. |
SERVLIM |
Is the maximum number of 4K hiperspace pages allowed for multiple users on a per server basis. The value -1 specifies no limit/server checking. |
TCBLIM |
Is the maximum number of 4K hiperspace pages/per user. The value -1 specifies no limit/user checking. This is equivalent to the FOCPARM HIPERSPACE parameter. If both are set, the lower is enforced. |
FILELIM |
Is the maximum number of 4K hiperspace pages per individual file. The value -1 specifies no limit/file checking. (This is equivalent to the FOCPARM HIPERFILE parameter. If both are set, the lower is enforced.) |
The ? HBUDGET query shows the Hiperspace limits specified and actual utilization statistics, including: limits set at the system, server, user and file levels; the number of busy pages; the number of hiperextents allowed; and the ddnames and sizes of files allocated in hiperspace or spilled to disk.
>? HBUDGET Total system limit is not set Total server limit is not set Total hiperspace limit is not set Single file size limit is 524288 pages Total amount of busy pages is 616 pages Number of extents is set to 127 DDname :Reserved :Hiperspace : Spilled :Spill DDn
In this section: |
FOCUS dynamically allocates certain files to simplify file management. HiperFile allocates each of these files to its own hiperspaces. This eliminates the need to access a disk, which saves much I/O time and makes data transfer to and from central storage faster. Together, these efficiencies reduce elapsed time and make applications run more quickly. If a file is too large to be created in a hiperspace, HiperFile creates it on disk instead.
For a complete list of dynamically allocated files, refer to the default space allocation table in member IBITABLA of the partitioned data set FOCCTL.DATA.
You can override default allocation attributes by explicitly allocating files yourself. If you do so, you can choose to create the file in a hiperspace or on disk using the DYNAM ALLOCATE command. To control the behavior of HiperFOCUS, you must understand the following:
When FOCUS allocates a temporary file in a hiperspace, it first verifies that the file's primary extent does not exceed your site's hiperspace limit. If the primary extent is too large, the file is automatically allocated to disk instead.
To determine if the allocation for a temporary file is within your site's hiperspace limit, you can calculate the file's size, in 4096-byte pages, using a formula. A hiperspace can be up to two gigabytes. However, your site may have specified smaller limits in one of the following ways:
If you use tracks as your allocation unit, the syntax is
pages=(primary_extent * 12) + ((secondary_extent * operations) * 12)
If you use cylinders as your allocation unit, the syntax is
pages=(primary_extent * 12 * 15) + ((secondary_extent * operations) * 12 * 15)
where:
Are the number of 4096-byte pages, determined by the result of the formula.
Is the initial amount of space to be allocated.
Is the amount of space to allocate when the previously allocated space is filled.
Is the number of extend operations. The default value is 127, but your site can specify fewer extents when installing HiperFOCUS.
Note: This formula assumes that your storage device has 12 records per track and 15 tracks per cylinder.
On z/OS, HiperFile allocates many of your temporary files to hiperspaces by default. However, you can override default allocations and allocate files on disk rather than in hiperspaces.
When you explicitly allocate a file with the parameter DISP=(NEW,DELETE) for a sequential data set, or DISP=(NEW,DELETE,DELETE) for a partitioned data set, HiperFile verifies that the file's primary extent does not exceed your site's hiperspace limit, and then creates the file in a hiperspace.
To allocate one of these files to disk instead of to a hiperspace, you can do so by including the following DYNAM parameters:
DYNAM ALLOC FILE TEMPDSN SP 5 5 CYL UNIT NOHIPER
DYNAM ALLOC FILE TEMPDSN SP 5 5 CYL UNIT SYSDA HIPER OFF
See the Overview and Operating Environments manual for general FOCUS file allocation instructions.
On z/OS, you can determine where a temporary file is allocated by issuing a query command. The query command returns information including the following:
In some situations you may wish to copy a file from a hiperspace to disk. For example, if you create a series of HOLD files, you may need to save one of them to a permanent data set.
You can copy a file from a hiperspace to disk using the DYNAM COPY command, as described in the Overview and Operating Environments manual.
FOCUS can write pages to disk after exhausting the expanded storage allocation with the HiperFOCUS Spill to Disk feature. This feature, which eliminates error messages associated with inadequate storage, is activated by setting the TRACKIO parameter to ON.
To check on how many pages are in expanded storage and how many were spilled to disk, issue the ? HBUDGET query command described in How to Query HiperBUDGET Limits and Usage.
Note: To preserve performance gains achieved through HiperFOCUS, we recommend that you allow only 10% of the pages to spill to disk. If you find that over 10% are on disk, ask your system administrator to allocate additional space for expanded storage.
How to: Reference: |
Under CMS, HiperFile enhances file-management performance by creating the temporary FOCUS sort file—FOCSORT FOCTEMP—in a hiperspace instead of on disk. This saves I/O time by avoiding disk access, and also makes data transfer to and from central storage faster. Together, these efficiencies reduce elapsed time and make your applications run faster.
Issue the following command at the FOCUS command prompt:
CMS CP Q SPACES
Hiperspaces can be up to two gigabytes. However, your site may have specified a smaller limit in the following ways:
In this section: |
With HiperFOCUS activated, FOCUS under z/OS creates FOCUS data source cache memory in a hiperspace.
Standard cache memory stores previously-read FOCUS data source pages in virtual memory, buffering the pages between disk and the internal work area named BINS. When a request needs to read a data source page, it first searches for the page in BINS, followed by cache, and finally looks on disk. By avoiding unnecessary disk I/O, cache accelerates your data retrieval. Cache is most effective when you issue several consecutive requests against the same data source, where the later requests access a subset of the fields accessed by the original request.
HiperFOCUS optimizes FOCUS data source buffering by storing cache pages in a hiperspace instead of in the FOCUS address space. This makes additional memory available, enabling you to store more data source pages in cache; it also reduces the amount of disk I/O and speeds the transfer of data from disk to cache. The end result is faster data source access. When cache is stored in a hiperspace, it is referred to as HiperCache.
With HiperFOCUS activated, the default cache buffer size is 256 pages (that is, one megabyte). This differs from standard cache, where the default is 0 pages (that is, cache is turned off). You can change the default for HiperFOCUS cache when HiperFOCUS is installed. You can also control HiperCache in the following ways:
If you turn cache on (SET CACHE = n), but HiperFOCUS is turned off (SET HIPERFOCUS = OFF), the buffer is allocated as standard cache.
When resizing cache (either HiperCache or standard cache), you may wish to wait until all applications have completed. Changing size while cache is active reallocates the cache buffer, discarding all data currently stored there.
The syntax for setting HiperCache and standard cache is
SET CACHE = {0|n}
where:
Allocates no space to cache; cache is inactive. This value is the default.
Is the number of 4K pages of contiguous storage allocated to cache memory. The minimum is two pages; the maximum is determined by the amount of memory available. The default for HiperCache is 256 pages (that is, one megabyte). When CACHE is set to any positive value, the cache facility is on.
In this section: |
If you are responsible for managing system resources, you may wish to control which FOCUS users use HiperFOCUS, and the conditions under which they do so. HiperFOCUS enables you to do this with the HiperRule facility.
HiperRule dynamically controls HiperFOCUS use based on user ID, day, time, FOCUS release, and related information. The HiperRule facility controls HiperFOCUS by the following process:
HiperFOCUS rules provide a powerful and flexible way to manage access.
A rule is a sequence of rule statements. A rule statement can be:
A rule must have at least one ACCEPT statement, and can contain an unlimited number of ACCEPT, REQUIRE, and temporary field statements.
A rule statement can be one of the following
REQUIRE = expression;
or
ACCEPT = expression;
or
tempfield[/format] = expression;
where:
Defines a condition that is sufficient for allowing access to HiperFOCUS. The use of ACCEPT statements is described in Evaluating a HiperRule.
Defines a condition that—if the HiperRule facility evaluates it—is necessary, but not sufficient, for allowing access to HiperFOCUS.
Is the name of the temporary field. It must begin with a letter, and can include any combination of letters, digits, and underscores ( _ ). All letters from A through Z are valid; other letters available in some languages, such as Å and Ç, are not. The name can be up to 66 characters long, and cannot be qualified.
Is the field's format. All formats except TX (text) are supported. The default format is D12.2.
Is any valid expression, as described in the Creating Reports manual.
Rule expressions can also refer to HiperFOCUS environment variables, such as USERID and HOUROFDAY. These environment variables are described in Evaluating a HiperRule.
The following rule permits HiperFOCUS to be used at all times by the site's FOCUS system administrator, and at non-peak times (before 9:00 AM or after 5:00 PM) by everyone else:
ACCEPT = USERID IS 'FOCSYS'; REQUIRE = (HOUROFDAY LE '09') OR (HOUROFDAY GE '17');
The HiperRule facility evaluates rule statements sequentially, beginning with the first statement:
The HiperRule facility permits a user to access HiperFOCUS if all of a rule's evaluated REQUIRE statements are true and at least one of its ACCEPT statements is true. A statement is true when its expression is true.
In some situations, you may find it helpful to create a rule statement that is always true or always false. Because the value 1 represents true, and the value 0 represents false, the following statement is true under all conditions:
ACCEPT = 1;
The following statement is false under all conditions:
REQUIRE = 0;
HiperFOCUS provides the following environment variables to use in rule statements.
Name |
Description |
Format |
Value |
---|---|---|---|
USERNAME |
User ID. |
A8 |
A valid user ID. |
TODAYSDATE |
Current date. |
YMD |
yyyy/mm/dd (If you enter a two-digit year as the value, the century value 19 is assumed.) |
DAYOFWEEK |
Current day of the week. |
A8 |
SUNDAY, MONDAY, TUESDAY, WEDNESDA, THURSDAY, FRIDAY, SATURDAY |
TIMEOFDAY |
Current time. |
A8 |
hh.mm.ss |
HOUROFDAY |
Current hour. |
A2 |
00 - 23 |
OPERATINGSYS |
Operating system. |
A8 |
CMS, TSO, MSO, CRJE (z/OS batch) |
TERMINALTYPE |
Terminal type. |
A8 |
3270 (full-screen mode), TTY (line mode), UNKNOWN |
FOCUSREL |
FOCUS release number. |
A16 |
n.n[n] (for example, 7.2) |
Assume that a user with user ID PGM030 tries to execute an application on April 25, 2001, invoking the following application rule:
ACCEPT = USERID IS 'HFUSER1'; REQUIRE = TODAYSDATE GE '20010425'; REQUIRE = TODAYSDATE LE '20010525'; ACCEPT = USERID IS 'PGM030'; ACCEPT = USERID IS 'PGM040';
The way in which you store a rule depends upon your operating system:
Information Builders |