In computer science, a coherence protocol is a protocol in systems with distributed memory (distributed shared memory systems, including multiprocessors), which maintains memory coherence according to specified consistency model.

Examples of such protocols are the MESI protocol, MSI protocol, MOSI protocol (more generally: the MOESI protocol) and many others. Most of the cache protocols in multiprocessors are supporting sequential consistency model, while in software distributed shared memory more popular are models supporting release consistency or weak consistency.