| CPC G06F 9/45558 (2013.01) [G06F 9/5016 (2013.01); G06F 9/5038 (2013.01); G06F 9/5077 (2013.01); G06F 12/0253 (2013.01); G06F 2009/45583 (2013.01)] | 12 Claims |

|
1. A method for resource scheduling, comprising:
identifying a job initiated by a virtual machine, wherein the job requests to invoke at least one virtual function of a set of virtual functions associated with the virtual machine, and each virtual function of the set of virtual functions utilizes an accelerator resource to provide a single type of acceleration service of a set of accelerator services to the virtual machine, wherein the set of acceleration services comprises at least one of: an encryption service, a decryption service, a hashing service, a compression service, or a decompression service, wherein each virtual function is exclusively associated with a single type of accelerator service of the set of accelerator services;
determining, based on a job type of the identified job, a first accelerator resource allocated to the at least one virtual function, wherein the determining comprises:
determining a first scheduling policy based on the job type, wherein the first scheduling policy indicating a first scheme for scheduling accelerator resources among different virtual machines, wherein the first scheduling policy is generated using a machine learning model, wherein the machine learning model is trained using features corresponding to scenarios and features related to job types as an input, and accelerator resource allocation rules constructed as testing data;
determining, based on the first scheduling policy, a second accelerator resource currently allocated to the virtual machine;
determining, based on the second accelerator resource, the first accelerator resource currently allocated to the at least one virtual function; and
performing the identified job, invoking the at least one virtual function, using the first accelerator resource.
|