Relativistisk programmering - Relativistic programming
Relativistisk programmering ( RP ) er en stil med samtidig programmering, hvor algoritmen i stedet for at forsøge at undgå konflikter mellem læsere og forfattere (eller forfattere og forfattere i nogle tilfælde) er designet til at tolerere dem og få et korrekt resultat uanset rækkefølgen af begivenheder. Relativistiske programmeringsalgoritmer er også designet til at fungere uden tilstedeværelse af en global hændelsesorden. Det vil sige, at der kan være nogle tilfælde, hvor en tråd ser to begivenheder i en anden rækkefølge end en anden tråd (derfor udtrykket relativistisk, fordi i Einsteins teori om særlig relativitet er begivenhedsrækkefølgen ikke altid den samme for forskellige seere). Dette indebærer i det væsentlige at arbejde under kausal konsistens i stedet for en stærkere model.
Relativistisk programmering giver fordele i ydelse i forhold til andre samtidige paradigmer, fordi det ikke kræver en tråd at vente på en anden næsten lige så ofte. På grund af dette bruges former af det (f.eks. Read-Copy-Update ) i vid udstrækning i Linux-kernen (over 18.000 gange i april 2021 og er vokset fra ingenting til 11,8% af alle låsende primitiver på knap to årtier) .