DETAILED ACTION
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This action is responsive to the application filed 09/14/2023.
Claims 23-42 are presented for examination.
Information Disclosure Statement
2. The Applicants’ Information Disclosure Statements (filed 09/14/2023, 10/17/2023, 02/17/2025) have been received, entered into the record, and considered.
Drawings
3. The drawings filed 09/14/2023 are acceptable for examination purposes.
Specification
4. The specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant's cooperation is requested in correcting any errors of which applicant may become aware in the specification.
Descriptive Title Required
The title of the invention is not descriptive. The title should be as “specific as possible” 37 CFR 1.72 while not exceeding “500 characters in length”. The title should provide “informative value” and serve to aid in the “indexing, classifying, searching” and other Official identification functions. A new title is required that is clearly indicative of the invention to which the claims are directed. MPEP606.01
Correction is required.
Claim Rejections - 35 USC § 101
5. 35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 23-42 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Regarding claim 23, the limitations “determining task relationships for the one or more tasks being executed”; “determining ranking for at least one combination of tasks based on the one or more tasks being executed taking into account the first task to be scheduled”; “scheduling the first task according to the selected combination”; and “determining the ranking for the at least one combination of tasks by further determining a migration cost for at least one task to be migrated to accomplish the at least one combination” as drafted, are functions that, under its broadest reasonable interpretation, recite the abstract idea of a mental process. The limitations encompass a human mind carrying out the function through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas under Prong 1.
Under Prong 2, this judicial exception is not integrated into a practical application. The additional elements “a cache of a cluster of processor cores” and “a controller” are recited at a high-level of generality such that they amount no more than mere instructions to apply the exception using generic computer, and/or mere computer components, MPEP 2106.05(f), and “selecting a best ranked combination out of the at least one combination of tasks” do nothing more than add insignificant extra solution activity to the judicial exception of merely gathering data. Accordingly, the additional elements do not integrate the recited judicial exception into a practical application and the claim is therefore directed to the judicial exception. See MPEP 2106.05(g).
Under Step 2B, the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of “a cache of a cluster of processor cores” and “a controller” amount to no more than mere instructions, or generic computer/computer components to carry out the exception, and for the limitation “selecting a best ranked combination out of the at least one combination of tasks” the courts have identified mere data/information gathering is well-understood, routine and conventional activity. See MPEP 2106.05(d). The recitation of generic computer instruction and computer components to apply the judicial exception, and merely gathering data/information do not amount to significantly more, thus, cannot provide an inventive concept. Accordingly, the claim is not patent eligible under 35 USC 101.
Regarding claim 24, the claim does not recite any mental process. However, for the limitation “storing the determined task relationship” the courts have identified mere data/information storing is well-understood, routine and conventional activity. See MPEP 2106.05(d). The recitation of generic computer instruction and computer components to apply the judicial exception, and merely storing data/information do not amount to significantly more, thus, cannot provide an inventive concept. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Regarding claim 25, the limitation “effecting one or more migrations” encompasses a human mind carrying out the function through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, the claim recites further mental process. The claim does not recite additional elements to integrate the abstract idea into a practical application. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Regarding claim 26, the claim does not recite any mental process. However, for the limitation “storing the migration cost(s) of the one or more migrations” the courts have identified mere data/information storing is well-understood, routine and conventional activity. See MPEP 2106.05(d). The recitation of generic computer instruction and computer components to apply the judicial exception, and merely storing data/information do not amount to significantly more, thus, cannot provide an inventive concept. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Regarding claim 27, the limitation “the task relationship for a group of tasks is based on averaged individual task relationships” is an additional element that recites insignificant extra solution activity which do not amount to a practical application, nor amount to significantly more under step 2B as explained above. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Regarding claim 28, the limitation “the task relationship for a group of tasks is based on task relationships over time” is an additional element that recites insignificant extra solution activity which do not amount to a practical application, nor amount to significantly more under step 2B as explained above. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Regarding claim 29, the limitation “the task relationship for the first task is based on a ratio between the duration (tc1−tc0) of cache misses and total duration (t1−t0) of running the first task” is an additional element that recites insignificant extra solution activity which do not amount to a practical application, nor amount to significantly more under step 2B as explained above. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Regarding claim 30, the limitation “the task relationship for the first task is based on the cache to execute the task” is an additional element that recites insignificant extra solution activity which do not amount to a practical application, nor amount to significantly more under step 2B as explained above. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Regarding claim 31, the limitation “the task relationship for a group of tasks is determined as the sum of the task relationship for each task in the group of tasks” is an additional element that recites insignificant extra solution activity which do not amount to a practical application, nor amount to significantly more under step 2B as explained above. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Regarding claim 32, the limitations “the at least one combination of tasks is based on a maximum number of migrations allowed (M) wherein the at least one combination of tasks corresponds to all possible combinations of tasks including the first task with a maximum of M migrations” an additional elements that recites insignificant extra solution activity which do not amount to a practical application, nor amount to significantly more under step 2B as explained above. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Regarding claim 33, the limitation “the at least one combination of tasks corresponds to all possible combinations of tasks including the first task regardless of migration” is an additional element that recites insignificant extra solution activity which do not amount to a practical application, nor amount to significantly more under step 2B as explained above. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Regarding claim 34, the limitation “the at least one combination of tasks is based on an even distribution of tasks to caches” is an additional element that recites insignificant extra solution activity which do not amount to a practical application, nor amount to significantly more under step 2B as explained above. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Regarding claim 35, the limitation “distribution of tasks to caches is based on the number of tasks divided by the number of caches” is an additional element that recites insignificant extra solution activity which do not amount to a practical application, nor amount to significantly more under step 2B as explained above. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Regarding claim 36, the limitation “distribution of tasks to caches is based on the size and capabilities of the caches and the requirements of the tasks” is an additional element that recites insignificant extra solution activity which do not amount to a practical application, nor amount to significantly more under step 2B as explained above. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Regarding claim 37, the limitation “all caches are shared by equally many of the processor cores” is an additional element that recites insignificant extra solution activity which do not amount to a practical application, nor amount to significantly more under step 2B as explained above. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Regarding claim 38, the limitation “the caches are shared by unequally many of the processor cores” is an additional element that recites insignificant extra solution activity which do not amount to a practical application, nor amount to significantly more under step 2B as explained above. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Regarding claim 39, the limitations “the tasks are software threads” is an additional element that recites insignificant extra solution activity which do not amount to a practical application, nor amount to significantly more under step 2B as explained above. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Regarding claim 40, the limitations “determine task relationships for the one or more tasks being executed”; “determine ranking for at least one combination of tasks based on the one or more tasks being executed, taking into account the first task to be scheduled”; “schedule the first task according to the selected combination”; and “determine the ranking for the at least one combination of tasks by further determining a migration cost for at least one task to be migrated to accomplish the at least one combination” as drafted, are functions that, under its broadest reasonable interpretation, recite the abstract idea of a mental process. The limitations encompass a human mind carrying out the function through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas under Prong 1.
Under Prong 2, this judicial exception is not integrated into a practical application. The additional elements “a controller”, “a cache of a cluster of processor cores”, and “processing circuitry” are recited at a high-level of generality such that they amount no more than mere instructions to apply the exception using generic computer, and/or mere computer components, MPEP 2106.05(f), and “select a best ranked combination out of the at least one combination of tasks” do nothing more than add insignificant extra solution activity to the judicial exception of merely gathering data. Accordingly, the additional elements do not integrate the recited judicial exception into a practical application and the claim is therefore directed to the judicial exception. See MPEP 2106.05(g).
Under Step 2B, the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of “a controller”, “a cache of a cluster of processor cores”, and “processing circuitry” amount to no more than mere instructions, or generic computer/computer components to carry out the exception, and for the limitation “select a best ranked combination out of the at least one combination of tasks” the courts have identified mere data/information gathering is well-understood, routine and conventional activity. See MPEP 2106.05(d). The recitation of generic computer instruction and computer components to apply the judicial exception, and merely gathering data/information do not amount to significantly more, thus, cannot provide an inventive concept. Accordingly, the claim is not patent eligible under 35 USC 101.
Regarding claim 41, the limitations “determine task relationships for the one or more tasks being executed”; “determine ranking for at least one combination of tasks based on the one or more tasks being executed, taking into account the first task to be scheduled”; “schedule the first task according to the selected combination”; and “determine the ranking for the at least one combination of tasks by further determining a migration cost for at least one task to be migrated to accomplish the at least one combination” as drafted, are functions that, under its broadest reasonable interpretation, recite the abstract idea of a mental process. The limitations encompass a human mind carrying out the function through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas under Prong 1.
Under Prong 2, this judicial exception is not integrated into a practical application. The additional elements “a controller”, “a cache of a cluster of processor cores”, “processing circuitry”, and “a storage medium storing instructions” are recited at a high-level of generality such that they amount no more than mere instructions to apply the exception using generic computer, and/or mere computer components, MPEP 2106.05(f), and “select a best ranked combination out of the at least one combination of tasks” do nothing more than add insignificant extra solution activity to the judicial exception of merely gathering data. Accordingly, the additional elements do not integrate the recited judicial exception into a practical application and the claim is therefore directed to the judicial exception. See MPEP 2106.05(g).
Under Step 2B, the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of “a controller”, “a cache of a cluster of processor cores”, “processing circuitry”, and “a storage medium storing instructions” amount to no more than mere instructions, or generic computer/computer components to carry out the exception, and for the limitation “select a best ranked combination out of the at least one combination of tasks” the courts have identified mere data/information gathering is well-understood, routine and conventional activity. See MPEP 2106.05(d). The recitation of generic computer instruction and computer components to apply the judicial exception, and merely gathering data/information do not amount to significantly more, thus, cannot provide an inventive concept. Accordingly, the claim is not patent eligible under 35 USC 101.
Regarding claim 42, the limitations “ranking different task groupings, each task grouping being a respective combination of tasks for scheduling to one of the caches, wherein the ranking for each task grouping is determined as a function of the group-wise task relationships and a cost for any task-to-cache migrations needed to form the task grouping”; and “assigning respective tasks to respective caches based on the ranking of the different task groupings” as drafted, are functions that, under its broadest reasonable interpretation, recite the abstract idea of a mental process. The limitations encompass a human mind carrying out the function through observation, evaluation, judgment and /or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas under Prong 1.
Under Prong 2, this judicial exception is not integrated into a practical application. The additional elements “scheduling tasks to caches for execution”, “a plurality of processor cores”, “a plurality of caches” are recited at a high-level of generality such that they amount no more than mere instructions to apply the exception using generic computer, and/or mere computer components, MPEP 2106.05(f). Accordingly, the additional elements do not integrate the recited judicial exception into a practical application and the claim is therefore directed to the judicial exception. See MPEP 2106.05(g).
Under Step 2B, the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of “scheduling tasks to caches for execution”, “a plurality of processor cores”, “a plurality of caches” amount to no more than mere instructions, or generic computer/computer components to carry out the exception. After considering all claim elements individually and as an ordered combination, it is determined that the claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception for the reasons given above with respect to integration of the abstract idea into a practical application. Therefore, the claim is not patent eligible.
Claim Rejections - 35 USC § 103
6 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent may not be obtained though the invention is not identically disclosed or described as set forth in section 102 of this title, if the differences between the subject matter sought to be patented and the prior art are such that the subject matter as a whole would have been obvious at the time the invention was made to a person having ordinary skill in the art to which said subject matter pertains. Patentability shall not be negatived by the manner in which the invention was made.
Claims 23-42 are rejected under 35 U.S.C. 103 as being unpatentable over Aberg et al. (US 20190243689) in view of Wolfe et al. (US 20110066830).
It is noted that any citations to specific, pages, columns, paragraphs, lines, or figures in the prior art references and any interpretation of the reference should not be considered to be limiting in any way. A reference is relevant for all it contains and may be relied upon for all that it would have reasonably suggested to one having ordinary skill in the art. See MPEP 2123.
As to claim 23:
Aberg teaches a method for scheduling a first task for a cache of a cluster of processor cores executing one or more tasks (Abstract: scheduling a task from a plurality of tasks to a processor core of a cluster of processor cores. The processor cores share caches), the method being performed by a controller (Abstract: A method is performed by a controller), the method comprising:
determining task relationships for the one or more tasks being executed ([0007]: determining group-wise task relationships between the plurality of tasks based on duration of cache misses resulting from running groups of the plurality of tasks on processor cores sharing the same cache; [0036] S102: The controller 200 determines group-wise task relationships between the plurality of tasks 160 based on duration of cache misses resulting from running groups of the plurality of tasks 160 on processor cores 180 sharing the same cache 190);
determining ranking for at least one combination of tasks based on the one or more tasks being executed, taking into account the first task to be scheduled; selecting a best ranked combination out of the at least one combination of tasks; and scheduling the first task according to the selected combination ([0038-0041]: S104: The controller 200 schedules the task 150 to one of the processor cores 170 based on the group-wise task relationships of the task 150... This method introduces a way to sample data enough to provide (real-time) updated information on which tasks of a plurality of tasks 160 are suited to run together, and also which tasks should avoid executing together in a cluster of processor cores 180. This means that tasks are scheduled with respect to the relationship with other tasks. This relationship is in turn determined based on how well the tasks perform together in the caches 190. That is, instead of scheduling tasks 160 to cores 180, the tasks 160 are scheduled to caches 190 (associated with the cores 180)... the task 150 is scheduled to the processor core 170 corresponding to the group-wise task relationship of the task with minimum value. Each group-wise task relationship could be based on averaged individual task relationships; see also, Fig.3 and the associated text);
Aberg, however, does not explicitly teach, Wolfe teaches determining a migration cost for at least one task to be migrated to accomplish the at least one combination ([0021]: determining whether or not to migrate a thread to a different core and/or when to perform such a migration may include evaluating of at least a portion of an execution profile that may include data related to a prior execution of the thread; [0026]: a Bloom filter may be used to track which portions of the cache are being used by the current thread. For example, the filter may be emptied when the thread is first scheduled onto the core. Each time a cache line is used by the thread, it may be added to the filter set. A sequence of queries may be used to estimate the thread footprint in order to evaluate the cost of cache data migration; Fig.3 and [0032]: the thread is to be migrated from a first processor core associated with a first cache to a second processor core, the second processor core being associated with one or more of a buffer and/or a second cache).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Aberg with Wolfe because it would have provided the enhanced capability for transferring data in anticipation of thread migration between cores.
As to claim 24:
Aberg teaches storing the determined task relationship ([0051]).
As to claim 25:
Aberg does not explicitly teach, Wolfe teaches effecting one or more migrations ([0021-0022] and [0027-0028]).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Aberg with Wolfe because it would have provided the enhanced capability for transferring data in anticipation of thread migration between cores.
As to claim 26:
Aberg does not explicitly teach, Wolfe teaches storing the migration cost(s) of the one or more migrations ([0021-0022] and [0026-0027]).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Aberg with Wolfe because it would have provided the enhanced capability for transferring data in anticipation of thread migration between cores.
As to claim 27:
Aberg teaches the task relationship for a group of tasks is based on averaged individual task relationships ([0041] and claim 23).
As to claim 28:
Aberg teaches the task relationship for a group of tasks is based on task relationships over time ([0051]).
As to claim 29:
Aberg teaches the task relationship for the first task is based on a ratio between the duration (tcl-tc0) of cache misses and total duration (tl-t0) of running the first task ([0045]).
As to claim 30:
Aberg teaches the task relationship for the first task is based on the cache to execute the task ([0045] and [0051]).
As to claim 31:
Aberg teaches the task relationship for a group of tasks is determined as the sum of the task relationship for each task in the group of tasks ([0009] and [0051]).
As to claim 32:
Aberg does not explicitly teach, Wolfe teaches the at least one combination of tasks is based on a maximum number of migrations allowed (M) wherein the at least one combination of tasks corresponds to all possible combinations of tasks including the first task with a maximum of M migrations ([0027-0028] and [0030-0032]).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Aberg with Wolfe because it would have provided the enhanced capability for transferring data in anticipation of thread migration between cores.
As to claim 33:
Aberg does not explicitly teach, Wolfe teaches the at least one combination of tasks corresponds to all possible combinations of tasks including the first task regardless of migration ([0016-0018] and [0027-0028]).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Aberg with Wolfe because it would have provided the enhanced capability for transferring data in anticipation of thread migration between cores.
As to claim 34:
Aberg teaches the at least one combination of tasks is based on an even distribution of tasks to caches ([0009] and [0051]).
As to claim 35:
Aberg teaches distribution of tasks to caches is based on the number of tasks divided by the number of caches ([0009-0010] and [0044-0045]).
As to claim 36:
Aberg teaches distribution of tasks to caches is based on the size and capabilities of the caches and the requirements of the tasks ([0009-0010] and [0045-0046]).
As to claim 37:
Aberg teaches all caches are shared by equally many of the processor cores ([0052] and claim 30).
As to claim 38:
Aberg teaches the caches are shared by unequally many of the processor cores ([0052] and claim 31).
s to claim 39:
Aberg teaches the tasks are software threads ([0053] and claim 33).
As to claim 40:
Refer to the discussion of claim 1 above for rejection. Claim 40 is the same as claim 1, except claim 40 is “a controller” claim and claim 1 is “a method” claim. Additionally, Aberg teaches a controller ([0007]: The method is performed by a controller) and processing circuitry ([0009]: The controller comprises processing circuitry).
As to claim 41:
Refer to the discussion of claim 1 above for rejection. Claim 41 is the same as claim 1, except claim 41 is “a controller” claim and claim 1 is “a method” claim. Additionally, Aberg teaches a controller ([0007]: The method is performed by a controller), processing circuitry ([0009]: The controller comprises processing circuitry), and a storage medium storing instructions ([0009]: The controller comprises ...a storage medium. The storage medium stores instructions)
As to claim 42:
Aberg teaches a method ([0006-0007]) of scheduling tasks (scheduling of tasks) to caches for execution wherein there is a plurality of processor cores (a cluster of processor cores) and a plurality of caches (caches), and each cache is associated with one or more processor cores from among a plurality of processor cores, the method comprising:
ranking different task groupings, each task grouping being a respective combination of tasks for scheduling to one of the caches, wherein the ranking for each task grouping is determined as a function of the group-wise task relationships ([0038-0041]: S104: The controller 200 schedules the task 150 to one of the processor cores 170 based on the group-wise task relationships of the task 150... This method introduces a way to sample data enough to provide (real-time) updated information on which tasks of a plurality of tasks 160 are suited to run together, and also which tasks should avoid executing together in a cluster of processor cores 180. This means that tasks are scheduled with respect to the relationship with other tasks. This relationship is in turn determined based on how well the tasks perform together in the caches 190. That is, instead of scheduling tasks 160 to cores 180, the tasks 160 are scheduled to caches 190 (associated with the cores 180)... the task 150 is scheduled to the processor core 170 corresponding to the group-wise task relationship of the task with minimum value. Each group-wise task relationship could be based on averaged individual task relationships; see also, Fig.3 and the associated text; and [0045-0051); and
assigning respective tasks to respective caches based on the ranking of the different task groupings. ([0035-0039] :The method is based on determining task relationship between tasks 160 based on how well the tasks perform together in the caches 190This method introduces a way to sample data enough to provide (real-time) updated information on which tasks of a plurality of tasks 160 are suited to run together, and also which tasks should avoid executing together in a cluster of processor cores 180. This means that tasks are scheduled with respect to the relationship with other tasks. This relationship is in turn determined based on how well the tasks perform together in the caches 190. That is, instead of scheduling tasks 160 to cores 180, the tasks 160 are scheduled to caches 190 (associated with the cores 180)).
Aberg, however, does not explicitly teach, Wolfe teaches a cost for any task-to-cache migrations needed to form the task grouping ([0021]: determining whether or not to migrate a thread to a different core and/or when to perform such a migration may include evaluating of at least a portion of an execution profile that may include data related to a prior execution of the thread; [0026]: a Bloom filter may be used to track which portions of the cache are being used by the current thread. For example, the filter may be emptied when the thread is first scheduled onto the core. Each time a cache line is used by the thread, it may be added to the filter set. A sequence of queries may be used to estimate the thread footprint in order to evaluate the cost of cache data migration; Fig.3 and [0032]: the thread is to be migrated from a first processor core associated with a first cache to a second processor core, the second processor core being associated with one or more of a buffer and/or a second cache).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Aberg with Wolfe because it would have provided the enhanced capability for transferring data in anticipation of thread migration between cores.
Conclusion
8. The prior art made of record, listed on PTO 892 provided to Applicant is considered to have relevancy to the claimed invention. Applicant should review each identified reference carefully before responding to this office action to properly advance the case in light of the prior art.
Contact Information
9. Any inquiry concerning this communication or earlier communications from the examiner should be directed to VAN H. NGUYEN whose telephone number is (571) 272-3765. The examiner can normally be reached on Monday- Friday from 9:00AM to 5:30 PM.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, LEWIS BULLOCK, can be reached at telephone number (571) 272-3759. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from Patent Center and the Private Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from Patent Center or Private PAIR. Status information for unpublished applications is available through Patent Center or Private PAIR to authorized users only. Should you have questions about access to Patent Center or the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free).
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) Form at https://www.uspto.gov/patents/uspto-automated- interview-request-air-form.
/VAN H NGUYEN/Primary Examiner, Art Unit 2199