Method for job scheduling with prediction of upcoming job combinations
First Claim
Patent Images
1. A method, comprising:
- receiving a request to execute a current set of jobs, the current set of jobs including two or more jobs to be executed by at least one processor, wherein the jobs correspond to software defined radios;
retrieving a predetermined schedule corresponding to the current set of jobs;
executing the current set of jobs according to the predetermined schedule, including the two or more jobs;
determining, during execution of the current set of jobs, all possible combinations of sets of jobs that may result after a given change in the current set of jobs, so that the two or more jobs are not interrupted;
creating a plurality of schedules and each of the plurality of schedules is for each of said all possible combinations of sets of jobs that may result after the given change in the current set of jobs, wherein each said plurality of schedules is created dependent upon a job set arrival path to the given change in the current set of jobs that includes the two or more jobs;
storing each said plurality of schedules created for each of said all possible combination sets of jobs;
retrieving a schedule from each of said plurality of schedules after the given change in the current set of jobs based on the job set arrival path; and
executing the current set of jobs after the given change, according to the retrieved schedule, wherein the given change in the current set of jobs is adding or removing one job at a time from the current set of jobs.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for scheduling different combinations of jobs simultaneously running on a shared hardware platform is disclosed. Schedules may be created while executing the current set of jobs, for one or more possible sets of jobs that may occur after a change in the current set of jobs. In at least one embodiment, the present invention may be implemented in a SDR system where the jobs may correspond to radios in the SDR system. The possible combinations of radios that may occur after a change in the set of currently running radios may be determined at run time by adding or removing one radio at a time from the set of currently running radios.
13 Citations
10 Claims
-
1. A method, comprising:
-
receiving a request to execute a current set of jobs, the current set of jobs including two or more jobs to be executed by at least one processor, wherein the jobs correspond to software defined radios; retrieving a predetermined schedule corresponding to the current set of jobs; executing the current set of jobs according to the predetermined schedule, including the two or more jobs; determining, during execution of the current set of jobs, all possible combinations of sets of jobs that may result after a given change in the current set of jobs, so that the two or more jobs are not interrupted; creating a plurality of schedules and each of the plurality of schedules is for each of said all possible combinations of sets of jobs that may result after the given change in the current set of jobs, wherein each said plurality of schedules is created dependent upon a job set arrival path to the given change in the current set of jobs that includes the two or more jobs; storing each said plurality of schedules created for each of said all possible combination sets of jobs; retrieving a schedule from each of said plurality of schedules after the given change in the current set of jobs based on the job set arrival path; and executing the current set of jobs after the given change, according to the retrieved schedule, wherein the given change in the current set of jobs is adding or removing one job at a time from the current set of jobs. - View Dependent Claims (2, 3)
-
-
4. An apparatus, comprising:
-
at least one radio component; and at least one processor; the at least one processor configured to cause the apparatus at least to perform; receive a request to execute a current set of radios, the current set of radios including two or more radios to be executed by the at least one processor, wherein the radios correspond to software defined radios; retrieve a predetermined schedule corresponding to the current set of radios; execute the current set of radios according to the predetermined schedule, including the two or more radios; determine, during execution of the current set of radios, all possible combinations of sets of radios that may result after a given change in the current set of radios, so that the two or more radios are not interrupted; create a plurality of schedules and each of the plurality of schedules is for each of said all possible combinations of sets of radios that may result after the given change in the current set of radios, wherein each said plurality of schedules is created dependent upon a radio set arrival path to the given change in the current set of radios that includes the two or more radios; store each said plurality of schedules created for each of said all possible combination sets of radios; retrieve a schedule from each of said plurality of schedules after the given change in the current set of radios based on the radio, set arrival path; and execute the current set of radios after the given change, according to the retrieved schedule, wherein the given change in the current set of radios is adding or removing one radio, at a time from the current set of radios. - View Dependent Claims (5, 6)
-
-
7. A computer program product comprising computer executable program code recorded on a non-transitory computer readable storage medium, the computer executable program code comprising:
-
code for causing receipt of a request to execute a current set of jobs, the current set of jobs including two or more jobs to be executed by at least one processor, wherein the jobs correspond to software defined radios; code for causing retrieval of a predetermined schedule corresponding to the current set of jobs; code for causing execution of the current set of jobs according to the predetermined schedule, including the two or more jobs; code for causing determination of, during execution of the current set of jobs, all possible combinations of sets of jobs that may result after a given change in the current set of jobs, so that the two or more jobs are not interrupted; code for causing creation of a plurality of schedules and each of the plurality of schedules is for each of said all possible combinations of sets of jobs that may result after the given change in the current set of jobs, wherein each said plurality of schedules is created dependent upon a job set arrival path to the given change in the current set of jobs that includes the two or more jobs; code for storing each said plurality of schedules created for each of said all possible combination sets of jobs; code for retrieving a schedule from each of said plurality of schedules after the given change in the current set of jobs based on the job set arrival path; and code for executing the current set of jobs after the given change, according to the retrieved schedule, wherein the given change in the current set of jobs is adding or removing one job at a time from the current set of jobs.
-
-
8. A chipset comprising:
-
at least one processor; at least one controller module, the controller module configured to cause the chipset at least to perform; receive a request to execute a current set of jobs, the current set of jobs including two or more jobs to be executed by at least one processor, wherein the jobs correspond to software defined radios; retrieve a predetermined schedule corresponding to the current set of jobs; execute the current set of jobs according to the predetermined schedule, including the two or more jobs; determine, during execution of the current set of jobs, all possible combinations of sets of jobs that may result after a given change in the current set of jobs, so that the two or more jobs are not interrupted; create a plurality of schedules and each of the plurality of schedules is for each of said all possible combinations of sets of jobs that may result after the given change in the current set of jobs, wherein each said plurality of schedules is created dependent upon a job set arrival path to the given change in the current set of jobs that includes the two or more jobs; store each said plurality of schedules created for each of said all possible combination sets of jobs; retrieve a schedule from each of said plurality of schedules after the given change in the current set of jobs based on the job set arrival path; and execute the current set of jobs after the given change, according to the retrieved schedule, wherein the given change in the current set of jobs is adding or removing one job at a time from the current set of jobs. - View Dependent Claims (9, 10)
-
Specification