The Physics of CPU Caches and the MESI Protocol: The Abyss of Coherence and Memory Barriers in Multi-Core