An external memory system comprising: a client device; and a memory appliance; the client device comprising: a first communication interface; and a local memory comprising: an application logic unit; and a client logic unit; the memory appliance comprising: a processor; a second communication interface; a memory configured in an address space addressable by the processor; and a region access unit; wherein the client logic unit is configured to cause allocation of a region of the memory that is accessible on the memory appliance by the client device through the first communication interface, wherein the region access unit is configured to allocate the region of the memory for use as external primary memory of the client device, wherein the client logic unit is further configured to: receive a request from the application logic unit to allocate a portion of primary memory, the primary memory corresponding to the previously allocated region of the memory; select, at the client device and in response to the request to allocate the portion of primary memory, a subset of the previously allocated region of the memory in the memory appliance; and map, at the client device, at least the portion of primary memory to a virtual address space, wherein data in the portion of primary memory is accessible by the client device via client-side memory access in which the second communication interface of the memory appliance is configured to access the region of the memory in the memory appliance as part of the client-side memory access. a client device; and a memory appliance; the client device comprising: a first communication interface; and a local memory comprising: an application logic unit; and a client logic unit; a first communication interface; and a local memory comprising: an application logic unit; and a client logic unit; an application logic unit; and a client logic unit; the memory appliance comprising: a processor; a second communication interface; a memory configured in an address space addressable by the processor; and a region access unit; wherein the client logic unit is configured to cause allocation of a region of the memory that is accessible on the memory appliance by the client device through the first communication interface, wherein the region access unit is configured to allocate the region of the memory for use as external primary memory of the client device, wherein the client logic unit is further configured to: receive a request from the application logic unit to allocate a portion of primary memory, the primary memory corresponding to the previously allocated region of the memory; select, at the client device and in response to the request to allocate the portion of primary memory, a subset of the previously allocated region of the memory in the memory appliance; and map, at the client device, at least the portion of primary memory to a virtual address space, wherein data in the portion of primary memory is accessible by the client device via client-side memory access in which the second communication interface of the memory appliance is configured to access the region of the memory in the memory appliance as part of the client-side memory access. a processor; a second communication interface; a memory configured in an address space addressable by the processor; and a region access unit; wherein the client logic unit is configured to cause allocation of a region of the memory that is accessible on the memory appliance by the client device through the first communication interface, wherein the region access unit is configured to allocate the region of the memory for use as external primary memory of the client device, wherein the client logic unit is further configured to: receive a request from the application logic unit to allocate a portion of primary memory, the primary memory corresponding to the previously allocated region of the memory; select, at the client device and in response to the request to allocate the portion of primary memory, a subset of the previously allocated region of the memory in the memory appliance; and map, at the client device, at least the portion of primary memory to a virtual address space, wherein data in the portion of primary memory is accessible by the client device via client-side memory access in which the second communication interface of the memory appliance is configured to access the region of the memory in the memory appliance as part of the client-side memory access. receive a request from the application logic unit to allocate a portion of primary memory, the primary memory corresponding to the previously allocated region of the memory; select, at the client device and in response to the request to allocate the portion of primary memory, a subset of the previously allocated region of the memory in the memory appliance; and map, at the client device, at least the portion of primary memory to a virtual address space, wherein data in the portion of primary memory is accessible by the client device via client-side memory access in which the second communication interface of the memory appliance is configured to access the region of the memory in the memory appliance as part of the client-side memory access.