US2011010716A1PendingUtilityA1

Domain Bounding for Symmetric Multiprocessing Systems

Assignee: RAGHURAMAN ARVINDPriority: Jun 12, 2009Filed: Jun 14, 2010Published: Jan 13, 2011
Est. expiryJun 12, 2029(~2.8 yrs left)· nominal 20-yr term from priority
Y02D10/00G06F 9/54G06F 9/5033G06F 9/4881G06F 9/5088
33
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and apparatuses for developing symmetric and asymmetric software applications on a single monolithic symmetric multiprocessing operating system are disclosed. An enabling framework for one or all of the following software design patterns; application work load sharing between all processors present in a multi-processor system in a symmetric fashion, application work load sharing between all processors present in a multi-processor system in a asymmetric fashion using task to processor soft affinity declarations, application work load sharing between all processors present in a multi-processor system using bound computational domains may be provided. Further, a particular computational task or a set of computational tasks may be bound to a particular processing unit. Subsequently, when one such task is to be scheduled, the symmetric multiprocessing operating system ensures that the bound processing unit processes the instruction. When the bound processing unit is not processing the particular computational instruction, the bound processing unit may enter a low power or idle state.

Claims

exact text as granted — not AI-modified
1 . A computer-implemented method for bounding the processing domain in a symmetric multiprocessing system, the method comprising:
 identifying a symmetric multiprocessing system, the symmetric multiprocessing system including a plurality of processing units;   identifying a plurality of tasks to be scheduled for execution by the symmetric multiprocessing system;   forming a computationally bound task queue;   moving selected ones of the plurality of tasks to be scheduled to the computationally bound task queue; and   bounding the processing domain for the computationally bound task queue.   
     
     
         2 . The computer-implemented method recited in  claim 1 , further comprising:
 causing a symmetric multiprocessing operating system to boot onto a one of the plurality of processing units.   
     
     
         3 . The computer-implemented method recited in  claim 2 , further comprising:
 loading a symmetric multiprocessing operating system scheduler.   
     
     
         4 . The computer-implemented method recited in  claim 3 , the method act for identifying a plurality of tasks to be scheduled for execution by the symmetric multiprocessing operating system comprising:
 identifying a symmetric multiprocessing task queue within the symmetric multiprocessing operating system scheduler;   identifying a plurality of tasks within the symmetric multiprocessing task queue; and   designating the identified tasks as the plurality of tasks to be scheduled.   
     
     
         5 . The computer-implemented method recited in  claim 4 , the method act of forming a computationally bound task queue comprising:
 receiving an instruction from a user of the symmetric multiprocessing system to create a bound computational domain; and   forming a task queue within the symmetric multiprocessing operating system scheduler to represent the computationally bound task queue.   
     
     
         6 . The computer-implemented method recited in  claim 5 , the instruction including a listing of one or more of the plurality of tasks to be scheduled and the method act of moving selected ones of the plurality of tasks to be scheduled to the computationally bound task queue comprising:
 adding the one or more of the plurality of tasks to be scheduled listed in the instruction to the computationally bound task queue; and   removing the one or more of the plurality of tasks to be scheduled listed in the instruction from the symmetric multiprocessing task queue.   
     
     
         7 . The computer-implemented method recited in  claim 6 , the instruction including a listing of one or more of the plurality processing units and the method act of bounding the processing domain for the computationally bound task queue comprising affining the computationally bound task queue to the one or more of the plurality of processing units listed in the instruction. 
     
     
         8 . The computer-implemented method recited in  claim 6 , the instruction including a listing of one or more of the plurality processing units and the method act of bounding the processing domain for the computationally bound task queue comprising linking the computationally bound task queue to the one or more of the plurality of processing units listed in the instruction. 
     
     
         9 . The computer-implemented method recited in  claim 1 , further comprising
 forming a second computationally bound task queue;   moving selected ones of the plurality of tasks to the second computationally bound task queue; and   bounding the processing domain for the computationally bound task queue.   
     
     
         10 . The computer-implemented method recited in  claim 1 , further comprising:
 unbounding the computationally bound task queue; and   removing the computationally bound task queue from the symmetric multiprocessing system.   
     
     
         11 . One or more tangible computer-readable media, having computer executable instructions for bounding the processing domain in a symmetric multiprocessing system stored thereon, the computer executable instructions comprising:
 causing a computer to perform a set of operations; and   wherein the set of operations include:
 identifying a symmetric multiprocessing system, the symmetric multiprocessing system including a plurality of processing units; 
 identifying a plurality of tasks to be scheduled for execution by the symmetric multiprocessing system; 
 forming a computationally bound task queue; 
 moving selected ones of the plurality of tasks to be scheduled to the computationally bound task queue; and 
 bounding the processing domain for the computationally bound task queue. 
   
     
     
         12 . The one or more tangible computer-readable media recited in  claim 11 , the symmetric multiprocessing system including a symmetric multiprocessing operating system scheduler and the operation for identifying a plurality of tasks to be scheduled for execution by the symmetric multiprocessing operating system comprising:
 identifying a symmetric multiprocessing task queue;   identifying a plurality of tasks within the symmetric multiprocessing task queue; and   designating the identified tasks as the plurality of tasks to be scheduled.   
     
     
         13 . The one or more tangible computer-readable media recited in  claim 12 , the operation for forming a computationally bound task queue comprising:
 receiving an instruction from a user of the symmetric multiprocessing system to create a bound computational domain; and   forming a task queue within the symmetric multiprocessing operating system scheduler to represent the computationally bound task queue.   
     
     
         14 . The one or more tangible computer-readable media recited in  claim 13 , the instruction including a listing of one or more of the plurality of tasks to be scheduled and the operation for moving selected ones of the plurality of tasks to be scheduled to the computationally bound task queue comprising:
 adding the one or more of the plurality of tasks to be scheduled listed in the instruction to the computationally bound task queue; and   removing the one or more of the plurality of tasks to be scheduled listed in the instruction from the symmetric multiprocessing task queue.   
     
     
         15 . The one or more tangible computer-readable media recited in  claim 14 , the instruction including a listing of one or more of the plurality processing units and the operation for bounding the processing domain for the computationally bound task queue comprising affining the computationally bound task queue to the one or more of the plurality of processing units listed in the instruction. 
     
     
         16 . The one or more tangible computer-readable media recited in  claim 14 , the instruction including a listing of one or more of the plurality processing units and the operation for bounding the processing domain for the computationally bound task queue comprising linking the computationally bound task queue to the one or more of the plurality of processing units listed in the instruction. 
     
     
         17 . A symmetric multiprocessing system adapted to allowing bounded processing, the system comprising:
 a plurality of processing units;   a plurality of tasks to be scheduled for execution by the system; and   a memory including a set of instructions that cause the system to perform:
 forming a computationally bound task queue; 
 moving selected ones of the plurality of tasks to be scheduled to the computationally bound task queue; and 
 bounding the processing do 
 main for the computationally bound task queue. 
   
     
     
         18 . The symmetric multiprocessing system recited in  claim 17 , wherein the set of instructions are included in an application programming interface. 
     
     
         19 . The symmetric multiprocessing system recited in  claim 18 , the instruction for bounding the processing domain for a computationally bound task queue comprising:
 receiving a listing of one or more of the plurality processing units   receiving a boundary relationship affining the computationally bound task queue to the one or more of the plurality of processing units listed in the instruction.   
     
     
         20 . The symmetric multiprocessing system recited in  claim 18 , the instruction for bounding the processing domain for a computationally bound task queue comprising:
 receiving a listing of one or more of the plurality processing units   receiving a boundary relationship linking the computationally bound task queue to the one or more of the plurality of processing units listed in the instruction.

Join the waitlist — get patent alerts

Track US2011010716A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.