Fast track routing of streaming data as between multiple compute resources
First Claim
1. A system for fast track routing of streaming data as between multiple compute resources, the system comprising:
- a first processor configured to execute an operating system, the operating system including a user space for a user mode and a kernel space for a kernel mode;
a second processor;
a shared memory that is mapped into the kernel space and the user space of the operating system;
a network protocol stack for execution by the operating system, wherein the network protocol stack is configured to receive streaming data; and
driver code for execution within the kernel space of the operating system while the operating system is in the kernel mode, the driver code configured to (1) maintain a kernel level interface into the network protocol stack, (2) copy the streaming data from the network protocol stack into the shared memory, wherein the copy operation is performed by the driver code without the operating system transitioning to the user mode, and (3) facilitate DMA transfers of data from the shared memory into the second processor for processing thereby.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for fast track routing of streaming data as between multiple compute resources. For example, the system may comprise a first processor, a second processor, a shared memory that is mapped into a kernel and user space of an operating system for the processor, a network protocol stack, and driver code for execution within the kernel space of the operating system while the operating system is in the kernel mode. The driver code can be configured to (1) maintain a kernel level interface into the network protocol stack, (2) copy the streaming data from the network protocol stack into the shared memory, wherein the copy operation is performed by the driver code without the operating system transitioning to the user mode, and (3) facilitate DMA transfers of data from the shared memory into the second processor for processing thereby.
-
Citations
30 Claims
-
1. A system for fast track routing of streaming data as between multiple compute resources, the system comprising:
-
a first processor configured to execute an operating system, the operating system including a user space for a user mode and a kernel space for a kernel mode; a second processor; a shared memory that is mapped into the kernel space and the user space of the operating system; a network protocol stack for execution by the operating system, wherein the network protocol stack is configured to receive streaming data; and driver code for execution within the kernel space of the operating system while the operating system is in the kernel mode, the driver code configured to (1) maintain a kernel level interface into the network protocol stack, (2) copy the streaming data from the network protocol stack into the shared memory, wherein the copy operation is performed by the driver code without the operating system transitioning to the user mode, and (3) facilitate DMA transfers of data from the shared memory into the second processor for processing thereby. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A system for fast track routing of streaming data as between multiple compute resources, the system comprising:
-
a first processor configured to execute an operating system, the operating system including a user space for a user mode and a kernel space for a kernel mode; a second processor; a shared memory that is mapped into the kernel space and the user space of the operating system, wherein the shared memory comprises a first buffer and a second buffer, the first buffer for storing data that is available for processing from the user mode of the operating system, the second buffer for storing data that is for direct transfer into the second processor; additional memory in the kernel space of the operating system; a network protocol stack for execution by the operating system, wherein the network protocol stack is configured to receive streaming data; and driver code for execution within the kernel space of the operating system while the operating system is in the kernel mode; wherein the driver code is configured to maintain a kernel level interface into the network protocol stack; wherein the driver code is further configured to copy streaming data from the network protocol stack into the first buffer to make the copied streaming data instantly accessible to the user mode of the operating system, wherein the copy operation is performed by the driver code without the operating system transitioning to the user mode; and wherein the driver code and the second processor are configured to cooperate with each other to stream data through the second processor via DMA transfers (1) from the second buffer into the second processor, and (2) from the second processor into the additional memory. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
Specification