Here software-managed translation lookaside buffer (TLB) was used as a cache for page tables to provide the illusion of fast access to virtual page translation over a large address address space. Next, memory was used as a cache for disk, to provide the abstraction of an (almost) unlimited virtual memory size, with performance close to that provided by physical memory. Finally, remote procedure calls (RPC) was used to communicate between various restuarant entities.