×

Remote translation mechanism for a multinode system

  • US 7,577,816 B2
  • Filed: 08/18/2003
  • Issued: 08/18/2009
  • Est. Priority Date: 08/18/2003
  • Status: Active Grant
First Claim
Patent Images

1. A method of accessing shared memory in a computer system having a plurality of nodes, wherein each node includes a processor, a Translation Look-aside Buffer (TLB) associated with the processor and local memory wherein the local memory of each node includes a Remote Translation Table (RTT), the method comprising:

  • distributing an application across the plurality of nodes;

    building an application virtual address space in each of the plurality of nodes, wherein building an application virtual address space includes;

    building a local virtual address space for the application in each of the plurality of nodes, wherein the local virtual address space translates a virtual address generated by the application executing on that node to a physical address in local memory for that node, wherein the virtual address generated by the application executing on the node includes a node number of the node;

    determining whether remote translation should be enabled; and

    if remote translation should be enabled, exporting the local virtual address space for each local node to the RTTs in each of the plurality of nodes, wherein exporting includes;

    requesting that the operating system on each node of the plurality of nodes enable remote translation; and

    shadowing the local virtual address spaces for each node across the plurality of nodes;

    if remote translation is enabled, translating a virtual memory reference to a physical memory address using the application virtual address space in the local RTT in each of the plurality of nodes, wherein translating the virtual memory reference includestranslating in a source node the node number of the application virtual address into a node address associated with a remote node of the plurality of nodes and translating bits of the application virtual address into a physical page address for the remote node; and

    if remote translation is not enabled, sending the virtual memory reference to the remote node and translating the virtual memory reference into a physical address in local memory for the remote node using the local virtual address space in the RTT on the remote node.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×