Atomicita (výpočet)

Atomicity je vlastnost používá v souběžné programování popisovat operaci nebo sadu operací za běhu programu úplně, aniž by byl přerušen před ukončením jejich průběhu. Operace, která ověří tuto vlastnost, je kvalifikována jako „  atomová  “, tento termín je odvozen od ατομος ( atomos ), což znamená „ten nelze rozdělit“.

Tento koncept se týká například části programu, jejíž proces nebo podproces, který jej spravuje, nepřinese monopol na určitá data jinému procesu v průběhu celé této části. Tento koncept platí také pro transakce s databázemi .

Obecně lze montážní pokyny považovat za atomové, ale to nestačí k zajištění konzistence dat. K tomu je třeba implementovat synchronizační mechanismy . V důsledku toho a rozšířením je možné říci, že takto chráněný úsek, označovaný jako kritický úsek chráněný vzájemným vyloučením , je také atomový.

Příklady zvláštních pokynů, které musí být atomové

Několik pokynů používaných v určitých paralelních architekturách je atomových a používají se k implementaci synchronizací nebo neblokujících algoritmů.

Často používáme pokyny Porovnat a vyměnit , Načíst a přidat nebo Testovat a nastavit , stejně jako několik pokynů Load-Link / Store-Conditional .

Transakční paměť

Transakční paměť je způsob, jak vytvořit řadu atomové transakce: transakce provést několik změn, a nepodaří-li některá z proměnných použitých byly změněny. Takový mechanismus se používá v databázích ve formě softwarové transakční paměti .


Poznámky a odkazy

  1. Lexikografické a etymologické definice „atomu“ z počítačové pokladnice francouzského jazyka na webu Národního střediska pro textové a lexikální zdroje .