DETAILED ACTION
This Non-Final Office action is in response to Applicant’s filing on 11/17/2022. Claims 1-7 are pending. The effective filing date of the claimed invention is 11/17/2022.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-7 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 1 recites the limitation “distributed deep learning jobs” in line 4. This renders the claim indefinite as, prior to this, Applicant recites “a plurality of distributed deep learning jobs” in line 3, and it is unclear if the jobs in line 4 are selected from the prior claimed “a plurality of distributed deep learning jobs” or are different than those jobs. The examiner recommends amending claim 1 line 4 to include “selecting distributed deep learning jobs from the plurality of distributed deep learning jobs. . . .” Appropriate correction is required.
Claim Rejections - 35 USC § 101
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 1-7 are rejected under 35 U.S.C. 101 because the claims are directed to abstract idea.
Step 1 – Claims 1-7 are process claims. Step 1 is satisfied.
Step 2A, Prong 1 – Exemplary claim 1 recites the following abstract idea concepts:
A distributed deep learning job ordering method, the method comprising: profiling each of a plurality of distributed deep learning jobs (see e.g. MPEP 2106.04(a)(2)(III) and (I)); and selecting distributed deep learning jobs to concurrently run based on profiling results (see e.g. MPEP 2106.04(a)(2)(III) and (I).
When viewed alone and in ordered combination, these abstract idea concepts are found to recite abstract idea.
Step 2A, Prong 2 – Exemplary claim 1 is not found to integrate the abstract idea with practical application. Claim 1 recites the following additional elements:
Where the abstract idea is performed by a computing device comprising at least a processor. The examiner refers to MPEP 2106.05(f) mere instructions to apply an exception on a computer has not been found to meaningfully limit the claim. The computer is used as a tool in a generic sense to implement the abstract idea. Accordingly, claim 1 is found to be directed to abstract idea.
Step 2B – Exemplary claim 1 is not found to recite significantly more. The additional element analysis of Step 2A, Prong 2 is equally applied to Step 2B. Another consideration when determining whether a claim recites significantly more than a judicial exception is whether the additional element(s) are well-understood, routine, conventional activities previously known to the industry. This consideration is only evaluated in Step 2B of the eligibility analysis. See MPEP 2106.05(d). The courts have recognized the following computer functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity.
For the profiling, the examiner refers to e.g. iv. Storing and retrieving information in memory, Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015); OIP Techs., 788 F.3d at 1363, 115 USPQ2d at 1092-93;
v. Electronically scanning or extracting data from a physical document, Content Extraction and Transmission, LLC v. Wells Fargo Bank, 776 F.3d 1343, 1348, 113 USPQ2d 1354, 1358 (Fed. Cir. 2014) (optical character recognition); where the Federal Circuit found similar limitations to be WURC.
Accordingly, the examiner finds exemplary claim 1 to be directed to abstract idea.
Dependent claims – For claim 2, the examiner refers to abstract idea concepts of MPEP 2106.04(a)(2)(II), and further MPEP 2106.05(d)(II), where extracting data from document is found to be WURC. For claim 3-4, the examiner refers to the analysis from claim 1. For claim 5, see MPEP 2106.04(a)(2)(C) Other examples of managing personal behavior recited in a claim include: i. filtering content, BASCOM Global Internet v. AT&T Mobility, LLC, 827 F.3d 1341, 1345-46, 119 USPQ2d 1236, 1239 (Fed. Cir. 2016) (finding that filtering content was an abstract idea under step 2A, but reversing an invalidity judgment of ineligibility due to an inadequate step 2B analysis). For claim 6, the selecting of a job is abstract idea. See MPEP 2106.05(a)(2)(II). For claim 7, this is a definition and defines a mathematical concept. See MPEP 2106.04(a)(2)(I).
Claim Rejections - 35 USC § 102
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 (i.e., changing from AIA to pre-AIA ) 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 the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1-5 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Gandiva: Introspective Cluster Scheduling for Deep Learning. Wencong Xiao, et al. https://www.usenix.org/conference/osdi18/presentation/xiao. This paper is included in the Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI ’18). (October 8–10, 2018) Carlsbad, CA, USA ISBN 978-1-939133-08-3 (hereinafter referred to as “Gandiva” (pdf attached)).
With regard to claim 1, Gandiva discloses the claimed distributed deep learning job ordering method performed by a computing device comprising at least a processor, the method comprising:
profiling each of a plurality of distributed deep learning jobs (see Gandiva e.g. pg 600, “Profiling” and This is achieved through a continuous optimization process that uses profiling and a greedy heuristic that takes advantage of mechanisms such as packing, migration, and grow-shrink; pg 601 When jobs arrive, we always run them in exclusive mode using suspend-resume and collect profiling information (GPU utilization, memory and job progress rate).; pg 604 Instead, Gandiva adopts a profiling-based approach to packing; pg 596 Gandiva also uses the predictability to perform profile driven introspection. It uses the mini-batch progress rate to introspect its decisions continuously to improve cluster efficiency (Section 4); pg 596 the Gandiva framework provides the following APIs that any DLT scheduling policy can leverage: … (c) fine-grained profiling,); and
selecting distributed deep learning jobs to concurrently run based on profiling results (see Gandiva, pg 596 For example, it packs multiple jobs on the same GPU only when they have low memory and GPU utilization; it dynamically migrates a communication intensive job to more affinitized GPUs; it also opportunistically “grows” the degree of parallelism of a job to make use of spare resources, and shrinks the job when the spare resources go away.; see pg 603-604, Packing; pg 600 This is achieved through a continuous optimization process that uses profiling and a greedy heuristic that takes advantage of mechanisms such as packing; for concurrently, see page 599 An alternative to suspend-resume for time-slicing is to run multiple DLT jobs on a GPU simultaneously and let the GPU time-share the jobs. We call this packing. Packing in GPU is efficient only when the packed jobs do not exceed the GPU resources (cores, memory) and do not adversely impact each other (emphasis added)).
With regard to claim 2, Gandiva further discloses where the profiling comprises extracting an active duration, an idle duration, and a graphics processing unit (GPU) memory utilization of each of the plurality of distributed deep learning jobs (see e.g. pg 596, 599, 601, 602 where Gandiva continuously monitors GPU utilization and memory usage of each job to guide scheduling decisions; active duration is when GPU utilization is high; idle duration is when GPU usage is low; memory usage is memory utilization; see page 596, where Gandiva uses the mini-batch progress rate to introspect job behavior, where mini batch process rate is a direct measure of active computation against waiting/stall time, which functionally corresponds to active and idle periods).
With regard to claim 3, Gandiva further discloses where the selecting comprises: selecting one distributed deep learning job from among the plurality of distributed deep learning jobs (see e.g. 599 jobs to run simultaneously, packing on same GPU); and selecting another distributed deep learning job to concurrently run with the one distributed deep learning job from among the plurality of distributed deep learning jobs based on the active duration, the idle duration, and the GPU memory utilization (see e.g. 599 jobs to run simultaneously, packing on same GPU; see e.g. pg 596, 599, 601, 602 where Gandiva continuously monitors GPU utilization and memory usage of each job to guide scheduling decisions; active duration is when GPU utilization is high; idle duration is when GPU usage is low; memory usage is memory utilization; see page 596, where Gandiva uses the mini-batch progress rate to introspect job behavior, where mini batch process rate is a direct measure of active computation against waiting/stall time, which functionally corresponds to active and idle periods).
With regard to claim 4, Gandiva further discloses where the selecting of the one distributed deep learning job comprises selecting a first distributed deep learning job in a run queue as the one distributed deep learning job (see page 595-596, jobs waiting to run are maintained by the scheduler and are considered for execution or packing decisions, where the waiting jobs are in a run queue).
With regard to claim 5, Gandiva further discloses where the selecting of the other distributed deep learning job comprises filtering out distributed deep learning jobs that require a memory greater than a value acquired by subtracting a maximum GPU memory utilization of the one distributed deep learning job from GPU memory capacity, among the plurality of distributed deep learning jobs (see e.g. pg 601, Packing. Packing is considered only during overload. The basic idea behind packing is to run two or more jobs simultaneously on a GPU to increase efficiency. If the memory requirements of the packing jobs combined are higher than GPU memory, the overhead of “paging” from CPU memory is significantly high [16] that packing is not effective. When the memory requirements of two or more jobs are smaller than GPU memory, packing still may not be more efficient than suspend-resume as we show in Section 6.1. For example, for some DLT jobs, packing increases efficiency, while for others packing can be worse than suspend-resume.).
Claim Rejections - 35 USC § 103
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 (i.e., changing from AIA to pre-AIA ) 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 for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 6-7 are rejected under 35 U.S.C. 103 as being unpatentable over Gandiva in view of U.S. Pat. Pub. No. 2012/0317578 to Kansal et al. (“Kansal”).
With regard to claim 6-7, as shown above, Gandiva discloses identifying GPU-active and GPU-idle behavior of jobs, and selecting a second job to co-run with a first job based on complementary execution characteristics, among other things. However, Gandiva does not disclose computing a numeric “active-idle ratio” computing the inverse of such an active-idle ratio, and selecting a job whose active-idle ratio is closest to the inverse of the active-idle ratio of another job. Kansal teaches at e.g. [0004] [0007] [0028] [0037] [0006], [0029-34], [0049-50] that it would have been obvious to one of ordinary skill in the GPU-based jobs clusters art to include the ability to monitor and collect resource usage data, quantitative usage data (Kansal at [0028]), Kansal teaches identifying complementary jobs based on utilization ([0037] Two or more jobs are complementary when each job overloads different resources. Some of these jobs underutilize another resource. For example, the complementary jobs include one or more jobs that overload a particular resource of which one or more other jobs utilize a negligible amount.), Kansal teaches using resource usage for allocation proportionally (see e.g. [0006], [0029-33], [0049-50], with the active-idle ratio throughout at e.g. [0031] [0034]), and where the complementary matches are equal to the inverse relationship as claimed. For claim 7, Kansal teaches that the usage data can be expressed in ratio form (e.g. [0031, 34]), where a person having ordinary skill in the art would understand that a ratio is correlation of two numbers, as shown in Kansal, and as claimed. Therefore, it would have been obvious to one of ordinary skill in the GPU-based job execution/scheduling art before the effective filing date of the claimed invention to modify Gandiva’s prodiling-based DL job selection with Kansal’s complementary resource usage teaching as one of the benefits is that this “increases resource allocation for a high priority job in order to improve a completion time. In yet another aspect, the assignment mechanism modifies a current resource allocation in response to an assignment of one or more new jobs. For example, the assignment mechanism decreases an amount of processor time that is allocated to the two or more complementary jobs if the one or more new jobs overload a processor.” Kansal [0007]. See improvements mentioned in Kansal at [0004] [0007] etc.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Peter Ludwig whose telephone number is (571)270-5599. The examiner can normally be reached Mon-Fri 9-5.
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) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Fahd Obeid can be reached at 571-270-3324. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/PETER LUDWIG/Primary Examiner, Art Unit 3627