Atomic semantics とは

アトミックセマンティクスは、並行マシンまたは複数のコンピュータが協働する複数のプロセッサによって共有されるデータレジスタによって提供される保証の種類を表す用語です。原子意味論は非常に強いです。アトミック・レジスタは、並行性と障害がある場合でも強力な保証を提供します。
読み出し/書き込みレジスタRは値を格納し、読み出しと書き込み(v)の2つの基本動作によってアクセスされます。 readはRに格納された値を返し、write(v)はRに格納された値をvに変更します。レジスタは、以下の2つのプロパティを満たす場合、アトミックと呼ばれます。
1)読み出しまたは書き込み操作の各呼び出しop:
•単一点τ(op)で実行されたように見える必要があります。
•τ(op)は以下のように働く。τb(op)≤τ(op)≤τe(op)ここで、τb(op)とτe(op)は操作opの開始と終了の時刻を示す。
•op1≠op2の場合、τ(op1)≠τ(op2)
2)各読み取り操作は、すべての操作がそれらのτ値によって順序付けられている順序で、読み取り前の最後の書き込み操作によって書き込まれた値を返します。
原子/線形化可能なレジスタ:
終了:ノードが正しい場合、遅かれ早かれ各読み書き操作が完了します。
セーフティプロパティ(読み書き操作および失敗した操作の線形化ポイント):
読み取り操作:呼び出しと応答時間の間に何度かにすべてのノードで発生したように見えます。
書き込み操作:読み取り操作と同様に、呼び出しと応答時間の間にある時間に、すべてのノードで発生したように見えます。
失敗した操作(原子的な言葉はこの概念から来ている):それはすべての単一のノードで完了したかのように見えます。
例:原子レジスタは、連続した安全レジスタに対して線形化可能なものであることがわかります。
次の図は、各操作の線形化ポイントをどこに置くべきかを示しています。
 1つのライタ、複数リーダ(SWMR)、シングルライタ/シングルリーダ(SWSR)、またはマルチライタ/マルチリーダ(MWMR)を使用して、変数のアトミックレジスタを定義することができます。ここでは、3つのプロセス(P1、P2、P3)によってアクセスされるマルチリーダマルチライタアトミックレジスタの例を示します.R.read()→vは、対応する読み取り操作がvレジスタのしたがって、以下のレジスタRの実行は、R.write(1)、R.read()→1、R.write(3)、R.write(2)、R.read ()→2、R.read()→2となる。