A memory system, comprising: a memory fabric, and an overlay, wherein: the memory fabric comprises: a network of memory components interconnected by optical interconnects, memory address spaces of the memory components being aggregated and exposed as if the network were a single memory resource, and router modules to implement steps of a fabric routing protocol to route memory-addressing requests along paths to destination memory components in said memory fabric; the overlay comprises overlay nodes to receive and forward the memory-addressing requests from client programs and to implement steps of an overlay routing protocol to selectively control routing of received memory-addressing requests, to destination memory components, either along paths determined according to the fabric routing protocol or along alternative paths via overlay nodes; the overlay nodes comprise addressing-request forwarders to control the path on which received memory-addressing requests are transmitted towards the destination memory components; the overlay comprises overlay modules associated with N of the memory components of the memory fabric to cause the N memory components to function as overlay nodes, where N is any integer equal to or greater than 2; and the overlay nodes include overlay entry nodes, the overlay entry nodes have client-interfaces to receive memory-addressing requests from respective client programs; and the addressing-request forwarders of overlay entry nodes implement steps of the overlay routing protocol to selectively control routing of memory-addressing requests received by the client-interfaces, to the destination memory components. a memory fabric, and an overlay, wherein: the memory fabric comprises: a network of memory components interconnected by optical interconnects, memory address spaces of the memory components being aggregated and exposed as if the network were a single memory resource, and router modules to implement steps of a fabric routing protocol to route memory-addressing requests along paths to destination memory components in said memory fabric; the overlay comprises overlay nodes to receive and forward the memory-addressing requests from client programs and to implement steps of an overlay routing protocol to selectively control routing of received memory-addressing requests, to destination memory components, either along paths determined according to the fabric routing protocol or along alternative paths via overlay nodes; the overlay nodes comprise addressing-request forwarders to control the path on which received memory-addressing requests are transmitted towards the destination memory components; the overlay comprises overlay modules associated with N of the memory components of the memory fabric to cause the N memory components to function as overlay nodes, where N is any integer equal to or greater than 2; and the overlay nodes include overlay entry nodes, the overlay entry nodes have client-interfaces to receive memory-addressing requests from respective client programs; and the addressing-request forwarders of overlay entry nodes implement steps of the overlay routing protocol to selectively control routing of memory-addressing requests received by the client-interfaces, to the destination memory components. the memory fabric comprises: a network of memory components interconnected by optical interconnects, memory address spaces of the memory components being aggregated and exposed as if the network were a single memory resource, and router modules to implement steps of a fabric routing protocol to route memory-addressing requests along paths to destination memory components in said memory fabric; the overlay comprises overlay nodes to receive and forward the memory-addressing requests from client programs and to implement steps of an overlay routing protocol to selectively control routing of received memory-addressing requests, to destination memory components, either along paths determined according to the fabric routing protocol or along alternative paths via overlay nodes; the overlay nodes comprise addressing-request forwarders to control the path on which received memory-addressing requests are transmitted towards the destination memory components; the overlay comprises overlay modules associated with N of the memory components of the memory fabric to cause the N memory components to function as overlay nodes, where N is any integer equal to or greater than 2; and the overlay nodes include overlay entry nodes, the overlay entry nodes have client-interfaces to receive memory-addressing requests from respective client programs; and the addressing-request forwarders of overlay entry nodes implement steps of the overlay routing protocol to selectively control routing of memory-addressing requests received by the client-interfaces, to the destination memory components.