Querying and updating processor boost information

KR103005682B1Active Publication Date: 2026-08-14INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
KR1020247001455
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-08-05
Filing Date
2022-08-02
Publication Date
2026-08-14
Estimated Expiration
2042-08-02

Smart Images

  • Figure 112024004843100-PCT00005_ABST
    Figure 112024004843100-PCT00005_ABST
Patent Text Reader

Abstract

A query operation is performed to obtain information for a select entity in a computing environment. The information includes boost information for one or more boost features currently available for the select entity. The one or more boost features are used to temporarily adjust one or more processing attributes of the select entity. The boost information obtained from the step of performing the query operation is provided to an accessible location to be used to perform one or more actions that facilitate processing in the computing environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] One or more embodiments of the present invention generally relate to facilitating processing within a computing environment, and in particular, improving such processing. Background Technology

[0002] The performance of a computing environment is based, at least in part, on the performance of processors and / or logical partitions where logical partitioning is supported. For example, various factors, including processor speed and capacity, can be used to determine performance. Processor speed is measured as the number of instructions executed per second by the processor, and processor capacity indicates the potential usage of the processor. The problem to be solved

[0003] As part of an effort to improve the performance of processors, logical partitions, and / or computing environments, processor speed and / or capacity may be tuned. A boost operation is performed to temporarily increase processor speed and / or capacity. A short-duration boost may temporarily increase processor speed and / or capacity (e.g., the ability to temporarily use one or more additional existing processors) for a specified amount of time. A long-duration boost may temporarily increase processor speed and / or capacity for a specified amount of time longer than the amount of time specified for a short-duration boost; a long-duration boost cycle includes a set of related long-duration boosts, such as an initial program load boost or a shutdown boost.

[0004] Since boost operations are used to improve performance, it is beneficial to facilitate the use of boost operations and related processing. means of solving the problem

[0005] The disadvantages of the prior art are overcome, and additional advantages are provided through the provision of a computer program product to facilitate processing within a computing environment. The computer program product comprises one or more computer-readable storage media and program instructions collectively stored in one or more computer-readable storage media to perform a method. The method comprises the step of performing a query operation to obtain information for a select entity of the computing environment. The information includes boost information of one or more boost features currently available for the select entity. The one or more boost features are used to temporarily adjust one or more processing attributes of the select entity. The boost information obtained from the step of performing the query operation is provided at an accessible location to be used to perform one or more actions that facilitate processing in the computing environment.

[0006] The query operation provides details regarding boost information that can be used to monitor performance and / or control the consumption of boost time pools (e.g., recovery process boost time pools) and / or boost cycles.

[0007] As an example, the selection entity includes a logical partition of the computing environment or a processor of the computing environment.

[0008] Additionally, the one or more of the boost features include, for example, a total amount of speed boost time for the select entity and an amount of speed boost time remaining for the select entity. In one example, the query operation provides the ability to know how much speed boost time there is for the select entity and / or how much speed boost time remains for the select entity, which provides the ability to monitor and / or control the consumption of the speed boost.

[0009] In one example, the one or more boost features include, for example, a total amount of capacity boost time for the select entity and an amount of capacity boost time remaining for the select entity. In one example, the query operation provides the ability to know how much capacity boost time there is for the select entity and / or how much capacity boost time remains for the select entity, which provides the ability to monitor and / or control the consumption of capacity boost.

[0010] In one example, the one or more boost features include, for example, a total amount of boost cycles for the select entity and an amount of boost cycles remaining for the select entity. As an example, a boost cycle is a number of boosts, for example, long-duration initial program load or shutdown boosts available for a defined time period. The query operation provides the ability to know how many boost cycles there are for the select entity and / or how many available boost cycles remain for the select entity, which provides the ability to monitor and / or control the consumption of boost cycles.

[0011] In one example, the one or more boost features include, for example, a time until refresh of at least one boost feature of the one or more boost features. The query operation provides the ability to know when one or more features of the boost information (e.g., speed boost time, capacity boost time, multiple boost cycles) should be refreshed, which provides the ability to monitor and / or control the consumption of speed boosts, capacity boosts, and / or boost cycles.

[0012] In one example, at least one boost feature of the computing environment is configured. The configuring step provides at least one limit for the at least one boost feature. The step of configuring one or more boost features improves system performance.

[0013] The step of configuring at least one boost feature includes the step of using one or more adjusted feature amounts obtained from one or more on-demand feature structures to adjust the at least one boost feature. The one or more on-demand feature structures are used to override one or more effective boost limits.

[0014] As an example, one of the above-mentioned on-demand feature structures provides an indication of an additional amount of boost features to be purchased or allocated for selection purposes and an indication of an expiration period for said additional amount.

[0015] Computer implementation methods and systems related to one or more embodiments are also described and claimed herein. Additionally, services related to one or more embodiments may also be described and claimed herein.

[0016] Additional features and advantages are realized through the techniques described herein. Other embodiments and features are considered to be part of the embodiments described in detail and claimed herein. Brief explanation of the drawing

[0017] One or more embodiments are specifically described and explicitly claimed as examples of the claims in the conclusion of the specification. The foregoing contents, purposes, features, and advantages of one or more embodiments of the present invention are apparent from the following detailed description taken together with the accompanying drawings: FIG. 1a illustrates an example of a computing environment for including and using one or more embodiments of the present invention; FIG. 1b illustrates an example of additional details of the memory of FIG. 1a according to one or more embodiments of the present invention; FIG. 1c illustrates another example of additional details of the memory of FIG. 1a according to one or more embodiments of the present invention; FIG. 1d illustrates additional details of the processor of FIG. 1a according to one or more embodiments of the present invention; FIG. 2 illustrates an example of performing a query operation to obtain boost information according to one or more embodiments of the present invention; FIG. 3 illustrates an example of a diagnostic command used to perform a query operation according to one or more embodiments of the present invention; FIG. 4 illustrates an example of an information block obtained through a query operation according to one or more embodiments of the present invention; FIGS. 5a-5f illustrate examples of registers used by the diagnostic command of FIG. 3 based on a selection function code, according to one or more embodiments of the present invention; FIG. 6a illustrates an example of an on-demand feature structure for a short-term boost according to one or more embodiments of the present invention; FIG. 6b illustrates an example of processing related to the on-demand feature structure of FIG. 6a according to one or more embodiments of the present invention; FIG. 7a illustrates an example of an on-demand feature structure for long-term boost cycles according to one or more embodiments of the present invention; FIG. 7b illustrates an example of processing related to the on-demand feature structure of FIG. 7a according to one or more embodiments of the present invention; FIG. 8a illustrates an example of a command to read SCP (system configuration parameters) information according to one or more embodiments of the present invention; FIGS. 8b-8c illustrate examples of system configuration control blocks of the SCP information read command of FIG. 8a according to one or more embodiments of the present invention; FIGS. 9a-9b illustrates an example of facilitating processing within a computing environment according to one or more embodiments of the present invention; FIG. 10 illustrates another example of a computing environment for integrating and using one or more embodiments of the present invention; FIG. 11a illustrates another example of a computing environment for including and using one or more embodiments of the present invention; FIG. 11b illustrates additional details of the memory of FIG. 11a according to one or more embodiments of the present invention; FIG. 12 illustrates an embodiment of a cloud computing environment according to one or more embodiments of the present invention; and FIG. 13 illustrates an example of abstraction model layers according to one or more embodiments of the present invention. Specific details for implementing the invention

[0018] According to one or more embodiments of the present invention, a capability to facilitate processing within a computing environment is provided. As an example, a query capability is provided to obtain information related to one or more select entities (e.g., logical partitions, processors, etc.) of the computing environment. The obtained information includes, for example, boost information of one or more boost features currently available for at least one select entity of the computing environment. As examples, the boost information includes various boost times and / or boost cycles for processor speed and / or capacity (e.g., use of additional existing processors). As specific examples, boost information includes information related to one or more of the following features: a total amount of speed boost time, an amount of speed boost time remaining, the time until refresh of the boost information (e.g., the time of short-term and / or long-term boost cycles), a total amount of capacity boost time (e.g., the total amount of time available for additional and temporary use of one or more existing processors in the system), an amount of capacity boost time remaining, a total amount of boost cycles and / or the amount of remaining boost cycles. Additional, fewer, and / or other examples are also possible.

[0019] The acquired information, including the acquired boost information, may be displayed and / or used to adjust one or more attributes of the selected entity (e.g., logical partition, processor, etc.), such as the processor speed and / or capacity of the selected entity. Additionally, the acquired information may be used in enforcement to ensure that an allowed amount of a boost feature is not exceeded. Other uses are also possible.

[0020] Additionally, in one or more embodiments, the ability to temporarily adjust boost information is provided. In one example, a feature on demand function (or similar function) is provided to enable additional controls and features to be added to the system to extend the capabilities of the system. As an example, the feature on demand function provides one or more feature on demand structures (e.g., records) used to temporarily adjust or configure the limits of one or more boost features. For example, a feature on demand structure may be used to temporarily increase one or more limits of a speed boost time, a capacity boost time and / or a number of boost cycles and / or a time period for boost cycles. Additionally, each feature on demand structure may provide an expiration for the temporary increase of the limits. On-demand feature functions provide configurable limits on features, rather than hardcoded or unspecified limits. Additional, fewer, and / or other examples are possible.

[0021] One embodiment of a computing environment for integrating and using one or more embodiments of the present invention is described with reference to FIG. 1a. For example, the computing environment of FIG. 1a is based on the z / Architecture® instruction set architecture provided by International Business Machines Corporation, Armonk, New York. One embodiment of the z / Architecture instruction set architecture is described in “z / Architecture Principles of Operation,” IBM Publication No. SA22-7832-12, 13th edition, September 2019, the entire contents of which are incorporated herein by reference. However, the z / Architecture instruction set architecture is only one exemplary architecture and / or other types of computing environments of International Business Machines Corporation and / or other entities may include and / or use one or more embodiments of the present invention. z / Architecture and IBM are trademarks or registered trademarks of International Business Machines Corporation in at least one jurisdiction.

[0022] Referring to FIG. 1a, in one example, a computing environment (100) includes a central electronic complex (CEC) (101). The central electronic complex (101) includes one or more processors, such as, for example, one or more general-purpose processors (also known as central processing units (CPUs)) (104) and / or one or more special-purpose processors (106), and a plurality of components, such as, for example, memory (102) (also known as system memory, main memory, main storage, central storage, storage), coupled to an input / output (I / O) subsystem (108).

[0023] In one example, one or more special-purpose processors (106) may be separate from one or more processors (104), dedicated processors coupled to one or more processors (104), and / or integrated into one or more processors (104). As a specific example, the processor (104) is an IBM Z® processor and the processor (106) is a z Systems® integrated information processor provided by International Business Machines Corporation in Armonk, New York. ® It is an Integrated Information Processor. IBM Z and z Systems are trademarks or registered trademarks of International Business Machines Corporation in one or more jurisdictions. Although examples of processors have been provided, other processors provided by International Business Machines Corporation and / or other companies may be used or one or more embodiments of the present invention may be incorporated.

[0024] The I / O subsystem (108) may be part of the central electronic complex or separate from it. This directs the flow of information between the main storage (102), the input / output control units (110), and the input / output (I / O) devices (112) coupled to the central electronic complex.

[0025] Many types of I / O devices may be used. One specific type is a data storage device (114). The data storage device (114) may store one or more programs (116), one or more computer-readable program instructions (118) and / or data, etc. The computer-readable program instructions may be configured to perform the functions of embodiments of the present invention.

[0026] The central electronic complex (101) may include removable / non-removable, volatile / non-volatile computer system storage media and / or may be coupled thereto. The central electronic complex (101) may include, for example, a non-removable, non-volatile magnetic medium (commonly referred to as a “hard drive”), a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a “floppy disk”), and / or an optical disk drive for reading from or writing to a removable, non-volatile optical disk, such as a CD-ROM, DVD-ROM, or other optical media, and / or may be coupled thereto. It should be understood that other hardware and / or software components may be used with the central electronic complex (101). Examples include, but are not limited to: microcode, device drivers, redundancy processing units, external disk drive arrays, RAID systems, tape drives, and data archiving storage systems, etc.

[0027] Additionally, the central electronic complex (101) may operate with a number of other general-purpose or special-purpose computing system environments or configurations. Examples of well-known computing systems, environments, and / or configurations that may be suitable for use with the central electronic complex (101) include, but are not limited to, personal computer (PC) systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments including any one of the above systems or devices.

[0028] The central electronic complex (101) provides logical partitioning and / or virtualization support in one or more embodiments. In one embodiment, as illustrated in FIG. 1b, the memory (102) includes, for example, one or more logical partitions (120), a hypervisor (121) managing the logical partitions, and processor firmware (122). An example of the hypervisor (121) is the PR / SM provided by International Business Machines Corporation, Armonk, New York, USA. TM PR / SM is a (Processor Resource / System Manager). PR / SM is a trademark or registered trademark of International Business Machines Corporation in at least one jurisdiction.

[0029] Each logical partition (120) can function as a separate system. That is, each logical partition can be independently reconfigured and run a guest operating system (123), such as the z / OS® operating system provided by International Business Machines Corporation (Armonk, New York), or other control code (124), such as the CFCC (Coupling Facility Control Code). One or more of the logical partitions may operate with other programs (125). An operating system or application running on a logical partition may appear to have access to a complete and complete system, but in reality, only a part of it may be available. While the z / OS operating system and CFCC are provided as examples, other operating systems provided by International Business Machines Corporation and / or other companies may be used according to one or more embodiments of the present invention. z / OS is a trademark or registered trademark of International Business Machines Corporation in at least one jurisdiction.

[0030] Memory (102) is coupled to CPUs (104) (Fig. 1a), which are physical processor resources that can be allocated to logical partitions. For example, a logical partition (120) may include one or more logical processors, each representing all or a share of physical processor resources (104) that can be dynamically allocated to the logical partition, and / or the logical partition may have one or more processors.

[0031] In another embodiment, the central electronic complex (101) provides virtual machine support (with or without logical partition support). As illustrated in FIG. 1c, the memory (102) of the central electronic complex (101) includes, for example, one or more virtual machines (126), a virtual machine manager such as a hypervisor (127) that manages the virtual machines, and processor firmware (128). An example of a hypervisor (127) is the z / VM® hypervisor provided by International Business Machines Corporation, Armonk, New York. The hypervisor is sometimes referred to as a host. z / VM is a trademark or registered trademark of International Business Machines Corporation in at least one jurisdiction.

[0032] Processor firmware (122) (Fig. 1b), (128) (Fig. 1c) includes, for example, microcode or millicode of the processor. For example, the firmware includes hardware-level and / or data structures used for higher-level machine code implementation. In one embodiment, the firmware includes, for example, trusted software, microcode, or millicode specific to the underlying hardware and includes proprietary code that is typically delivered as microcode or millicode controlling operating system access to the system hardware.

[0033] Virtual machine support in the central electronic complex provides the ability to operate a large number of virtual machines (126) that can each operate with different programs (129) and run a guest operating system (130), such as the Linux® operating system. Each virtual machine (126) can function as a separate system. That is, each virtual machine can be independently reset, run a guest operating system, and operate with other programs. An operating system or application running in a virtual machine appears to have access to a complete and full system, but in reality, only a part of it may be used. While z / VM and Linux are provided as examples, other virtual machine managers and / or operating systems may be used according to one or more embodiments of the present invention. The registered trademark Linux® is used under a sub-license of the Linux Foundation, the exclusive licensee of Linus Torvalds, who owns the trademark worldwide.

[0034] In one example, a processor (e.g., processor (104) and / or processor (106)) includes a plurality of functional components (or a subset thereof) used to execute instructions. As illustrated in FIG. 1d, these functional components include, for example, an instruction fetch component (150) for fetching an instruction to be executed; an instruction decode unit (152) for decoding the fetched instruction and obtaining the operands of the decoded instruction; one or more instruction execution components (154) for executing the decoded instruction; a memory access component (156) for accessing memory for instruction execution if necessary; and a write back component (158) for providing the results of the executed instruction. One or more of the components may access and / or use one or more registers (160) in instruction processing. Additionally, according to one or more embodiments of the present invention, one or more of the components may include or access at least a portion of one or more other components used to perform a query function (or other processing that may use one or more embodiments of the present invention) related to boost information and / or update system capabilities described herein. The one or more other components may include, for example, a query component (170) and / or an update component (172) (and / or one or more other components).

[0035] According to one or more embodiments of the present invention, a query function is provided to obtain boost information for one or more select entities of a computing environment, such as one or more central processing units and / or one or more logical partitions. In one example, the query function is executed by an operating system running on a processor, such as a processor (104), and based on the execution of the query function, boost information for one or more select entities is obtained. In one example, the boost information includes information regarding one or more boost features of multiple boost pools currently available for at least one select entity. The multiple boost pools include, for example, processor speed and capacity, and the boost features include, for example, a total amount of boost time available, a remaining amount of boost time currently available for use; It includes a time until refresh of a select feature (e.g., short-term boost - rate, capacity); a total number of available boost cycles; a number of remaining boost cycles; and / or a time until refresh of long-duration boost cycles.Boost information may be obtained for additional, fewer, and / or other pools, and / or the obtained information may include additional, fewer, and / or other features and / or information. Various variations are possible.

[0036] Further details regarding the query function for obtaining boost information for a selected entity are described with reference to FIG. 2. In one example, a query boost information operation is performed to obtain boost information for a selected entity, such as a central processing unit, a logical partition, etc. (200). For example, based on performing the query operation, one or more of the following boost features are obtained: for example, a total boost time for a selected entity (202), including total speed boost time and total capacity boost time; an indication of when one or more boost pools (e.g., speed, capacity) is going to be refreshed (204); for example, an amount of boost time remaining for speed boost and capacity boost (206). The total number of long-term boost cycles (210); an indication of when the long-term boost cycles will be refreshed (212); and the remaining number of long-term boost cycles (214). Information on additional, fewer, and / or other features may also be obtained.

[0037] The information thus obtained is provided to the software to learn, for example, how much total speed / capacity boost time is available, how many boost times / boost cycles remain, and / or how many additional times / cycles are available (220). The information thus obtained can be used to adjust one or more of the attributes of the selected entity, such as speed and / or capacity. For example, based on the information obtained, a temporary increase in capacity and / or speed may be provided. Such adjustments may be provided, for example, during recovery, shutdown, and / or initial program loading. Additional, fewer, and / or other adjustments may be made.

[0038] In one example, to execute a query function, an instruction such as a Diagnose instruction of the z / Architecture instruction set architecture is executed. However, instructions, functions, or commands of the z / Architecture instruction set architecture or other architectures may be used. The said Diagnose instruction is used by the processor, for example, to execute built-in diagnostic functions or other model-dependent functions. An example of a Diagnose instruction is described with reference to FIG. 3.

[0039] For example, referring to FIG. 3, a diagnostic command (300) comprises one or more opcode fields (302a, 302b) for indicating, for example, a diagnose operation; a register field (R1) (304) for specifying an even register among an even-odd pair of general registers that can be used by said command, for example, as described herein; another register field (R3) (306) for specifying, for example, a function code used by said command; a base field B2 (308); and a displacement field D2 (310), each of which is further described below. In the description of said command in this specification, functions and / or operations of said command, specific locations, specific fields and / or specific sizes of fields are indicated (e.g., specific bytes and / or bits). However, other locations, fields, and / or sizes may be provided. Additionally, setting a bit to a specific value, e.g., 1 or 0, may be specified, but this is merely an example. Once a bit is set, it may be set to another value, e.g., the opposite value or another value. Various variations are possible.

[0040] In one example, based on the completion of the operation, the contents of general registers R1 (304) and R1+1 depend on the function code specified in general register R3 (306). Also, in one example, the contents of the displacement field D2 (310) are added to the contents of the general register specified by the base field B2 (308) to obtain, for example, a 64-bit value. This value is not used to specify the data address. Instead, in one example, bits 0-47 are ignored and bits 48-63 are used as an operation-code extension.

[0041] In one embodiment, in the execution of the diagnostic command (300), based on the fact that the operation code extension is a selected value, the select bits of the general register R3 (e.g., bits 56-63) include a function code (e.g., a binary function code) that specifies the function to be performed.

[0042] Upon completion of the operation, in one example, the contents of general registers R1 and R1+1 depend on the function code specified in general register R3. If the fields of R1 and R3 are equal, the description of the contents of R1 and R1+1 applies to the contents of R3 and R3+1. Otherwise, the values ​​of general registers R3 and R3+1 are not changed even upon completion of the operation.

[0043] In one example, for instance, the function code field at bit positions 56–63 of general register R3 contains an 8-bit unsigned binary integer that can specify a selected function code, such as function code 8 specifying a query system recovery boost information block function. Additional and / or other functions may be specified by selected function codes:

[0044] An example of processing related to function code 8 (the query system recovery boost information block) is described here. In one example, if general register R3 contains a select query function code (e.g., 8), the machine provides, for example, information about pools of recovery process boost time for each of the two boost types (speed boost, capacity boost), information for a number of long duration boost cycles, and the time until the number of long duration boost cycles count is reset. In other examples, information about additional, fewer, and / or other pools is provided. Additionally, additional, fewer, and / or other information may be provided.

[0045] As an example, this information is obtained from one or more locations that include, but are not limited to, on-demand structures (e.g., records) or one or more features of other structures described herein. Additionally, in one example, the information is for each logical partition. As an example, counters are provided for each logical partition (or a subset thereof).

[0046] In the operation of function code 8, the information block is stored at a logical address specified by the contents of general register R3+1. The address is generated under the control of the current addressing mode. The address is specified, for example, at a 4K-byte boundary. The length of the specified information block is, for example, 4K-bytes.

[0047] When the operation is completed, in one example, the following applies:

[0048] The select bits (e.g., bits 0-47) of the general register R1+1 are set to, for example, 0s.

[0049] The select bits (e.g., bits 48-63) of the general register R1+1 contain a response code (e.g., 16 bits).

[0050] An example of an information block is described with reference to FIG. 4. In one example, the information block is used for recovery and is therefore called the Query System Recovery Boost Information Block. The queried values ​​reflect, for example, an amalgamation of provided default values. These values ​​can be overridden (e.g., replaced or increased) through limitations provided by feature-on-demand structures, for example, described below. However, a similar information block may be used for non-recovery processes, such as shutdown, initial program load, etc. An example of a Query System Recovery Boost Information Block (400) includes, for example, the following:

[0051] Time until Refresh Short Duration Boost (402): Time remaining in the current 24-hour period (or other time period) until the current pool of boost times (e.g., recovery process boost times) for speed boost and capacity boost is refreshed. The stored value has the same format as bits 0-63 of the Time-of-Day (TOD) clock, for example.

[0052] Remaining Speed ​​Boost Time (404): The amount of time remaining in the current 24-hour period (or other time period) for the boost time for speed boost (e.g., recovery process boost time). The stored value has the same format as bits 0-63 of the Time-of-Day (TOD) clock, for example.

[0053] Total Speed ​​Boost Time (406): The total amount of speed boost time (e.g., recovery process speed boost time) includes the available default amount of speed boost time (e.g., recovery process speed boost time) and the sum of additionally purchased (or other) speed boost time during the current 24-hour period (or other time period). This is set, for example, at the start of the current 24-hour period (or other time period), and the value is stored, for example, in minutes. Other variations are also possible.

[0054] Remaining Capacity Boost Time (408): The amount of time remaining in the current 24-hour period (or other time period) for a boost time (e.g., recovery process boost time) for a capacity boost (e.g., a special-purpose processor (e.g., a z Systems Integrated Information Processor) boost). The stored value has the same format as bits 0-63 of the Time-of-Day (TOD) clock, for example.

[0055] Total Capacity Boost Time (410): The total amount of capacity boost time (e.g., recovery process special-purpose processor boost time) includes the available default amount of capacity boost time and the sum of additional capacity boost time purchased (or other) during the current 24-hour period (or other time period). This is set, for example, at the beginning of the current 24-hour period (or other time period), and the value is stored, for example, in minutes. Other variations are possible.

[0056] Time Until Refresh Long Duration Boost Cycles (412): The amount of time remaining until the remaining number of long-duration boost cycles is reset to the maximum number of allowed long-duration boost cycles. The stored value has the same format as, for example, bits 0-63 of the Time-of-Day (TOD) clock.

[0057] Total Number of Long Duration Boost Cycles (414): an integer value, for example, an integer value providing the maximum number of long duration boost cycles allowed per time period. A boost cycle includes, for example, a set of long duration boosts within an initial program load.

[0058] Remaining Number of Long Duration Boost Cycles (416): an integer value, for example, an integer value providing the current number of available long duration boost cycles per time period. A boost cycle includes, for example, a set of long duration boosts within an initial program load. The count is decremented for, for example, the first successful long duration boost of the initial program load.

[0059] Specific time periods have been provided as examples, but other time periods may be provided in other examples.

[0060] A summary of the general registers used in the selection query function code (e.g., function code 8) of the above diagnostic command is illustrated in FIGS. 5a-5f as examples:

[0061] In FIG. 5a, a general register R3 (500) is shown, wherein the contents prior to the execution of function code 8 include the function code (512) (e.g., bits 56-63) and the ignored bits (514) (e.g., bits 32-39);

[0062] In FIG. 5b, a general register R3 (520) is shown, where the contents of function code 8 upon completion are not changed if, for example, R3 is not equal to R1.

[0063] In FIG. 5c, a general register R3+1 (540) is shown, where the contents prior to the execution of function code 8 include a logical address (542) (e.g., bits 0-63);

[0064] In FIG. 5d, a general register R3+1 (550) is shown, wherein the contents upon completion of the query function are not changed if, for example, R3 is not equal to R1;

[0065] In FIG. 5e, a general register R1 (560) is shown, the contents of which are not changed upon completion of the query function. And

[0066] In FIG. 5f, a general register R1+1 (580) is shown, which contains the contents upon completion of function code 8, including a response code (582) (e.g., bits 48-63) and zeros (e.g., bits 0-47).

[0067] Each register may contain additional, fewer, and / or other information. Additionally, information may be stored at various locations (e.g., bits) within the registers. Many variations are possible.

[0068] As described herein, a query function is provided that enables obtaining boost information (e.g., boost time—total, remaining, refresh time, etc. and / or boost cycles) for various types or pools of boost (e.g., rate and / or capacity). The boost time is, for example, for a short boost; however, in other embodiments, the boost time may be for a short boost, a long boost, and / or a combination of short and long boosts. As examples, the information indicates the following: how long before the counters for the different pools for boost time will be reset; The total amount of boost time available; the remaining amount of boost time currently available for use; how long before the counters for the different pools for boost cycles will be reset; a total number of boost cycles available for boost; and / or the remaining number of boost cycles currently available for use. Additional, fewer, and / or other information may be obtained for one or more boost pools (e.g., rate and / or capacity). Additionally, there may be additional, fewer, and / or other pools.Additionally, the information may be separated by short-term and long-term boosts, or combined in other embodiments. Various variations may exist. The acquired information may be used to facilitate software planning regarding, for example, the display of information; the enforcement of provided restrictions; and, for example, the use of temporary processor (e.g., central processing unit) capacity updates, the use of temporary processor (e.g., central processing unit) speed updates, and the use of boost cycles.

[0069] In additional embodiments, one or more on-demand features are provided to temporarily adjust processor capacity limits (e.g., the ability to temporarily use one or more other existing processors for a workload) and / or on-demand rate boost times. For example, according to one or more embodiments of the present invention, a feature is provided to increase short-term boost limit(s) so that the processor may have an additional amount of short-term boost time. These limits are enforced, for example, by firmware. The on-demand features may enable, for example, a change, update, or refresh:

[0070] Purchase of additional short-term boost time that may be priced;

[0071] Having additional short-term boost time that can be used for test purposes;

[0072] Update short-term boost time and set it to the maximum available value (e.g., Free + Purchased / Test / Other);

[0073] Short-term boost times (e.g., Free + Purchased / Test / Other) can be refreshed in terms of time periods, e.g., calendar time (e.g., per 24-hour period); and

[0074] It has an expiration for additional short-term boost time purchased in terms of a time period, e.g., calendar time (e.g., per 24-hour period).

[0075] Additional, fewer, and / or other features may be provided. Additionally, features may be provided for reasons other than testing or purchase. Furthermore, different time periods may be used. Many variations are possible.

[0076] As described herein, according to one or more embodiments of the present invention, a facility is provided for having an additional amount of short-term boost time that may be purchased and allocated for testing purposes and / or acquired for one or more other reasons. Additionally, in one or more embodiments of the present invention, a facility is provided for resetting pools of short-term boost time (e.g., counters) to a maximum available value (e.g., free + purchased / tested; free + other). Additionally, in one or more embodiments of the present invention, a feature is provided for setting the expiration time of the short-term boost pool in terms of a time period, e.g., calendar time (e.g., per 24-hour period or other selected period).

[0077] To provide one or more of the above features, a feature-on-demand structure is provided to override (e.g., replacement, increase, etc.) the amount of valid boost time (e.g., free recovery process boost time) with additional time (e.g., free + purchased / tested; free + other; etc.). The feature-on-demand is, for example, an extension to the firmware that provides a mechanism to configure, define, and control access to firmware capabilities. It is, for example, an extension of an asset control structure provided by the Licensed Internal Code Configuration Control structure. Each feature-on-demand structure has a basic structure that includes, for example, N bytes of control data and a fixed amount of data associated with the following feature. The control data includes, for example, information that uniquely identifies the feature, a method for processing the feature by firmware, and the format and length of the data to follow.

[0078] In one example, a processor manufacturer builds one or more structures that provide various features. As an example, firmware may replace one or more structures to provide additional, fewer, and / or different features.

[0079] An example of a feature on demand structure for a short-term boost is illustrated in FIG. 6a. As illustrated, the feature on demand structure (600) includes, for example, control data (602) (e.g., N bytes) for indicating whether the additional time (604) is for additional speed boost minutes and / or capacity boost minutes, the additional time (604) (e.g., 2 bytes), and an expiration date (606) (e.g., 8 bytes). Other variations are possible, including but not limited to additional, fewer, and / or other information and / or other sizes for the fields.

[0080] In one example, referring to FIG. 6b, an on-demand structure (600) is obtained (620) indicating, for example, an additional speed boost (e.g., recovery process speed boost) in minutes (624) and / or an additional capacity boost (e.g., recovery process special-purpose processor boost) in minutes (626). Units of time other than minutes may also be used; minutes are just one example. The information thus obtained is provided to, for example, firmware, and the firmware can change the limits and enforce limits on how much boosting can be performed (e.g., by software) (628). As an example, the amount of speed boost time and / or capacity time may be increased, for example, for a specified amount of time.

[0081] In another embodiment, one or more on-demand features are provided to temporarily provide an additional number of boost cycles (e.g., long-term boost cycles). In one example, an on-demand feature is provided to temporarily provide an additional number of long-term boost cycles per selected entity (e.g., logical partition) for a certain period of time. For example, according to one embodiment of the present invention, a feature is provided, as an example, to allow a processor to have an additional number of long-term boost cycles or to allow a processor to have an additional number of long-term boost cycles per logical partition for a certain period of time. For example, one or more features may enable the following change, update, or refresh:

[0082] Purchase of additional long-term boost cycles that can be priced;

[0083] Having an additional number of long-term boost cycles that can be used for testing purposes;

[0084] Having a proposal to provide an additional number of long-term boost cycles that can be used for an offering (e.g., a stress test (or other) proposal), a validation solution, other testing, etc.;

[0085] Update the number of long-term boost cycles and set it to the maximum available value (e.g., default (or valid) + purchased / tested / offered / other) in terms of the time period, e.g., calendar time (e.g., 30-day period or other time period); and

[0086] Having expirations for multiple long-term boost cycles in terms of a time period, e.g., calendar time (e.g., a 6-month period or other time periods).

[0087] Additional, fewer, and / or other features may be provided. Additionally, features may be provided for reasons other than testing or purchase. Each feature may have an associated expiration date. Furthermore, different time periods may be used. Various variations are possible.

[0088] As described herein, according to one or more embodiments of the present invention, the ability to have an additional number of long-term boost cycles is provided, for example. By example, the ability may include one or more of the following: a feature to purchase (or acquire) an additional number of long-term boost cycles that may be priced; a feature to have an additional number of long-term boost cycles that may be used for testing (or other) purposes; and / or, by example, a proposal to provide an additional number of long-term boost cycles that may be used for stress testing (or other) proposals (e.g., IBM Z systems), verification solutions, and / or other testing. Also, in one or more embodiments of the present invention, the ability to reset counters for a number of long-term boost cycles and set each to the maximum available value (e.g., free + purchased / tested / proposed / other). Also, in one or more embodiments of the present invention, a feature to set an expiration time for a pool of long-term boost cycles in terms of a time period, for example, a calendar time (e.g., a 30-day period, per other time period). In another example, the ability to change the expiration time for a pool of long-term boost cycles is provided.

[0089] To provide one or more of the above features, an on-demand feature structure (or other structure) is provided to allow an additional number of long-term boost cycles (e.g., purchased / tested / provided / etc.). An example of an on-demand feature structure for boost cycles is illustrated in FIG. 7a. As illustrated, the on-demand feature structure (700) includes, for example, control data (702) (e.g., N bytes), the number of allowed boost cycles (704) (e.g., 2 bytes), and a refresh period (706) (e.g., 2 bytes). The refresh period (706) provides, for example, a time period for consuming a number of allowed boost cycles as well as a period during which the replenish value available in the field (704) can be used. For example, if the field (704) has a value of 10 representing a maximum of 10 boost cycles to consume, the refresh period (706) represents a time period (e.g., 30 days) for consuming 10 boost cycles, and these can be supplemented with values ​​available in the fields (704) after that time (e.g., after 30 days).

[0090] In one example, referring to FIG. 7b, an on-demand feature structure (700) is obtained (720), which indicates, for example, the number of long-term boost cycles (722) and / or the time period for the long-term boost cycles (e.g., days, etc.) (724). The information thus obtained can be provided, for example, to firmware and used to update limits and enforce limits regarding how much boosting can be performed (e.g., by software) (726). For example, the number of cycles and / or the period of cycles can be increased. In one or more embodiments, a mechanism is provided, for example, to provide an additional number of boost cycles having expiration limits used for multiple temporary processor (e.g., central processing unit capacity, speed) updates capable of upgrading the pricing model or using another model.

[0091] In one example, a Read SCP (System Configuration Parameters) Information command provides, for example, additional (e.g., purchased / tested / other) speed boost minutes, additional (e.g., purchased / tested / other) capacity boost minutes (e.g., special-purpose processor boost minutes), and / or additional boost cycles.

[0092] An example of a Read SCP (System Configuration Parameters) Information command is described with reference to FIG. 8a. As an example, the Read SCP Information command (800) includes an operation code field (802) and a command class code field (804) that specify a system configuration parameter reading operation. During the operation, the Read SCP Information command reads system configuration parameters stored in a system configuration control block, which includes boost information for on-demand feature structures, according to one or more embodiments of the present invention.

[0093] An example of a portion of a System Configuration Control Block is described with reference to FIG. 8b. In one example, the System Configuration Control Block (810) includes the information of the feature on demand record described with reference to FIG. 6a-6b, for example, providing updated limits provided and enforced by the firmware. As an example, the System Configuration Control Block (810) includes additional speed boost minutes (e.g., recovery process speed boost) (812), additional capacity (e.g., recovery process special-purpose processor) boost minutes (814), an expiration date (816) for the additional speed boost minutes, and an expiration date for the additional capacity boost minutes (818) (each of the fields (816, 818) has a format similar to, for example, bits 0-63 of a TOD (a time-of-day) clock). Additional, fewer, and / or other information may be provided.

[0094] According to one or more embodiments of the present invention, the boost time counters are reset to the maximum available value (e.g., free + purchased / test / other) at fixed time intervals (e.g., 24-hour intervals or other time intervals). The set expiration time is used for the boost pool in terms of time intervals, e.g., calendar time (e.g., 24-hour intervals or other time intervals). The purchased / test / other feature on demand structures may also have an expiration (e.g., 1 month, 3 months, or any selected amount of time within any selected time interval). Additional (e.g., purchased / test / other) boost time (e.g., minutes) is set to, for example, 0 when the on-demand feature expires.

[0095] Another example of a part of the system configuration control block is described with reference to FIG. 8c. In one example, the system configuration control block (820) includes information of an on-demand feature record described with reference to FIG. 7a-7b, for example, which provides updated limits regarding boosting configured and enforced by the firmware. As an example, the system configuration control block (820) includes the number of long-term boost cycles (822) and the time period (days or other period) (824) for the long-term boost cycles. Additional, fewer, and / or other information may be provided.

[0096] In another example, a PC Call command is used to obtain information instead of the SCP Information Read command. Other variations are also possible.

[0097] As described in this specification, in one or more embodiments, a facility is provided to update the amount of boost time based on on-demand feature structures that can be applied simultaneously, for example.

[0098] Additionally, in one or more embodiments, a capability is provided to monitor and allow the development of various techniques for controlling the consumption of boost time and / or boost cycles. For example, one or more changes may be made based on a query to ensure the proper use of provided / available boosts.

[0099] In one example, pools for boost times provide additional granularity, such as providing standard data (e.g., de facto short boost times, de facto long boost times / cycles, etc.) indicating purchased or other boost times. Other variations are also possible.

[0100] One or more embodiments of the present invention are inseparably connected with computer technology and facilitate in-computer processing to improve performance. Performance is improved by obtaining information regarding boost times / boost cycles and being able to adjust the number of one or more times / cycles on demand.

[0101] In relation to one or more embodiments of the present invention, additional details of an embodiment that facilitates processing within a computing environment are described with reference to FIGS. 9a-9b.

[0102] Referring to FIG. 9a, a query operation is performed to obtain information for a select entity in a computing environment (900). The information includes boost information for one or more boost features currently available for the select entity (902). The one or more boost features are used to temporarily adjust one or more processing attributes of the select entity (904). The boost information obtained from the step of performing the query operation is provided to an accessible location (906) to be used to perform one or more actions that facilitate processing in the computing environment.

[0103] Query operations provide details regarding boost information that can be used to monitor performance and / or control the consumption of boosts and / or boost cycles.

[0104] As examples, the one or more of the boost features are used to temporarily adjust the speed of the processor of the selected entity or the selected entity itself and / or, for example, to provide additional capacity to the selected entity by using an existing special-purpose processor used to perform the work of the selected entity.

[0105] Additionally, in one or more examples, the one or more actions include the step of monitoring the use of the one or more boost features and / or the step of controlling the consumption of the one or more boost features.

[0106] For example, the selection entity may include a logical partition of the computing environment (908) or a processor of the computing environment (910). Other selection entities are also possible.

[0107] Additionally, the one or more boost features include, for example, a total amount of speed boost time for the select entity and an amount of speed boost time remaining for the select entity (912), a total amount of capacity boost time for the select entity and an amount of capacity boost time remaining for the select entity (914), a total amount of boost cycles for the select entity and an amount of boost cycles remaining for the select entity (916), and / or a time until refresh of at least one boost feature of the one or more boost features (918). Additional, fewer and / or other boost features are also possible.

[0108] In one example, the query operation provides the ability to determine how much speed boost time there is for the selected subject and / or how much remaining speed boost time there is for the selected subject, which provides the ability to monitor and / or control the consumption of the speed boost.

[0109] In one example, the query operation provides the ability to determine when one or more features of the boost information (e.g., rate, capacity, cycles) need to be refreshed, which provides the ability to monitor and / or control the consumption of rate boosts, capacity boosts, and / or boost cycles.

[0110] In one example, the query operation provides the ability to determine how much capacity boost time there is for the selected entity and / or how much capacity boost time remains for the selected entity, which provides the ability to monitor and / or control the consumption of capacity boost.

[0111] In one example, the query operation provides the ability to determine how many boost cycles there are for the selected entity and / or how many available boost cycles remain for the selected entity, which provides the ability to monitor and / or control the consumption of boost cycles.

[0112] Referring to FIG. 9b, in one example, at least one boost feature of the computing environment is configured (920). The configuring step provides at least one limit for the at least one boost feature. The step of configuring one or more boost features improves system performance.

[0113] The step of configuring at least one boost feature comprises using one or more adjusted feature amounts obtained from one or more on-demand feature structures to configure the at least one boost feature (922). The one or more on-demand feature structures are used to override one or more effective boost limits (924).

[0114] As an example, one of the above on-demand feature structures provides an indication of an additional amount of boost features to be purchased or allocated for selection purposes and an indication of an expiration period for said additional amount (926).

[0115] Other variations and embodiments are possible.

[0116] In one or more embodiments, a technique is provided to query boost information regarding one or more boost features. For example, these boost features may be used for an initial program load boost (e.g., providing an increase in speed / capacity during initial program loading), a shutdown boost (e.g., providing an increase in speed / capacity during shutdown), and / or a recovery process boost (e.g., providing an increase in speed / capacity during recovery processing). In one or more embodiments, a technique is provided to control the amount of boost and / or boost cycles available to a selected subject over a certain period of time.

[0117] In one embodiment, additional computing capacity is allocated to a single computing resource, as an example (e.g., to increase the capacity of a processor or logical partition and / or increase the speed of a single computing resource). This can be applied to increase the capacity and / or speed of a selected number (including all) of processors or logical partitions, as available and desired.

[0118] Embodiments of the present invention may be used by many types of computing environments. Another example of a computing environment for integrating and using one or more embodiments of the present invention is described with reference to FIG. 10. As an example, the computing environment of FIG. 10 is based on the z / Architecture® instruction set architecture supplied by International Business Machines Corporation, Armonk, New York, USA. However, the z / Architecture instruction set architecture is merely one example architecture. Again, the computing environment may be based on other architectures, including but not limited to the Intel® x86 architecture, other architectures of International Business Machines Corporation and / or architectures of other companies. Intel is a trademark or registered trademark of Intel Corporation or its subsidiaries in the United States and other countries.

[0119] Referring to FIG. 10, in one example, a computing environment (1000) includes, for example, a computer system (1002) illustrated in the form of a general-purpose computing device. The computer system (1002) may include, but is not limited to, one or more processors or processing units (1004) (e.g., central processing units (CPUs)), one or more special-purpose processors (1005), memory (1006) (e.g., system memory, main memory, main storage, central storage, or storage), and one or more input / output (I / O) interfaces (1008) coupled to one or more buses and / or other connections. For example, processors (1004, 1005) and memory (1006) are connected to I / O interfaces (1008) via one or more buses (1010), and processors (1004, 1005) are coupled to each other via one or more buses (1011). In another example, a processor (1005) may be integrated into one or more processors (1004).

[0120] The bus (1011) is, for example, a memory or cache coherence bus, and the bus (1010) represents one or more of various types of bus structures, which include a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any one of various bus architectures. For example, such architectures include, but are not limited to, the Industry Standard Architecture (ISA), Micro Channel Architecture (MCA), Enhanced ISA (EISA), Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI).

[0121] Memory (1006) may include a cache (1012), such as a shared cache, which can be coupled to the local caches (1014) of processors (1004), for example, and to the processor (1005) via one or more buses (1011). Additionally, memory (1006) may include one or more programs or applications (1016) and an operating system (1018). An exemplary operating system includes the z / OS® operating system provided by International Business Machines Corporation, Armonk, New York. Other operating systems provided by International Business Machines Corporation and / or other entities may also be used. Memory (1006) may also include one or more computer-readable program instructions (1020) and processor firmware (1022) that can be configured to perform the functions of embodiments of the present invention.

[0122] The computer system (1002) may communicate with one or more external devices (1030), such as a user terminal, tape drive, pointing device, display, etc., and one or more data storage devices (1034), etc., through I / O interfaces (1008), for example. The data storage device (1034) may store one or more programs (1036), one or more computer-readable program instructions (1038) and / or data, etc. The computer-readable program instructions may be configured to perform the functions of embodiments of the present invention.

[0123] The computer system (1002) can also communicate with a network interface (1032) through, for example, I / O interfaces (1008), and the network interface (1032) enables the computer system (1002) to communicate with one or more networks, which include, for example, a LAN (Local Area Network), a general WAN (Wide Area Network), and / or a public network (for example, the Internet), and provides communication with other computing devices or systems.

[0124] The computer system (1002) may include removable / non-removable, volatile / non-volatile computer system storage media and / or may be coupled thereto. The computer system (1002) may include, for example, a non-removable, non-volatile magnetic medium (commonly referred to as a “hard drive”), a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a “floppy disk”), and / or an optical disk drive for reading from or writing to a removable, non-volatile optical disk, such as a CD-ROM, DVD-ROM, or other optical media, and / or may be coupled thereto. It should be understood that other hardware and / or software components may be used with the computer system (1002). Examples include, but are not limited to: microcode, device drivers, redundancy processing units, external disk drive arrays, RAID systems, tape drives, and data storage systems, etc.

[0125] The computer system (1002) may operate with a number of other general-purpose or special-purpose computing system environments or configurations. Examples of well-known computing systems, environments, and / or configurations that may be suitable for use with the computer system (1002) include, but are not limited to, personal computer (PC) systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments including any one of the above systems or devices.

[0126] Another embodiment of a computing environment for including and using one or more embodiments of the present invention is described with reference to FIG. 11a. In this example, the computing environment (36) includes, for example, a native central processing unit (CPU) (37), memory (38), and, for example, one or more input / output devices and / or interfaces (39) connected to each other via one or more buses (40) and / or other connections. As examples, the computing environment (36) is a PowerPC supplied by International Business Machines Corporation in Armonk, New York, USA. ® Processors; may include HP Superdomes and / or other machines based on architectures supplied by International Business Machines Corporation, Hewlett Packard, Intel Corporation, Oracle, and / or other companies, featuring Intel® Itanium® II processors supplied by Hewlett Packard, Inc., Palo Alto, California, USA. PowerPC is a trademark or registered trademark of International Business Machines Corporation in at least one country (jurisdiction). Itanium is a trademark or registered trademark of Intel Corporation or its subsidiaries in the United States and other countries.

[0127] The native central processing unit (37) includes one or more native registers (41), such as one or more general-purpose registers and / or one or more special-purpose registers used during processing within the environment. These registers include information indicating the state of the environment at a specific point in time.

[0128] Additionally, the native central processing unit (37) executes instructions and code stored in memory (38). In one particular example, the central processing unit executes emulator code (42) stored in memory (38). This code enables a computing environment configured on one architecture to emulate another architecture. For example, using emulator code (42) allows machines based on architectures other than z / Architecture hardware architecture, such as PowerPC processors, HP Superdome servers, or other servers, to emulate the z / Architecture hardware architecture and execute software and instructions developed based on the z / Architecture hardware architecture.

[0129] Further details regarding the emulator code (42) are described with reference to FIG. 11b. The guest instructions (43) stored in memory (38) include software instructions (e.g., related to machine instructions) developed to be executed on an architecture other than that of the native CPU (37). For example, the guest instructions (43) are designed to be executed on a processor based on the z / Architecture hardware architecture, but instead may be emulated on the native CPU (37), which may be, for example, an Intel Itanium II processor. In one example, the emulator code (42) includes an instruction fetch routine (44) for acquiring one or more guest instructions (43) from memory (38) and optionally providing local buffering for the acquired instructions. It also includes an instruction translation routine (45) for determining the type of the acquired guest instructions and converting the guest instructions into one or more corresponding native instructions (46). This transformation includes, for example, identifying a function to be executed by the guest command and selecting native command(s) to execute that function.

[0130] Additionally, the emulator code (42) includes an emulation control routine (47) that causes native instructions to be executed. The emulation control routine (47) may cause the native CPU (37) to execute a routine of native instructions that emulates one or more previously acquired guest instructions, and at the end of such execution, return control to the instruction fetch routine to emulate acquiring the next guest instruction or a group of guest instructions. Execution of native instructions (46) may include the steps of loading data from memory (38) into a register; storing data from the register back into memory; or performing some type of arithmetic or logical operation determined by a conversion routine.

[0131] Each routine is implemented, for example, in software, said software is stored in memory and executed by the native central processing unit (37). In other examples, one or more routines or operations are implemented in firmware, hardware, software, or a combination thereof. The registers of the emulated processor may be emulated using the registers (41) of the native CPU or using locations within memory (38). In embodiments, guest instructions (43), native instructions (46), and emulator code (42) may reside in the same memory or be distributed among different memory devices.

[0132] Exemplary instructions that can be emulated include the Diagnose instruction, the Read System Configuration Parameters command and / or a PC Call command described herein according to one embodiment of the present invention. Additionally, according to one or more embodiments of the present invention, other instructions, commands, functions, operations and / or one or more embodiments of the present invention may be emulated.

[0133] The computing environments described above are merely examples of computing environments that may be used. Other environments may be used, including but not limited to unpartitioned environments, partitioned environments, cloud environments, and / or emulated environments; embodiments are not limited to any one environment. Although various examples of computing environments are described herein, one or more embodiments of the present invention may be used with many types of environments. The computing environments provided herein are merely examples.

[0134] Each computing environment may be configured to include one or more embodiments of the present invention.

[0135] One or more embodiments of the present invention may be related to cloud computing.

[0136] Although this specification contains detailed descriptions regarding cloud computing, it should be understood that the implementation of such teachings described herein is not limited to a cloud computing environment. Rather, embodiments of the present invention may be implemented with all other types of computing environments that are now known or will be developed later.

[0137] Cloud computing is a service delivery model that enables convenient on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provided and released with minimal management effort or interaction with a service provider. This cloud model may include at least five characteristics, at least three service models, and at least four deployment models.

[0138] The characteristics are as follows:

[0139] On-demand self-service: Cloud consumers can unilaterally provision computing functions, such as server time and network storage, automatically as needed without requiring human interaction with the service provider.

[0140] Broad network access: Functions accessed through standard mechanisms that encourage use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs) can be utilized through the network.

[0141] Resource Pooling: A provider's computing resources utilize a multi-tenant model to pool different physical and virtual resources, dynamically allocating and reallocating them according to demand to serve multiple consumers. While consumers generally cannot control or know the exact location of the provided resources, there is location independence in that the location can be specified at a higher level of abstraction (e.g., country, state, or data center).

[0142] Rapid elasticity: Capabilities are provided agilely and elastically, allowing for rapid scale-out (sometimes automatically) and elastic release to rapid scale-in. The potential to be provided to consumers is often unlimited, and it appears as though any desired quantity can be purchased at any time.

[0143] Measured service: Cloud systems automatically control and optimize resource usage by utilizing instrumentation capabilities at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, thereby providing transparency to both service providers and users.

[0144] The service models are as follows:

[0145] Software as a Service (SaaS): The service provided to consumers enables the use of a provider's applications running on cloud infrastructure. Applications are accessible from multiple client devices through thin client interfaces, such as web browsers (e.g., web-based email). Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, storage, or individual application capabilities. However, limited user-specific application configuration settings are possible as an exception.

[0146] Platform as a Service (PaaS): The service provided to consumers enables the deployment of consumer-generated or acquired applications, created using programming languages ​​and tools supported by the provider, onto cloud infrastructure. Consumers do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage. However, they can control the deployed applications and, where possible, the configurations of the application hosting environment.

[0147] Infrastructure as a Service (IaaS): The services provided to the consumer include processing, storage, networking, and other basic computing resources, whereby the consumer can deploy and run any software, which may include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure, but can control operating systems, storage, deployed applications, and, where possible, limited control over selected networking components (e.g., host firewalls).

[0148] The deployment models are as follows:

[0149] Private cloud: Cloud infrastructure is operated for only one organization, can be managed by that organization or a third party, and can be located on-premises or off-premises.

[0150] Community Cloud: Cloud infrastructure is shared by multiple organizations and supports specific communities that share common interests (e.g., missions, security requirements, policies, and compliance audits); it can be managed by multiple organizations or third parties and can be located on-premises or off-premises.

[0151] Public cloud: Cloud infrastructure is available to the general public or large industrial groups and is owned by organizations that sell cloud services.

[0152] Hybrid cloud: Cloud infrastructure is a mixed configuration of two or more clouds (private, community, or public) that are distinct entities but are coupled together by standardized or proprietary technologies (e.g., cloud bursting for load balancing between clouds) that enable data and application portability.

[0153] Cloud computing environments aim for services focused on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure comprising a network of interconnected nodes.

[0154] Now, referring to FIG. 12, an exemplary cloud computing environment (50) is illustrated. As illustrated, the cloud computing environment (50) includes one or more cloud computing nodes (52) used by a local computing device that can communicate with, for example, a personal digital assistant (PDA) or mobile phone (54A), a desktop computer (54B), a laptop computer (54C), and / or a computer system for a vehicle (54N). The nodes (52) can communicate with each other. They may be physically or virtually grouped in one or more networks, such as private, community, public, or hybrid clouds or combinations thereof, as described herein (not illustrated). This allows the cloud computing environment (50) to provide infrastructure, platforms, and / or software as a service so that the cloud consumer does not need to maintain resources on the local computing device. It should be understood that the types of computing devices (54A-N) illustrated in FIG. 12 are described for illustrative purposes only, and that computing nodes (52) and cloud computing environment (50) can communicate with all types of computerized devices through all types of networks and / or network addressable connections (e.g., using a web browser).

[0155] Now, referring to FIG. 13, a set of functional abstraction layers provided by the cloud computing environment (50) (Fig. 12) is illustrated. It should be understood in advance that the components, layers, and functions illustrated in FIG. 13 are for illustrative purposes only and preferred embodiments of the invention are not limited thereto. As illustrated, the following layers and corresponding functions are provided:

[0156] The hardware and software layer (60) includes hardware and software components. Examples of hardware components include: mainframes (61); RISC (Reduced Instruction Set Computer) architecture-based servers (62); servers (63); blade servers (64); storage devices (65); and network and networking components (66). In some embodiments, software components include network application server software (67) and database software (68).

[0157] The virtualization layer (70) provides an abstraction layer from which examples of the following virtual subjects may be provided: virtual servers (71); virtual storage (72); virtual networks (73), including virtual private networks; virtual applications and operating systems (74); and virtual clients (75).

[0158] In one example, the management layer (80) provides the functions described below. Resource provisioning (81) provides the dynamic procurement of computing resources and other resources used to perform tasks within the cloud computing environment. Metering and pricing (82) provides cost tracking when resources are used within the cloud computing environment, and billing or invoices for the consumption of these resources. In one example, these resources may include application software licenses. Security provides protection for data and other resources, as well as identity verification for cloud consumers and tasks. The user portal (83) provides access to the cloud computing environment to consumers and system administrators. Service level management (84) provides the allocation and management of cloud computing resources to ensure that the required service level is met. Service Level Agreement (SLA) planning and fulfillment (85) provides pre-arrangement and procurement of cloud computing resources to meet anticipated future requirements that meet the SLA.

[0159] The workload layer (90) provides examples of functions for which the cloud computing environment can be utilized. Examples of workloads and functions that can be provided in this layer are as follows: mapping and navigation (91); software development and lifecycle management (92); virtual classroom education delivery (93); data analysis processing (94); transaction processing (95); and boost query and / or update processing (96).

[0160] Embodiments of the present invention may be computer program products at all possible levels of technical detail of systems, methods, and / or integrations. A computer program product may include a computer-readable storage medium (or media) and has computer-readable program instructions on the medium that cause a processor to execute embodiments of the present invention.

[0161] The computer-readable storage medium may be a tangible device capable of holding and storing instructions to be used by an instruction execution device. The computer-readable storage medium may be, for example, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing, but is not limited thereto. A non-comprehensive list of more specific examples of computer-readable storage media may include the following: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), eraseable and programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multi-purpose disc (DVD), memory sticks, floppy disks, punched cards, or machine-encoded devices such as raised structures in grooves on which instructions are written, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium is not interpreted as a transitory signal in itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., optical pulses transmitted through fiber optic cables), or electrical signals transmitted through a wire.

[0162] The computer-readable instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device or from an external storage device to an external computer via a communication network (network), for example, the Internet, a local area network, a wide area network and / or a wireless network. The communication network may include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface within each computing / processing unit receives computer-readable program instructions from the communication network and transmits the computer-readable program instructions to be stored on a computer-readable storage medium within each computing / processing device.

[0163] Computer-readable program instructions for executing the operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, configuration data for an integrated circuit, or source code or object code written by combining one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++ or similar languages, and conventional procedural programming languages ​​such as the "C" programming language or similar languages. The computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as a stand-alone software package, partially on a user's computer and partially on a remote computer, or entirely on a remote computer or server. In the last case above, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or this connection may be made to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, an electronic circuit including, for example, a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA) can execute the computer-readable program instructions by utilizing state information of the computer-readable program instructions to customize the electronic circuit to perform embodiments of the present invention.

[0164] Features of the present invention are described with reference to flowchart examples and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present invention. It will be understood that each block of the flowchart examples and / or block diagrams and combinations of blocks within the flowchart examples and / or block diagrams may be implemented by computer-readable program instructions.

[0165] These computer-readable program instructions may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing unit to create a machine, and thus the instructions may be executed through the processor of said computer or other programmable data processing unit to create means for implementing the functions / operations specified in the blocks or blocks of said flowchart and / or block diagram. These computer-readable program instructions may also be stored on a computer-readable storage medium and may instruct a computer, a programmable data processing unit, and / or other devices to function in a specific manner so that said computer-readable storage medium in which the instructions are stored contains an article of manufacture comprising instructions that implement the features of the functions / operations specified in the blocks or blocks of said flowchart and / or block diagram.

[0166] The above computer-readable program instructions are also loaded into a computer, other programmable data processing unit, or other device to create a computer-implemented process by causing a series of operational steps to be performed on the computer, other programmable device, or other device, so that the instructions executed on the computer, other programmable device, or other device can implement the functions / operations specified in the blocks or blocks of the flowchart and / or block diagram.

[0167] The flowcharts and block diagrams in the drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, segment, or part of instructions containing one or more executable instructions for implementing the logical function(s) specified above. In some other embodiments, the functions mentioned in the blocks may occur differently from the order mentioned in the drawings. For example, two blocks shown consecutively may actually be executed simultaneously, or these two blocks may sometimes be executed in reverse order depending on the related functions. It should also be noted that each block in the block diagrams and / or flowchart examples, and combinations of blocks in the block diagrams and / or flowchart examples, may be implemented by special-purpose hardware-based systems that perform the specified functions or operations of special-purpose hardware and computer instructions, or combinations thereof.

[0168] In addition to the foregoing, one or more embodiments of the present invention may be provided, supplied, deployed, managed, serviced, etc. by a service provider that supplies management of customer environments. For example, the service provider may create, maintain, support, etc. computer code and / or computer infrastructure that perform one or more embodiments of the present invention for one or more customers. In return, the service provider may receive payment from the customer, for example, under a subscription and / or fee agreement. Additionally or optionally, the service provider may sell advertising content to one or more third parties and receive payment.

[0169] In one example, an application may be deployed to carry out one or more embodiments of the present invention. As an example, the deployment of an application may include providing a computer infrastructure operable to carry out one or more embodiments of the present invention.

[0170] As an additional embodiment, a computing infrastructure comprising integrating computer-readable code into a computing system may be deployed, and in said computing infrastructure, said code may be combined with said computing system to perform one or more embodiments of the present invention.

[0171] As a further embodiment, a process for integrating computing infrastructure may be provided, comprising integrating computer-readable code into a computer system. The computer system comprises a computer-readable medium, and the computer medium in the computer system comprises one or more embodiments of the present invention. The code may be combined with the computer system to perform one or more embodiments of the present invention.

[0172] Although various embodiments have been described above, they are merely examples. For instance, computing environments of different architectures may be used to include and utilize one or more embodiments of the present invention. Additionally, other instructions, functions, and / or operations may be used. Furthermore, other types of registers and / or various registers may be used. Additionally, other features and / or feature-on-demand structures may be supported. Many variations are possible.

[0173] Various embodiments are described herein. Additionally, various modifications are possible without departing from the spirit of the embodiments of the invention. Unless otherwise noted, each embodiment or feature and its modifications described herein may be combined with any other embodiment or feature.

[0174] In addition, other types of computing environments may also be utilized. For example, a data processing system suitable for storing and / or executing program code may be used, and this system includes at least two processors directly or indirectly coupled to memory elements via a system bus. The memory elements include, for example, local memory used during the actual execution of the program code, bulk storage, and cache memory that provides temporary storage for at least some of the program code to reduce the number of times the code must be retrieved from bulk storage during execution.

[0175] Input / output or I / O devices (including, but not limited to, keyboards, displays, pointing devices, DASDs, tapes, CDs, DVDs, thumb drives, and other memory media) may be coupled to the system directly or through intervening I / O controllers. Network adapters are also coupled to the system to enable coupling to other data processing systems or remote pointers or storage devices through a private or public network mediated by the data processing system. Modems, cable modems, and Ethernet cards are only some of the available types of network adapters.

[0176] The terms used in this specification are used solely for the purpose of describing specific embodiments of the invention and are not intended to be limiting. When used in this specification, the singular forms “one,” “one,” and “he” are intended to include the plural forms as well, unless explicitly stated otherwise in the context. Furthermore, it will be understood that the terms “include” and / or “include”, when used in this specification, specify the presence of the features, integers, steps, operations, elements, and / or components mentioned, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0177] In the following claims, corresponding structures, materials, acts, and equivalents of all means or step-plus-function elements are intended to include structures, materials, or acts to perform the function in combination with other specifically claimed elements, if any. Descriptions of one or more embodiments of the invention are provided for illustrative and descriptive purposes only and are not intended to be made of or limited to the disclosed form. Those skilled in the art will understand that many modifications and variations may exist. Embodiments of the invention have been selected and described to best explain various features and practical applications, and to enable those skilled in the art to understand various embodiments having various modifications suitable for the specific use being considered.

Claims

Claim 1 A computer-readable storage medium storing program instructions for implementing a method for performing processing within a computing environment, wherein the method comprises: configuring at least one boost feature of the computing environment; wherein the step of configuring the at least one boost feature comprises adjusting the at least one boost feature using one or more adjusted feature amounts obtained from one or more structures, and wherein the one or more structures override one or more effective boost limits in effect; and executing a command for performing a query operation to obtain information for a select entity of the computing environment, wherein the information obtained by the query operation comprises an indication of how much of a given amount of one of the one or more boost features remains within a current time period for the select entity, wherein the one or more boost features are used to adjust one or more processing attributes of the select entity for a selected amount of time, and wherein the one or more processing attributes Including one or more characteristics regarding the processing of the above-mentioned selection agent -; a step of providing information obtained from the execution of the above-mentioned query operation as an information block based on the execution of the above-mentioned command and the execution of the above-mentioned query operation - said information block is located in an accessible location and includes a plurality of fields regarding said one or more boost features, and said information block is used to perform one or more actions to perform processing in said computing environment - ;A computer-readable storage medium comprising: a step of performing at least one of the one or more actions to perform processing within the computing environment; wherein the step of performing the at least one action includes a step of adjusting one of the one or more processing attributes to enhance the processing of the selection subject. Claim 2 In paragraph 1, the selection entity is a computer-readable storage medium comprising a logical partition of the computing environment. Claim 3 In paragraph 1 or 2, the selection entity is a computer-readable storage medium comprising a processor of the computing environment. Claim 4 A computer-readable storage medium according to claim 1 or 2, wherein the one or more boost features include a total amount of speed boost time for the select entity and an amount of speed boost time remaining for the select entity, and the speed boost time includes an amount of additional processor speed time for use by the select entity. Claim 5 A computer-readable storage medium according to claim 1 or 2, wherein the one or more boost features include a total amount of capacity boost time for the select entity and an amount of capacity boost time remaining for the select entity, and the capacity boost time includes an amount of time of additional availability of one or more processors for use by the select entity. Claim 6 A computer-readable storage medium according to claim 1 or 2, wherein the one or more boost features include a total amount of available boost cycles for the select entity and an amount of boost cycles remaining for the select entity, and the boost cycles include the number of boosts available over a defined time period. Claim 7 A computer-readable storage medium according to claim 1 or 2, wherein the one or more boost features include a time until refresh of at least one boost feature of the one or more boost features. Claim 8 A computer-readable storage medium according to claim 1 or 2, wherein the information block comprises a time to short-term boost refresh, remaining speed boost time, total speed boost time, remaining capacity boost time, total capacity boost time, time to long-term boost cycle refresh, total number of long-term boost cycles, and remaining number of long-term boost cycles. Claim 9 A computer-readable storage medium according to claim 1 or 2, wherein one of the one or more structures provides an indication of an additional amount of a boost feature to be purchased or assigned for selection purposes and an indication of an expiration period for said additional amount. Claim 10 A computer-readable storage medium according to claim 1 or 2, wherein the step of adjusting the processing attribute includes increasing the processor speed for the selected entity. Claim 11 A computer-readable storage medium according to claim 1 or 2, wherein the step of adjusting the processing attribute includes increasing the processor capacity for the selection subject. Claim 12 In a computer system for performing processing within a computing environment, the computer system comprises: a memory; and at least one processor communicating with the memory, and the computer system is configured to perform a method, the method comprising: configuring at least one boost feature of the computing environment; the step of configuring the at least one boost feature comprises adjusting the at least one boost feature using one or more adjusted feature amounts obtained from one or more structures, wherein the one or more structures override one or more effective boost limits in effect; and executing a command to perform a query operation to obtain information for a select entity of the computing environment; wherein the information obtained by the query operation comprises an indication of how much of a given amount of one of the one or more boost features remains within a current time period for the select entity, wherein the one or more boost features are used to adjust one or more processing attributes of the select entity for a selected amount of time, and the one or more processing attributes are the select Includes one or more characteristics regarding the processing of the subject -;A computer system comprising: a step of providing information obtained from the execution of the query operation as an information block based on the execution of the above command and the execution of the above query operation—the information block is located at an accessible location and includes a plurality of fields regarding the one or more boost features, and the information block is used to perform one or more actions to perform processing in the computing environment—; and a step of performing at least one of the one or more actions to perform processing within the computing environment—the step of performing the at least one action includes a step of adjusting one of the one or more processing attributes to enhance the processing of the selection agent. Claim 13 A computer system according to claim 12, wherein the one or more boost features include a total amount of speed boost time for the select entity, an amount of speed boost time remaining for the select entity, a total amount of capacity boost time for the select entity, and an amount of capacity boost time remaining for the select entity, wherein the speed boost time includes an amount of additional processor speed time for use by the select entity, and the capacity boost time includes an amount of additional availability time of one or more processors for use by the select entity. Claim 14 A computer system, wherein, in paragraph 12 or 13, the one or more boost features include a total amount of boost cycles available for the selected subject and an amount of boost cycles remaining for the selected subject, and a boost cycle includes a number of boosts available over a defined time period. Claim 15 A computer-implemented method for performing processing within a computing environment, wherein the computer-implemented method comprises: a step of configuring at least one boost feature of the computing environment; wherein the step of configuring the at least one boost feature comprises a step of adjusting the at least one boost feature using one or more adjusted feature amounts obtained from one or more structures, wherein the one or more structures override one or more effective boost limits in effect; and a step of executing a command to perform a query operation to obtain information for a select entity of the computing environment; wherein the information obtained by the query operation comprises an indication of how much of a given amount of one of the one or more boost features remains within a current time period for the select entity, wherein the one or more boost features are used to adjust one or more processing attributes of the select entity for a selected amount of time, and the one or more processing attributes relating to the processing of the select entity Including one or more features -; a step of providing information obtained from the execution of the query operation as an information block based on the execution of the above command and the execution of the above query operation - said information block is located in an accessible location and includes a plurality of fields regarding said one or more boost features, and said information block is used to perform one or more actions to perform processing in said computing environment - ;A computer-implemented method comprising: a step of performing at least one of the one or more actions to perform processing within the computing environment; wherein the step of performing the at least one action includes a step of adjusting one of the one or more processing attributes to enhance the processing of the selection subject. Claim 16 A computer-implemented method according to claim 15, wherein the one or more boost features include a total amount of speed boost time for the select entity, an amount of speed boost time remaining for the select entity, a total amount of capacity boost time for the select entity, and an amount of capacity boost time remaining for the select entity, wherein the speed boost time includes an amount of additional processor speed time for use by the select entity, and the capacity boost time includes an amount of additional availability time of one or more processors for use by the select entity. Claim 17 A computer-implemented method according to claim 15 or 16, wherein one or more boost features include a total amount of boost cycles for the select entity and an amount of boost cycles remaining for the select entity, and the boost cycles include the number of boosts available over a defined time period. Claim 18 A computer-implemented method according to claim 15 or 16, wherein the step of adjusting the processing attribute includes increasing the processor speed for the selection subject. Claim 19 A computer-implemented method according to claim 15 or 16, wherein the step of adjusting the processing attribute includes increasing the processor capacity for the selection subject. Claim 20 A computer-implemented method for performing processing within a computing environment, comprising: executing a command to perform a query operation to obtain information for a select entity of the computing environment; wherein the information obtained by the query operation includes an indication of how much of one of one or more boost features is currently available for the select entity, wherein the one or more boost features are used to adjust one or more processing attributes of the select entity for a selected amount of time, and the one or more processing attributes include one or more attributes regarding the processing of the select entity; and, based on the execution of the command and the execution of the query operation, providing the information obtained from the execution of the query operation as an information block; wherein the information block includes the time to short-term boost refresh, the remaining speed boost time, the total speed boost time, the remaining capacity boost time, the total capacity boost time, the time to long-term boost cycle refresh, the total number of long-term boost cycles, and the remaining number of long-term boost cycles. A computer-implemented method comprising: a step of performing at least one of the one or more actions to perform processing within the computing environment; wherein the step of performing the at least one action includes a step of adjusting one of the one or more processing attributes to enhance the processing of the selection subject. Claim 21 A computer-implemented method according to claim 20, wherein the step of adjusting the processing attribute includes increasing the processor speed for the selection subject. Claim 22 A computer-implemented method according to claim 20, wherein the step of adjusting the processing attribute includes increasing the processor capacity for the selection subject.