A client device comprising: a communication interface ; and a local memory comprising: an application logic unit ; a client logic unit ; and a data interface , wherein the client logic unit is configured to cause, in response to a memory allocation request, allocation of a region of an external memory that is accessible on a memory appliance by the client device through the communication interface , wherein the external memory is memory that is external to the client device but primary memory to the client device, wherein the application logic unit is configured to allocate, using the data interface , a subset of the previously allocated region of the external memory, wherein all or a portion of the region of external memory is mapped at the client device into a virtual address space, and wherein the client logic unit is further configured to access the external memory on the memory appliance through the communication interface using client-side memory access over a memory access protocol allowing access to the external memory bypassing a central processing unit of the memory appliance. a communication interface ; and a local memory comprising: an application logic unit ; a client logic unit ; and a data interface , wherein the client logic unit is configured to cause, in response to a memory allocation request, allocation of a region of an external memory that is accessible on a memory appliance by the client device through the communication interface , wherein the external memory is memory that is external to the client device but primary memory to the client device, wherein the application logic unit is configured to allocate, using the data interface , a subset of the previously allocated region of the external memory, wherein all or a portion of the region of external memory is mapped at the client device into a virtual address space, and wherein the client logic unit is further configured to access the external memory on the memory appliance through the communication interface using client-side memory access over a memory access protocol allowing access to the external memory bypassing a central processing unit of the memory appliance. an application logic unit ; a client logic unit ; and a data interface , wherein the client logic unit is configured to cause, in response to a memory allocation request, allocation of a region of an external memory that is accessible on a memory appliance by the client device through the communication interface , wherein the external memory is memory that is external to the client device but primary memory to the client device, wherein the application logic unit is configured to allocate, using the data interface , a subset of the previously allocated region of the external memory, wherein all or a portion of the region of external memory is mapped at the client device into a virtual address space, and wherein the client logic unit is further configured to access the external memory on the memory appliance through the communication interface using client-side memory access over a memory access protocol allowing access to the external memory bypassing a central processing unit of the memory appliance. <EOS>