System and method for fast context switching between tasks
First Claim
1. A method of fast context switching on a data processing system including a processor, backing store, temporary storage, and a shared system resource, the processor being coupled to the backing store, the temporary storage, and the shared system resource, the method comprising the steps of:
- executing a current task on the processor;
utilizing a shared system resource for storing a designated component of information of the current task;
maintaining a map data structure accessible by the processor and containing utilization data of the shared system resource of the current task;
preparing to execute an incoming task on the processor;
loading into temporary storage the shared system resource utilization of the current task;
loading into temporary storage a projected shared system resource utilization of the incoming task;
accessing the map data structure to determine available portions of the shared system resource;
comparing the shared system resources of the current task and available portions of the shared system resource to projected utilization of the shared system resource of the incoming task; and
swapping to the backing store only those portions of the shared system resource utilized by the current task necessary to accommodate projected shared system resource utilization of the incoming task.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and method for fast context switching between tasks by tracking task utilization of shared system resources and optimizing swapping the shared system resources to backing store by computing the difference between the current task'"'"'s utilization of the system resources and the incoming task'"'"'s utilization of the shared system resources and only swapping to backing store the difference between the current task'"'"'s utilization, the available system resources, and the incoming task'"'"'s needs.
87 Citations
9 Claims
-
1. A method of fast context switching on a data processing system including a processor, backing store, temporary storage, and a shared system resource, the processor being coupled to the backing store, the temporary storage, and the shared system resource, the method comprising the steps of:
-
executing a current task on the processor; utilizing a shared system resource for storing a designated component of information of the current task; maintaining a map data structure accessible by the processor and containing utilization data of the shared system resource of the current task; preparing to execute an incoming task on the processor; loading into temporary storage the shared system resource utilization of the current task; loading into temporary storage a projected shared system resource utilization of the incoming task; accessing the map data structure to determine available portions of the shared system resource; comparing the shared system resources of the current task and available portions of the shared system resource to projected utilization of the shared system resource of the incoming task; and swapping to the backing store only those portions of the shared system resource utilized by the current task necessary to accommodate projected shared system resource utilization of the incoming task. - View Dependent Claims (2, 3, 4)
-
-
5. A system for fast context switching on a processing system comprising:
-
a data processing system including a processor, backing store, temporary storage, and a shared system resource, the processor being coupled to the backing store, the temporary storage, and the shared system resource; a current task and an incoming task running on the processor capable of using the shared system resource during task processing, the current task being the task executing instructions on the processor, the incoming task being the task ready to execute instructions on the processor; a system resource map data structure for tracking the utilization of the shared system resource; a system routine for arbitrating the usage of the shared system resource, the system routine including; means for loading into temporary storage the current task'"'"'s shared system resource utilization; means for loading into temporary storage the incoming task'"'"'s projected shared system resource utilization; means for accessing the map data structure to determine available portions of the shared system resource; means for comparing the current task'"'"'s shared system resources and the available portions of the shared system resource to the incoming task'"'"'s projected utilization of the shared system resource; and means for swapping to the backing store only those portions of the shared system resource utilized by the current task necessary to accommodate the incoming task'"'"'s projected shared system resource utilization. - View Dependent Claims (6, 7, 8, 9)
-
Specification