Programmation relativiste - Relativistic programming

La programmation relativiste ( RP ) est un style de programmation concurrente où au lieu d'essayer d'éviter les conflits entre lecteurs et écrivains (ou écrivains et écrivains dans certains cas), l'algorithme est conçu pour les tolérer et obtenir un résultat correct quel que soit l'ordre des événements. De plus, les algorithmes de programmation relativiste sont conçus pour fonctionner sans la présence d'un ordre global d'événements. C'est-à-dire qu'il peut y avoir des cas où un fil voit deux événements dans un ordre différent de celui d'un autre fil (d'où le terme relativiste car dans la théorie de la relativité restreinte d'Einstein, l'ordre des événements n'est pas toujours le même pour différents téléspectateurs). Cela implique essentiellement de travailler sous une cohérence causale au lieu d'un modèle plus fort.

La programmation relativiste offre des avantages en termes de performances par rapport à d'autres paradigmes de concurrence, car elle ne nécessite pas qu'un thread attende un autre presque aussi souvent. Pour cette raison, ses formes ( Read-Copy-Update par exemple) sont maintenant largement utilisées dans le noyau Linux (plus de 18 000 fois en avril 2021 et sont passées de rien à 11,8% de toutes les primitives de verrouillage en un peu moins de deux décennies) .

Voir également

Les références

Liens externes