US2015304163A1PendingUtilityA1

Performance of Multi-Processor Computer Systems

Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Aug 26, 2011Filed: Apr 26, 2015Published: Oct 22, 2015
Est. expiryAug 26, 2031(~5.1 yrs left)· nominal 20-yr term from priority
H04L 41/0803G06F 15/1735G06F 9/5088H04L 49/9078H04L 49/9068G06F 9/4843
48
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Embodiments of the invention may improve the performance of multi-processor systems in processing information received via a network. For example, some embodiments may enable configuration of a system such that information received can be distributed among multiple processors for efficient processing. A user may select from among multiple configuration options, each configuration option being associated with a particular mode of processing information received. By selecting a configuration option, the user may specify how received information is processed to capitalize on the system's characteristics, such as by aligning processors on the system with certain NICs. As such, the processor(s) aligned with a NIC may perform networking-related tasks associated with information received by that NIC. If initial alignment causes one or more processors to become over-burdened, processing tasks may be dynamically re-distributed to other processors.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . At least one computer readable storage medium having instructions stored thereon which, when executed by a computer coupled to at least one network via at least one network interface controller (NIC), the computer comprising a plurality of processors, perform a method comprising:
 (A) receiving user input selecting from among a plurality of configuration options, each configuration option specifying a processing mode whereby a set of processors of the plurality of processors is aligned with a corresponding one of the at least one NIC and performs networking-related tasks on information received via the corresponding one NIC.   
     
     
         2 . The at least one computer readable storage medium of  claim 1 , wherein at least some of the plurality of processors comprise Non-Uniform Memory Access (NUMA) nodes, and at least one of the configuration options specifies a mode of processing whereby at least one of the plurality of NICs is aligned with processors in a plurality of NUMA nodes. 
     
     
         3 . The at least one computer readable storage medium of  claim 1 , wherein at least one of the configuration options further specifies that networking-related tasks are redistributed from at least one first processor to at least one second processor. 
     
     
         4 . The at least one computer readable storage medium of  claim 3 , wherein at least some of the plurality of processors comprise Non-Uniform Memory Access (NUMA) nodes, and wherein the at least one configuration option specifies that networking-related tasks are redistributed from the at least one first processor to the at least one second processor if the at least one first processor and at least one second processor are in the same NUMA node. 
     
     
         5 . The at least one computer readable storage medium of  claim 3 , wherein the at least one configuration option specifies that redistribution occurs upon a determination that utilization of the at least one first processor exceeds a predetermined threshold. 
     
     
         6 . The at least one computer readable storage medium of  claim 3 , wherein the at least one configuration option specifies that, prior to redistribution, the at least one second processor is aligned with the same NIC as the at least one first processor. 
     
     
         7 . The at least one computer readable storage medium of  claim 3 , wherein the at least one configuration option specifies determining a maximum activity level on any of the plurality of processors, and redistributing networking-related tasks if redistribution will not cause activity on the at least one second processor to exceed the maximum activity level. 
     
     
         8 . The at least one computer readable storage medium of  claim 3 , wherein the at least one configuration option specifies that redistribution comprises redistributing a partition from the at least one first processor to the at least one second processor. 
     
     
         9 . The at least one computer readable storage medium of  claim 8 , wherein the at least one configuration option specifies determining which of a plurality of partitions to redistribute from the at least one first processor to the at least one second processor. 
     
     
         10 . The at least one computer readable storage medium of  claim 1 , wherein (A) comprises causing the plurality of configuration options to be presented to the user via a user interface. 
     
     
         11 . A method for use in a computer coupled to at least one network, the computer comprising a first plurality of processors grouped into a plurality of Non-Uniform Memory Access (NUMA) nodes, the computer comprising a NUMA-enabled network interface controller (NIC) operable to receive packets of information via the at least one network, each packet being associated with partition, the method comprising:
 (A) causing packets received at the NIC to be provided to at least one processor in each of the plurality of NUMA nodes, the packets caused to be provided to each of the plurality of NUMA nodes being associated with a different partition.   
     
     
         12 . The method of  claim 11 , wherein the computer further comprises a second plurality of processors that are not grouped into any NUMA node and a NIC that is not NUMA-enabled, and wherein the method further comprises:
 (B) causing packets received at the NIC that is not NUMA-enabled to be distributed to the second plurality of processors, the packets sent to each of the second plurality of processors being associated with a different partition.   
     
     
         13 . The method of  claim 12 , wherein the NUMA-enabled NIC supports a maximum number of processors, and (A) comprises causing packets received at the NIC to be provided to the maximum number of processors. 
     
     
         14 . The method of  claim 11 , wherein the at least one processor in each of the plurality of NUMA nodes comprises a first at least one processor, and wherein the method further comprises causing packets to be redistributed so that the packets are received at a second at least one processor. 
     
     
         15 . The method of  claim 14 , wherein the second at least one processor is within a same NUMA node as the first at least one processor. 
     
     
         16 . The method of  claim 14 , wherein the packets are caused to be redistributed upon a determination that utilization of the first at least one processor exceeds a predetermined threshold. 
     
     
         17 . A computer, coupled to at least one network, comprising:
 a plurality of processors, comprising a plurality of NUMA nodes;   at least one network interface controller (NIC) operable to receive packets of information transmitted via the at least one network over at least one network connection, each packet being associated with a particular network connection, and to provide packets associated with each network connection to a particular one of the plurality of NUMA nodes; and   at least one storage facility storing first programmed instructions defining a query facility usable to identify a NUMA node to which packets associated with a particular network connection are provided by the at least one NIC.   
     
     
         18 . The computer of  claim 17 , wherein the at least one storage facility further stores second programmed instructions defining at least one application for execution on one or more of the plurality of processors, and wherein the first programmed instructions define an application programming interface enabling the at least one application to identify a NUMA node to which packets associated with a particular network connection are provided. 
     
     
         19 . The computer of  claim 18 , wherein the second programmed instructions enable the application to wake up in the identified NUMA node. 
     
     
         20 . The computer of  claim 17 , wherein each at least one network connection is associated with a partition, and wherein the first programmed instructions define a facility for identifying a NUMA node to which packets associated with a particular partition are provided.

Join the waitlist — get patent alerts

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

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