Latency tolerant distributed shared memory multiprocessor computer
First Claim
Patent Images
1. A computer system comprising:
- a network;
one or more processing nodes connected via the network, wherein each processing node includes;
a plurality of processors, wherein each processor includes a scalar processing unit, a vector processing unit, means for operating the scalar processing unit independently of the vector processing unit, a processor cache and a translation look-aside buffer (TLB), wherein the scalar processing unit places instructions for the vector processing unit in a queue for execution by the vector processing unit and the scalar processing unit continues to execute additional instructions; and
a shared memory, wherein the shared memory is connected to each of the processors within the processing node, wherein the shared memory includes a Remote Address Translation Table (RTT), wherein the RTT contains translation information for an entire virtual memory address space associated with the processing node and wherein the RTT translates memory addresses received from other processing nodes such that the memory addresses are translated into physical addresses within the shared memory;
wherein processors on one node can load data directly from and store data directly to shared memory on another processing node via addresses that are translated on the other processing node using the other processing node'"'"'s RTT; and
wherein each TLB in a corresponding processing node exists separate from the RTT in that processing node and wherein each TLB translates memory references from its associated processor to the shared memory on its processing node.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer system having low memory access latency. In one embodiment, the computer system includes a network and one or more processing nodes connected via the network, wherein each processing node includes a plurality of processors and a shared memory connected to each of the processors. The shared memory includes a cache. Each processor includes a scalar processing unit, a vector processing unit and means for operating the scalar processing unit independently of the vector processing unit. Processors on one node can load data directly from and store data directly to shared memory on another processing node via the network.
-
Citations
15 Claims
-
1. A computer system comprising:
-
a network; one or more processing nodes connected via the network, wherein each processing node includes; a plurality of processors, wherein each processor includes a scalar processing unit, a vector processing unit, means for operating the scalar processing unit independently of the vector processing unit, a processor cache and a translation look-aside buffer (TLB), wherein the scalar processing unit places instructions for the vector processing unit in a queue for execution by the vector processing unit and the scalar processing unit continues to execute additional instructions; and a shared memory, wherein the shared memory is connected to each of the processors within the processing node, wherein the shared memory includes a Remote Address Translation Table (RTT), wherein the RTT contains translation information for an entire virtual memory address space associated with the processing node and wherein the RTT translates memory addresses received from other processing nodes such that the memory addresses are translated into physical addresses within the shared memory; wherein processors on one node can load data directly from and store data directly to shared memory on another processing node via addresses that are translated on the other processing node using the other processing node'"'"'s RTT; and wherein each TLB in a corresponding processing node exists separate from the RTT in that processing node and wherein each TLB translates memory references from its associated processor to the shared memory on its processing node. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer system comprising:
-
a network; one or more processing nodes connected via the network, wherein each processing node includes; four processors configured as a Multi-Streaming Processor, wherein each processor includes a scalar processing unit, a vector processing unit, means for operating the scalar processing unit independently of the vector processing unit, a processor cache connected to each of the processing units and a translation look-aside buffer (TLB), wherein the scalar processing unit places instructions for the vector processing unit in a queue for execution by the vector processing unit and the scalar processing unit continues to execute additional instructions; and a shared memory, wherein the shared memory is connected to each of the processors within the processing node, wherein the shared memory includes a Remote Address Translation Table (RTT), wherein the RTT contains translation information for an entire virtual memory address space associated with the processing node and wherein the RTT translates memory addresses received from other processing nodes such that the memory addresses are translated into physical addresses within the shared memory; wherein processors on one node can load data directly from and store data directly to shared memory on another processing node via addresses that are translated on the other processing node using the other processing node'"'"'s RTT; and wherein each TLB in a corresponding processing node exists separate from the RTT in that processing node and wherein each TLB translates memory references from its associated processor to the shared memory on its processing node. - View Dependent Claims (8)
-
-
9. A method of providing latency tolerant distributed shared memory multiprocessor computer system, wherein the method of providing comprising:
-
connecting one or more processing nodes via a network, wherein each processing node includes; a plurality of processors, wherein each processor includes a scalar processing unit, a vector processing unit, means for operating the scalar processing unit independently of the vector processing unit, a processor cache and a translation look-aside buffer (TLB), wherein the scalar processing unit places instructions for the vector processing unit in a queue for execution by the vector processing unit and the scalar processing unit continues to execute additional instructions; and a shared memory, wherein the shared memory is connected to each of the processors within the processing node, wherein the shared memory includes a Remote Address Translation Table (RTT), wherein the RTT contains translation information for an entire virtual memory address space associated with the processing node; storing data from a processor on a first processing node to shared memory on a second processing node via the network, wherein storing includes translating via the RTT on the second processing node memory addresses received from the first processing node such that the memory addresses received from the first processing node are translated into physical addresses within the shared memory of the second processing node; and reading data from shared memory on the second processing node to the processor on the first processing node; wherein memory references from the processor on the first processing node to the shared memory on the first processing node is translated by the associated TLB in the first processing node, wherein the TLB exists separate from the RTT in the first processing node. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method of providing latency tolerant distributed shared memory multiprocessor computer system, wherein the method of providing comprising:
-
connecting one or more processing nodes via a network, wherein each processing node includes; four processors configured as a Multi-Streaming Processor, wherein each processor includes a scalar processing unit, a vector processing unit, means for operating the scalar processing unit independently of the vector processing unit, a processor cache connected to each of the processing units and a translation look-aside buffer (TLB), wherein the scalar processing unit places instructions for the vector processing unit in a queue for execution by the vector processing unit and the scalar processing unit continues to execute additional instructions; and a shared memory, wherein the shared memory is connected to each of the processors within the processing node, wherein the shared memory includes a Remote Address Translation Table (RTT), wherein the RTT contains translation information for an entire virtual memory address space associated with the processing node; storing data from a processor on a first processing node to shared memory on a second processing node via the network, wherein storing includes translating via the RTT on the second processing node memory addresses received from the first processing node such that the memory addresses received from the first processing node are translated into physical addresses within the shared memory of the second processing node; and reading data from shared memory on the second processing node to the processor on the first processing node; wherein memory references from the processor on the first processing node to the shared memory on the first processing node is translated by the associated TLB in the first processing node, wherein the TLB exists separate from the RTT in the first processing node. - View Dependent Claims (15)
-
Specification