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;
saving 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 shared resources are common to the multi-core cluster and the single-core cluster, and 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 ;
hared 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; saving 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 shared resources are common to the multi-core cluster and the single-core cluster, and 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 ;
hared resources of the given core of the multi-core cluster to the core of the single-core cluster; andpower-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, 11, 12, 13)
-
-
14. An apparatus comprising:
-
a means for determining if processes are executing on a given one of any core of a multi-core cluster and that the Utilization of the given tore 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 be 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 be 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, 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 shared resources are common to the multi-core cluster and the single-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 or 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