METHODS AND SYSTEMS TO IDENTIFY AND MIGRATE THREADS AMONG SYSTEM NODES BASED ON SYSTEM PERFORMANCE METRICS
First Claim
1. A method comprising:
- sampling a performance metric associated with the execution of a computer program thread on a home node of a computer system having multiple nodes;
determining whether the performance metric exceeds a threshold value;
identifying a remote node associated with a remote memory accessed by the computer program if the threshold value is exceeded; and
identifying the computer program thread as a candidate for migration from the home node to the remote node if the threshold value is exceeded.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems to identify and migrate threads among system nodes based on system performance metrics. An example method disclosed herein includes sampling a performance metric of a computer program thread, the computer program thread executing on a home node of a computer system having multiple nodes, and determining whether the performance metric exceeds a threshold value. The method also includes identifying a remote node associated with a remote memory if the threshold value is exceeded, the remote memory being accessed by the computer program thread, and identifying the computer program thread as a candidate for migration from the home node to the remote node if the threshold value is exceeded. In this way, a computer program thread that frequently accesses a remote memory can be migrated from a home node to a remote node associated with the remote memory to reduce the latency associated with memory accesses performed by the computer program thread and thereby improve system performance.
39 Citations
27 Claims
-
1. A method comprising:
-
sampling a performance metric associated with the execution of a computer program thread on a home node of a computer system having multiple nodes; determining whether the performance metric exceeds a threshold value; identifying a remote node associated with a remote memory accessed by the computer program if the threshold value is exceeded; and identifying the computer program thread as a candidate for migration from the home node to the remote node if the threshold value is exceeded. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus comprising:
-
a first data collector to collect a performance metric value associated with the execution of a computer program thread on a home node of a computer system having multiple nodes; a first monitor to determine whether the performance metric exceeds a threshold value; a second data collector to collect thread identifying information; a thread identifier to use the thread identifying information to determine an identity of the computer program thread; a third data collector to collect load operation information associated with a load operation performed by the computer program thread; a node identifier to use the load operation information to determine an identity of a remote memory accessed by the computer program thread, the node identifier to use the identity of the remote memory to determine an identity of the remote node; a second monitor to determine whether the performance metric exceeds the threshold value for a threshold duration of time; and a migration candidate identifier to identify the computer program thread as a candidate for migration from a home node to the remote node based on the determination of the second monitor. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A tangible machine readable storage medium comprising machine readable instructions which, when executed, cause a machine to at least:
-
sample a performance metric associated with the execution of a computer program thread on a home node of a computer system having multiple nodes; determine whether the performance metric exceeds a threshold value; identify a remote node associated with a remote memory accessed by the computer program thread if the threshold value is exceeded; and identify the computer program thread as a candidate for migration from the home node to the remote node. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. (canceled)
-
27. (canceled)
Specification