PROCESSOR CLUSTER MIGRATION TECHNIQUES
First Claim
Patent Images
1. A method comprising:
- power-ungating a core of a single-core cluster, when one or more processes are executing on a given one of any core of the multi-core cluster and utilization of the given core is predicted to be in a first predetermined range, wherein processing performance of each core of the multi-core cluster is greater than the core of the single core cluster;
saying a context of the one or more processes executing on the given core of the multi-core cluster when the one or more processes are executing on the given core of the multi-core cluster and the utilization of the given core of the multi-core cluster is predicted to be in the first predetermined range;
re-mapping one or more shared resources utilized by the given core of the multi-core cluster to the core of the single-core cluster, including emulating the identity of the given core of the multi-core cluster by the core of the single core-cluster, after power-ungating the core of the single-core cluster and saving the context of the one or more processes executing on the given core of the multi-core cluster, wherein the multi-core cluster, single-core cluster and shared resources are fabricated together on an integrated circuit die;
restarting execution of the saved context on the core of the single-core cluster after re-mapping the one or more shared resources of the given core of the multi-core cluster to the core of the single-core cluster; and
power-gating the cores of the multi-core cluster after saving, the context of the one or more processes executing on the given core of the multi-core cluster.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present technology provide for migrating processes executing one any one of a plurality of cores in a multi-core cluster to a core of a separate cluster without first having to transfer the processes to a predetermined core of the multi-core cluster. Similarly, the processes may be transferred from the core of the separate cluster to the given core of the multi-core cluster.
-
Citations
20 Claims
-
1. A method comprising:
-
power-ungating a core of a single-core cluster, when one or more processes are executing on a given one of any core of the multi-core cluster and utilization of the given core is predicted to be in a first predetermined range, wherein processing performance of each core of the multi-core cluster is greater than the core of the single core cluster; saying a context of the one or more processes executing on the given core of the multi-core cluster when the one or more processes are executing on the given core of the multi-core cluster and the utilization of the given core of the multi-core cluster is predicted to be in the first predetermined range; re-mapping one or more shared resources utilized by the given core of the multi-core cluster to the core of the single-core cluster, including emulating the identity of the given core of the multi-core cluster by the core of the single core-cluster, after power-ungating the core of the single-core cluster and saving the context of the one or more processes executing on the given core of the multi-core cluster, wherein the multi-core cluster, single-core cluster and shared resources are fabricated together on an integrated circuit die; restarting execution of the saved context on the core of the single-core cluster after re-mapping the one or more shared resources of the given core of the multi-core cluster to the core of the single-core cluster; and power-gating the cores of the multi-core cluster after saving, the context of the one or more processes executing on the given core of the multi-core cluster. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 13)
-
-
11. The method of claim 11, wherein holding off a request to start the one or more other processes on one or more other cores of the multi-core cluster comprises holding off an inter-process interrupt (IPI) requesting:
- to start the one or more other processes on the one or more other of the cores of the multi-core cluster.
- View Dependent Claims (12)
-
14. An apparatus comprising:
-
a means for determining if processes are executing on a given one of an core of a multi-core cluster and that the utilization of the given core is predicted to be in a first predetermined range; a means for power-on gating a core of a single-core cluster, when one or more processes are executing on the given core of the multi-core cluster and utilization of the given core is predicted to he in the first predetermined range, wherein processing performance of each core of the multi-core cluster is greater than the core of the single core cluster; a means for saving a context of the one or more processes executing on the given core of the multi-core cluster when one or more processes are executing on the given core of the multi-core cluster and the utilization of the given core of the multi-core cluster is predicted to he in a predetermined range; a means for cluster switching one or more shared resources utilized by the given core of the multi-core cluster to the core of the single-core cluster after power-ungating the core of the single-core cluster and saving the context of the one or more processes executing on the given core of the multi-core cluster, wherein the multi-core cluster, single-core cluster and shared resources are fabricated together on a system-on-a-chip (SoC); a means for restarting execution of the saved context on the core of the single-core cluster after re-mapping the one or more shared resources of the given core of the multi-core cluster to the core of the single-core cluster; and a means for power-off gating the cores of the multi-core cluster after saving the context of the one or more processes executing on the given core of the multi-core cluster. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification