US 11,853,809 B2
Systems, methods and devices for determining work placement on processor cores
Guy M. Therien, Sherwood, OR (US); Michael D. Powell, Northborough, MA (US); Venkatesh Ramani, Milpitas, CA (US); Arijit Biswas, Northborough, MA (US); and Guy G. Sotomayor, San Jose, CA (US)
Assigned to Intel Corporation, Santa Clara, CA (US)
Filed by Intel Corporation, Santa Clara, CA (US)
Filed on Jul. 5, 2022, as Appl. No. 17/857,394.
Application 17/857,394 is a continuation of application No. 17/173,100, filed on Feb. 10, 2021, granted, now 11,409,577.
Application 17/173,100 is a continuation of application No. 16/107,691, filed on Aug. 21, 2018, granted, now 10,922,143, issued on Feb. 16, 2021.
Application 16/107,691 is a continuation of application No. 14/997,032, filed on Jan. 15, 2016, granted, now 10,073,718, issued on Aug. 23, 2018.
Prior Publication US 2022/0334887 A1, Oct. 20, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 1/00 (2006.01); G06F 9/50 (2006.01); G06F 1/329 (2019.01); G06F 1/324 (2019.01); G06F 1/3296 (2019.01); G06F 9/30 (2018.01)
CPC G06F 9/5083 (2013.01) [G06F 1/324 (2013.01); G06F 1/329 (2013.01); G06F 1/3296 (2013.01); G06F 9/3009 (2013.01); G06F 9/5033 (2013.01); G06F 9/5044 (2013.01); G06F 9/5094 (2013.01); Y02D 10/00 (2018.01)] 20 Claims
OG exemplary drawing
 
1. An apparatus, comprising:
a processor including a plurality of cores and a core assignment module operable by the processor to:
identify a ranked list of a subset of cores of the plurality of cores that have different physical characteristics than remaining core(s) of the plurality of cores;
determine whether a first count of thread(s) selected for optimization is less than or equal to a second count of the cores of the ranked list;
in response to a determination that the first count is less than or equal to the second count:
perform a first affinitization of an initial thread of the selected thread(s) to a core of an initial entry in the ranked list; and
perform one or more second affinitizations of any one or more next threads, respectively, of the selected thread(s) to one or more cores of one or more next entries in the ranked list, respectively; and
in response to a determination that the first count is greater than the second count, unaffinitize at least one thread-core affinitization of at least one uncompleted thread that is different than the thread(s) selected for optimization, the at least one thread-core affinitization corresponding to the subset of core(s).