1. A method, comprising: receiving a write input/output (I/O) request for a data stream at a compute node, the compute node having compute node local storage resources; separating the data stream into a plurality of chunks; generating a plurality of fingerprints for the plurality of chunks; transmitting the plurality of fingerprints to a scale out node, the scale out node having scale out node local storage resources, wherein the scale out node compares the plurality of fingerprints with fingerprints corresponding to chunks maintained in scale out node local storage resources.