Data affinity based scheme for mapping connections to CPUs in I/O adapter
AssigneeInternational Business Machines Corporation
InventorsShlomit S. Pinter, Leah Shalev
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorsShlomit S. Pinter, Leah Shalev
Estimating the term…
A method, system and computer program product is disclosed for scheduling data packets in a multi-processor system comprising a plurality of processor units and a multitude of multicast groups. The method comprises associating one of the processor units with each of the multicast groups, receiving a multitude of data packets from the multicast groups, and scheduling all of the data packets received from each of the multicast groups for processing by the one of the processor units associated with said each of the multicast groups. In one embodiment, scheduling is based on affinity of both transmit and received processing for multiple connections to a processor unit. In another embodiment, a system call is provided for transmitting the same data over multiple sockets. Additional system calls may be used for building multicast group socket lists.
A method of scheduling packets in a multi-processor system comprising a plurality of processor units, a plurality of caches, wherein each of a distinct one of the processor units is associated with each of a distinct one of the caches, a plurality of multicast groups, wherein each multicast group includes a plurality of members, and a single network adapter, the method comprising:
A scheduling system for scheduling packets in a multi-processor system comprising a plurality of processor units, a plurality of caches, wherein each of a distinct one of the processor units is associated with each of a distinct one of the caches, a plurality of multicast groups, wherein each multicast group includes a plurality of members, and a single network adapter, the scheduling system comprising one or more of said processor units configured for:
A computer program product for scheduling packets in a multi-processor system comprising a plurality of processor units, a plurality of caches, wherein each of a distinct one of the processor units is associated with each of a distinct one of the caches, a plurality of multicast groups, wherein each multicast group includes a plurality of members, and a single network adapter, the computer program product comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Intercommunication techniques: parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
For broadcast or conference , e.g. multicast: with management of multicast group membership
For broadcast or conference , e.g. multicast: with schedule organisation, e.g. priority, sequence management
Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions: in the transport layer [OSI layer 4]
About 4 years 9 months of term left · ends 30 Jul 2031 (estimated)
1. Field of the Invention
This invention generally relates to multi processor computer systems, and more specifically, to methods and systems for mapping connections to CPUs in I/O Adapters in multi processor computer systems.
2. Background Art
FIG. 1 is a schematic diagram of a networked computer system in which the present invention may be implemented.
FIG. 2 illustrates a portion of a multiprocessor system incorporating the packet scheduling procedure of this invention.
FIG. 3 shows in more detail a packet scheduling procedure.
FIG. 1 illustratively depicts an example of a suitable operating environment within which the invention is implemented. The example network includes several remote computers 110a-f communicating with multiprocessor systems 100a-b over a network 115. Network 115 includes many well-known components, such as routers, gateways, hubs, etc. and allows remote computers 110a-f to communicate via wired and/or wireless media.
The operating environment of FIG. 1 is only one example of a suitable operating environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Examples of well known computing systems, environments, and/or configurations that are suitable for use with the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like, either alone or in combination.
The invention is described in the general context of computer-executable instructions, such as program modules, being executed by a system computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.