Logické hodiny jsou mechanismem pro určování chronologického a kauzálního vztahu událostí v distribuovaných systémech , které nemají jediné fyzické hodiny. Algoritmy logických hodin umožňují získat částečné seřazení událostí v čase a odhalit porušení vztahů příčiny a následku. Stav logických hodin lze zahrnout do interních zpráv zasílaných mezi uzly systému. Poprvé navržený a implementovaný Lamportem v roce 1978, jeho práce byla oceněna Turingovou cenou 2013 .
Znalost chronologické posloupnosti událostí je užitečná při analýze výpočtů, vytváření distribuovaných algoritmů, sledování jednotlivých událostí nebo průběhu výpočtů [1] .
Při implementaci algoritmů logických hodin má každý proces distribuovaného systému své vlastní datové struktury pro reprezentaci logického času a při jejich aktualizaci používá speciální protokol. Obvykle ukládají logický místní čas pro získání časových razítek pro místní události a logický globální čas odpovídající reprezentaci globálního času procesu. Protokol specifikuje pravidla pro aktualizaci lokálního logického času při provádění událostí a pravidla pro aktualizaci logického globálního času pro sledování průběhu v celém distribuovaném systému [1] .
Pozoruhodné příklady logických hodin jsou: