Characterizing the caching and synchronization performance of a multiprocessor operating system | Synapse