Effectively sharing a cache among threads | Synapse