Operating System for Distributed Enterprise Artificial Intelligence Programs on Data Centers and the Clouds
Abstract
A system including a master machine and a plurality of worker machines is disclosed. the master machine includes, for example, an API server configured to receive a job description; a resource allocation module configured to determine a number of virtual machines required to perform a job based on the job description; a container scheduling module configured to create a container containing the number of virtual machines required to perform the job, wherein at least two of the virtual machines in the container resides on different worker machines, and wherein each of the virtual machines is configured to run a same application to perform the job.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system comprising a master machine and a plurality of worker machines, the master machine comprising:
an API server configured to receive a job description; a resource allocation module configured to determine a number of virtual machines required to perform a job based on the job description; a container scheduling module configured to create a container containing the number of virtual machines required to perform the job, wherein at least two of the virtual machines in the container resides on different worker machines, and wherein each of the virtual machines is configured to run a same application to perform the job.
2 . The system of claim 1 , wherein the master machine further comprises a database module configured to store job descriptions.
3 . The system of claim 2 , wherein the master machine further comprises a data tracking module configured to track the location of one or more datasets stored in the database module.
4 . The system of claim 1 , wherein the master machine further comprises an event server configured to broadcast the job description to the container scheduling module and the resource allocation module.
5 . The system of claim 1 , wherein the job description corresponds to one of uploading an application program, uploading a dataset, and running an application program on the worker machines.
6 . The system of claim 1 , wherein the master machine further comprises a web server configured to receive a job description from a web interface.
7 . The system of claim 1 , wherein each of the worker machines comprises an MLEngine configured for running a machine learning program.
8 . The system of claim 1 , wherein the master machine further comprises an authentication module configured for authenticating users.
9 . The system of claim 1 , wherein at least one of the work machines hosts at least two virtual machines belonging to different containers.
10 . The system of claim 1 , further comprising an application cluster containing one or more applications that can run on the virtual machines on the worker machine.
11 . The system of claim 1 , wherein each of the worker machines comprises an MLEngine configured to carry out computation and training of machine learning models.
12 . The system of claim 1 , wherein the master machine further comprises a MLEngine Scheduler configured to verify the job description.
13 . A method of running an application comprising:
receiving a job description from a client; storing the job description in a database; determining a number of virtual machines needed to perform a job based on the job description; creating a distributed container containing the number of virtual machines across a plurality of physical machines; and enabling instances of an application on each of the virtual machines to perform the job.
14 . The method of claim 13 , wherein the job description is received at a master machine in communication with a plurality of worker machines, and the job description corresponds to one of uploading an application program, uploading a dataset, and running an application program on the worker machines.
15 . The method of claim 14 , wherein at least two of the virtual machines in the container resides on different worker machines.
16 . The method of claim 14 , each of the worker machines comprises an MLEngine configured for running a machine learning program.
17 . A non-transitory computer-readable medium comprising instructions which, when executed by a processor, initiate a process comprising:
receiving a job description from a client; storing the job description in a database; determining a number of virtual machines needed to perform a job based on the job description; creating a distributed container containing the number of virtual machines across a plurality of physical machines; and enabling instances of an application on each of the virtual machines to perform the job.
18 . The non-transitory computer-readable medium of claim 17 , wherein the job description is received at a master machine in communication with a plurality of worker machines, and the job description corresponds to one of uploading an application program, uploading a dataset, and running an application program on the worker machines.
19 . The non-transitory computer-readable medium of claim 18 , wherein at least two of the virtual machines in the container resides on different worker machines.
20 . The non-transitory computer-readable medium of claim 18 , wherein each of the worker machines comprises an MLEngine configured for running a machine learning program.Join the waitlist — get patent alerts
Track US2020379789A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.