1. A computer program product for executing a modify runtime instrumentation controls (MRIC) instruction, the MRIC instruction executable in either a supervisor state or a lesser-privileged state, the MRIC instruction for setting only a subset of run-time-instrumentation controls, wherein all of said run-time-instrumentation controls are loadable by a privileged load run-time-instrumentation controls (LRIC) instruction, the computer program product comprising:
a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
fetching the MRIC instruction, the MRIC instruction including an address of a run-time-instrumentation control block (RICCB);
fetching, by a processor, the RICCB, the RICCB including a plurality of values for modifying said subset of run-time-instrumentation controls of the processor, the plurality of values of the RICCB comprising:
a runtime instrumentation program buffer current address (RCA) of a runtime instrumentation program buffer (RIB) location, the RIB for holding runtime instrumentation information of events recognized by the processor during program execution; and
one or more of:
a control to manage details of run-time-instrumentation data sampling;
a control to manage details of run-time-instrumentation data collection;
a control to manage details of run-time-instrumentation data reporting into a program buffer;
a control to manage detection of instruction-cache misses;
a control to manage detection of data-cache misses;
a control to manage a size of a reporting group;
a control to manage a current address within an output program buffer at which a next reporting group is stored;
controls to manage data collection of data on call-type, return-type, and transfer-type branches; and
controls to manage data collection of branches that are correctly or incorrectly predicted as taken or not taken;
loading the plurality of values into the run-time-instrumentation controls; and
using the loaded plurality of values to provide run-time-instrumentation event information to the RIB.
2. The computer program product according to claim 1, further comprising:
deriving a model dependent limited value for at least one of the plurality of values of the RICCB; and
loading the model dependent limited value as an updated value into the run-time-instrumentation controls.
3. The computer program product according to claim 2, wherein based on one of the plurality of values of the RICCB being the control to manage a size of a reporting group, the method further comprises:
loading the model dependent limited value;
based on a K field of the run-time-instrumentation controls having a first value, setting a current address to a value of an origin address of the RICCB; and
based on the K field of the run-time-instrumentation controls having a second value, setting the current address to a value of a specified RICCB current address value.
4. The computer program product according to claim 1, further comprising causing an exception, based on any one or more of:
determining that the address in the MRIC instruction does not align with a double word boundary; and
determining that the RICCB cannot be fetched from the address included in the MRIC instruction.
5. The computer program product according to claim 1, further comprising:
determining that one or more values in the RICCB are valid, wherein the determining further comprises any one of:
determining that a run-time-instrumentation S bit indicates that execution of the MRIC instruction from the lesser-privileged state is not permitted;
determining that the run-time-instrumentation controls are not valid; and
determining that run-time-instrumentation is not enabled.
6. The computer program product according to claim 1, wherein the MRIC instruction is defined for a first computer architecture, and the fetching and parsing is executed by a second processor of an alternate computer architecture, the fetching and parsing by the second processor comprising:
identifying a software routine for emulating execution of the MRIC instruction on the first computer architecture; and
executing the MRIC instruction with the software routine.
7. The computer program product according to claim 1, wherein no values in the run-time-instrumentation controls are updated if an error is encountered.
8. A computer system for executing a modifying run-time-instrumentation controls (MRIC) instruction from either a supervisor state or a lesser-privileged state, the MRIC instruction for setting only a subset of run-time-instrumentation controls, wherein all of said run-time-instrumentation controls are loadable by a privileged load run-time-instrumentation controls (LRIC) instruction comprising:
a computer processor comprising a run-time-instrumentation module, the run-time-instrumentation module configured to perform a method comprising:
fetching the MRIC instruction, the MRIC instruction including an address of a run-time-instrumentation control block (RICCB);
fetching the RICCB, the RICCB including a plurality of values for modifying said subset of run-time-instrumentation controls of the computer processor, the plurality of values of the RICCB comprising:
a runtime instrumentation program buffer current address (RCA) of a runtime instrumentation program buffer (RIB) location, the RIB for holding runtime instrumentation information of events recognized by the computer processor during program execution; and
one or more of:
a control to manage details of run-time-instrumentation data sampling;
a control to manage details of run-time-instrumentation data collection;
a control to manage details of run-time-instrumentation data reporting into a program buffer;
a control to manage detection of instruction-cache misses;
a control to manage detection of data-cache misses;
a control to manage a size of a reporting group;
a control to manage a current address within an output program buffer at which a next reporting group is stored;
controls to manage data collection of data on call-type, return-type, and transfer-type branches; and
controls to manage data collection of branches that are correctly or incorrectly predicted as taken or not taken;
loading the plurality of values into the run-time-instrumentation controls; and
using the loaded plurality of values to provide run-time-instrumentation event information to the RIB.
9. The system according to claim 8, further comprising:
deriving a model dependent limited value for at least one of the plurality of values of the RICCB; and
loading the model dependent limited value as an updated value into the run-time-instrumentation controls.
10. The system according to claim 9, wherein based on one of the plurality of values of the RICCB being the control to manage a size of a reporting group, the method further comprises:
loading the model dependent limited value;
based on a K field of the run-time-instrumentation controls having a first value, setting a current address to a value of an origin address of the RICCB; and
based on the K field of the run-time-instrumentation controls having a second value, setting the current address to a value of a specified RICCB current address value.
11. The system according to claim 8, further comprising causing an exception, based on any one or more of:
determining that the address in the MRIC instruction does not align with a double word boundary; and
determining that the RICCB cannot be fetched from the address included in the MRIC instruction.
12. The system according to claim 8, further comprising:
determining that one or more values in the RICCB are valid, wherein the determining further comprises any one of:
determining that a run-time-instrumentation S bit indicates that execution of the MRIC instruction from the lesser-privileged state is not permitted;
determining that the run-time-instrumentation controls are not valid; and
determining that run-time-instrumentation is not enabled.
13. The system according to claim 8, wherein the MRIC instruction is defined for a first computer architecture, and the fetching and parsing is executed by a second processor of an alternate computer architecture, the fetching and parsing by the second processor comprising:
identifying a software routine for emulating execution of the MRIC instruction on the first computer architecture; and
executing the MRIC instruction with the software routine.
14. The system according to claim 8, wherein no values in the run-time-instrumentation controls are updated if an error is encountered.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
I claim:
1, A data analysis system for analyzing data sets, comprising:
a database for storing data;
analysis processing means for analyzing a relation among data elements based on a number of occurrences, in stored data, of a first data element, and a number of simultaneous occurrences, in the stored data, of the first data element and a second data element; and
output means for outputting results provided by the analysis processing means.
2, The data analysis system according to claim 1, wherein the analysis processing means groups data elements based on the number of simultaneous occurrences.
3, The data analysis system according to claim 2, wherein the analysis processing means groups the first data element and the second data element into the same group, when a ratio of the number of simultaneous occurrences to the number of occurrences of the first data element is greater than a predetermined value.
4, The data analysis system according to claim 1, wherein the output means represents dependencies among the data elements as a tree figure.
5, Apparatus for data analysis, comprising:
analysis processing means for specifying pairs of keywords based on frequencies that keywords occur in a set of keywords of data stored in a database, and grouping the set of keywords into groups of keywords based on the specified pairs of keywords; and
output means for outputting results provided by the analysis processing means.
6, The apparatus for data analysis according to claim 5, wherein the analysis processing means calculates a number of data samples that include both keywords of the pair of keywords, and groups both keywords into the same group if the calculated number of data samples that include both keywords meets a predetermined threshold.
7, The data analysis apparatus according to claim 6, wherein the analysis processing means defines the group to which one of the two keywords belongs, based on the group to which the other of the two keywords belongs, when the predetermined threshold is not met.
8, The data analysis apparatus according to claim 5, wherein the output means displays results provided by the analysis processing means in the form of a figure.
9, A display terminal comprising:
an interface for requesting analysis of data;
accepting means for accepting analysis results giving a relation based on a number of occurrences of two data elements of a plurality of data elements; and
output means for displaying the relation as a figure, based on the analysis results.
10, The display terminal according to claim 9, wherein the output means displays subordinate relations of the data as a tree figure.
11, The display terminal according to claim 9, wherein the output means represents each data element in the form of a figure having a size based on the number of occurrences of the data element, and wherein the distance between two figures is based on the relation of two represented data elements.
12, A data analysis method, comprising the steps of:
calculating dependence ratios of a plurality of data elements to be analyzed;
grouping the data elements according to the dependence ratios; and
outputting the grouped data elements.
13, The data analysis method according to claim 12, wherein the step of grouping includes the step of grouping a first data element and a second data element in the same group, if a ratio of the number of simultaneous occurrences of the first data element and the second data element to the number of occurrences of the first data element is greater than a predetermined value.
14, The data analysis method according to claim 13, wherein the step of grouping includes the step of specifying a subordinate relation between the first data element and the second data element, based on the ratio of the number of simultaneous occurrences to the number of occurrences of the first data element.