1. A method comprising: by program instructions on a computing device, determining whether a first compute node and a failover compute node each have an internal cache, wherein the failover compute node is functioning as a mirrored copy of the first compute node; responsive to determining that the first compute node and the failover compute node each have an internal cache, combining into a unified logical cache, a first internal cache of the first compute node and a second internal cache of the failover compute node; receiving a memory access request; and sending the memory access request to one of the internal caches in the unified logical cache including: determining whether the unified logical cache includes data requested by the memory access request; and responsive to determining that the unified logical cache includes data requested by the memory access request: servicing the memory access request using non-cache memory on the first compute node, including reading data stored at a location in non-cache memory specified in the memory access request; and writing the data to a location in the unified logical cache in dependence upon a predetermined cache replacement policy.