Techniques to automatically classify processes
First Claim
Patent Images
1. A method, comprising:
- detecting, on one or more processors, a first process and a second process based on resources being used by both the first process and the second process;
gathering, on the one or more processors and in response to detecting the first and second processes, metrics for resources used by the first process and the second process in a multicore processing architecture;
collecting, on the one or more processors and in response to gathering the metrics, the metrics for each of the resources as a percentage of that resource being consumed by the first process and the second process;
comparing, on the one or more processors and in response to the collecting of the metrics, each percentage against one or more threshold values that exclude the resources shared between the first and second processes from the resources for which the metrics are gathered to assist in determining whether to group the first and second processes together within the multicore architecture;
grouping, on the one or more processors and in response to the comparing each percentage, the first process and the second process together based on the metrics evaluated for usage of the resources by the first and second processes within the multicore processing architecture when the metrics are above or equal to the one or more threshold values; and
re-gathering, on the one or more processors, the metrics when a third process is detected as being forked off or spawned from either the first process or the second process in view of the one or more threshold values for purposes of determining whether the third process is to remain an independent process or is to be grouped with the first and second processes.
10 Assignments
0 Petitions
Accused Products
Abstract
Techniques for automatically classifying processes are presented. Processes executing on a multicore processor machine are evaluated to determine shared resources between the processes, excluding shared system resources. A determination is then made based on the evaluation to group the processes as a single managed resource within an operating system of the multicore processor machine.
10 Citations
16 Claims
-
1. A method, comprising:
-
detecting, on one or more processors, a first process and a second process based on resources being used by both the first process and the second process; gathering, on the one or more processors and in response to detecting the first and second processes, metrics for resources used by the first process and the second process in a multicore processing architecture; collecting, on the one or more processors and in response to gathering the metrics, the metrics for each of the resources as a percentage of that resource being consumed by the first process and the second process; comparing, on the one or more processors and in response to the collecting of the metrics, each percentage against one or more threshold values that exclude the resources shared between the first and second processes from the resources for which the metrics are gathered to assist in determining whether to group the first and second processes together within the multicore architecture; grouping, on the one or more processors and in response to the comparing each percentage, the first process and the second process together based on the metrics evaluated for usage of the resources by the first and second processes within the multicore processing architecture when the metrics are above or equal to the one or more threshold values; and re-gathering, on the one or more processors, the metrics when a third process is detected as being forked off or spawned from either the first process or the second process in view of the one or more threshold values for purposes of determining whether the third process is to remain an independent process or is to be grouped with the first and second processes. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method, comprising:
-
detecting, via one or more processors, a set of processes executing within a cloud processing environment; selectively collecting, via the one or more processors and in response to detecting the set of processes, metrics for resources used by the set of processes executing within the cloud processing environment; collecting, on the one or more processors and in response to gathering the metrics, the metrics for each of the resources as a percentage of that resource being consumed by the set of processes; comparing, on the one or more processors and in response to the collecting of the metrics, each percentage against one or more threshold values that exclude the resources shared between the set of processes from the resources for which the metrics are gathered to assist in determining whether to group the set of processes together within the cloud processing environment;
grouping, via the one or more processors and in response to the comparing each percentage, all or some of the processes into one or more groups when the metrics are above or equal to the one or more threshold values;gathering, on the one or more processors, additional metrics and determines whether any additional groupings are to occur when a particular process is forked off of or spawned from one of the set of processes in view of the one or more threshold values for purposes of determining whether the particular process is to remain an independent process or is to be grouped with the set of processes, and logically treating, via the one or more processors, each group as a single logical process within the cloud processing environment. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A multi-processor implemented system, comprising:
-
multiple processors representing a cloud processing environment having a multicore architecture with an operating system executing thereon; and a memory having a processor manager that executes on the multiple processors; the processor manager configured to selective group a set of processes that execute in the cloud processing environment based on usage of shared resources, wherein each group created is treated as a single logical process within the cloud processing environment; detecting, via the multiple processors, the set of processes executing within the cloud processing environment; selectively collecting, via the multiple processors and in response to detecting the set of processes, metrics for resources used by the set of processes executing within the cloud processing environment; collecting, on the multiple processors and in response to gathering the metrics, the metrics for each of the resources as a percentage of that resource being consumed by the set of processes; comparing, on the multiple processors and in response to the collecting of the metrics, each percentage against one or more threshold values that exclude the resources shared between the set of processes from the resources for which the metrics are gathered to assist in determining whether to group the set of processes together within the cloud processing environment; grouping, via the multiple processors and in response to the comparing each percentage, all or some of the processes into one or more groups when the metrics are above or equal to the one or more threshold values; and gathering, on the multiple processors, additional metrics and determines whether any additional groupings are to occur when a particular process is forked off of or spawned from one of the set of processes in view of the one or more threshold values for purposes of determining whether the particular process is to remain an independent process or is to be grouped with the set of processes. - View Dependent Claims (15, 16)
-
Specification