1. A method for performing distributed page-table lookups in a shared-memory multiprocessor system with two or more nodes, the method comprising: receiving at a first node a request for a first page-table entry, wherein the request includes a physical address for the first page-table entry and the first node includes a directory controller that manages a portion of the address space of the shared-memory multiprocessor system that includes the physical address; accessing the directory controller to retrieve the first page-table entry; using the first page-table entry to calculate a subsequent physical address for a subsequent page-table entry; determining a home node that manages the subsequent physical address; and sending a subsequent request for the subsequent page-table entry to the home node.