1. A global shared flash-memory system comprising: a plurality of compute nodes, each compute node in the plurality of compute nodes comprising: a flash memory for storing homed objects in non-volatile solid-state memory cells; a processor for executing an application program and threads; a volatile memory, coupled to the processor, for storing cached objects, wherein the cached objects are copies of remote homed objects stored at remote compute nodes in the plurality of compute nodes; a network interface controller (NIC), coupled by a network to other compute nodes, and responsive to the processor, that sends local copies of the homed objects stored in the flash memory to a first compute node in the plurality of compute nodes, and that receives from a second compute node in the plurality of compute nodes remote copies of the remote homed objects stored in the flash memory of the second compute node; a Sharing Data Fabric (SDF) component executing on the processor, that enables storing the remote copies of the remote homed objects received by the NIC into the volatile memory as the cached objects; wherein the application program executing on the processor accesses the cached objects from the volatile memory, including cached objects that are remote copies of the remote homed objects stored in the flash memory of the remote compute nodes in the plurality of compute nodes; wherein a plurality of the SDF component, executing on a plurality of the processor in the plurality of compute nodes, copy the remote homed objects from a plurality of the flash memory in the plurality of compute nodes through the network for storage in the volatile memory as the cached objects, wherein the remote homed objects from the flash memory are copied through the network for storage in the volatile memory as cached objects.