Une horloge logique est un dispositif logiciel qui sert à établir et mesurer une notion de temps établie selon la relation de causalité arrivé-avant dans un système réparti asynchrone.
Le concept d’horloge logique est attribué à Leslie Lamport, qui l’a introduit en 1978 avec son système d’horodatage.
Dans un système réparti, chaque ordinateur ou application possède sa propre horloge, et celles-ci ne sont pas forcément réglées exactement à la même heure. Si deux processus ne communiquent pas entre eux, cette différence n’a généralement aucune conséquence. Mais lorsque les processus communiquent, il est souvent inutile de connaître l’heure exacte de chaque événement. Il suffit de savoir dans quel ordre les événements se sont produits, par exemple, qu’une tâche a eu lieu avant une autre. Cet ordre peut être suivi avec une horloge logique, sans nécessiter une synchronisation des horloges réelles.
Différents types d'horloges logiques existent et fournissent plus ou moins d'information sur la causalité.