逐次一貫性とは? わかりやすく解説

逐次一貫性

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/08/04 07:57 UTC 版)

逐次一貫性(ちくじいっかんせい、英語: sequential consistency)、順次整合性(じゅんじせいごうせい)、逐次整合性(ちくじせいごうせい)は並行プログラミングにおける一貫性モデルの一種である。「どのような実行結果も、すべてのプロセッサがある順序で逐次的に実行した結果と等しく、かつ、個々のプロセッサの処理順序がプログラムで指定された通りであること」と定義されている[1]

この記述を理解するためには、同一プロセッサ(またはスレッド)内でのプログラムの実行順序はプログラムの順序と同じであるが、プロセッサ(またはスレッド)間でのプログラムの実行順序は未定義であることを理解する必要がある。以下の例では

 プロセッサー 1:     <-- A1 run --> <-- B1 run -->        <-- C1 run -->
 プロセッサー 2:       <-- A2 run --> <-- B2 run -->
 時間 --------------------------------------------------------------------->

A1、B1、C1の実行順序は維持される。つまりA1はB1の前、B1はC1の前に実行される。A2とB2についても同様である。しかしプロセッサ間の実行順序は未定義であるため、B2がC1の前または後に実行される可能性がある(物理的にはB2がC1の前に実行されるかもしれないが、B2の効果がC1の効果の後に現れるかもしれない。)

概念的には、単一のグローバルメモリと、任意のプロセッサを任意の時間ステップでメモリに接続する「スイッチ」が存在する。各プロセッサはプログラム順にメモリ操作を行い、スイッチはすべてのメモリ操作間のグローバルな直列化を行う。

同じメモリー部分(ページ、仮想オブジェクト、セル等)に対する書き込み操作がすべてのノードにおいて同じ順序で観測されるならば、たとえその順序が実際に操作が行われた時間順序とは異なっていたとしても、そのシステムでは逐次一貫性が保証される。

逐次一貫性は厳密な一貫性(英語: strict consistency)(これはすべての操作が発行された順序で実行されることを求める。ただし、分散並列システムでは大域的な時間を決定することができないので、実現不能である。)よりも緩やかな一貫性モデルである。

関連項目

脚注

  1. ^ Leslie Lamport, "How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs", IEEE Trans. Comput. C-28,9 (Sept. 1979), 690-691.

逐次一貫性

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/29 18:38 UTC 版)

一貫性モデル (ソフトウェア)」の記事における「逐次一貫性」の解説

詳細は「逐次一貫性」を参照 逐次一貫性(整合性モデルは、ランポート(1979)によって提唱された。厳密な一貫性モデルよりも弱いメモリモデルである。変数への書き込み瞬時確認される要はないが、異なプロセッサによる変数への書き込みは、すべてのプロセッサで同じ順序確認されなければならない。ランポート(1979)の定義によると、「任意の実行結果が、すべてのプロセッサ操作何らかの順序実行され場合と同じであり、個々プロセッサ操作が、そのプログラム指定され順序でこの順序現れる場合に、逐次整合性満たされる。 各プロセッサ内のプログラム順序と、プロセッサ間の操作順序維持されるべきである。プロセッサ間の実行順序維持するためには、すべての操作が他のすべてのプロセッサに対して瞬間的または不可分的に実行されているように見えなければならない情報瞬時送信することは物理的に不可能なので、これらの操作完了したように見えればよいのです。例えば、単一グローバル共有バス利用したシステムでは、バスラインに情報ポストされると、すべてのプロセッサが同じ瞬間にその情報を見ることが保証される。そのため、バスラインに情報を渡すことで、すべてのプロセッサに対して実行完了し実行されたように見える。キャッシュレス・アーキテクチャや、インターコネクト・ネットワークが瞬間的ではないキャッシュ・アーキテクチャでは、プロセッサメモリの間にスロー・パスが含まれることがあるこのような遅い経路では、あるメモリが他のメモリよりも早くブロードキャストデータを受け取るため、シーケンシャル不整合生じ可能性がある。 逐次一貫性は、非決定的な結果もたらすことがある。これは、プロセッサ間の逐次操作順序が、プログラム異な実行時異な可能性があるためです。すべてのメモリ操作は、プログラム順番通り行われる必要があります線形化可能性不可分整合性とも呼ばれる)は、逐次一貫性にリアルタイム制約を加えたものと定義できる

※この「逐次一貫性」の解説は、「一貫性モデル (ソフトウェア)」の解説の一部です。
「逐次一貫性」を含む「一貫性モデル (ソフトウェア)」の記事については、「一貫性モデル (ソフトウェア)」の概要を参照ください。


逐次(シーケンシャル)一貫性

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/29 18:38 UTC 版)

一貫性モデル (ソフトウェア)」の記事における「逐次シーケンシャル一貫性」の解説

データ中心一貫性整合性モデル目的プロセス並行して更新を行う可能性のあるデータストア一貫したビュー提供することである。重要なデータ中心一貫性モデル1つに、Lamport (1979) によって定義された逐次一貫性がある。Tanenbaum et al(2007)は、逐次一貫性を以下の条件定義している。 任意の実行結果は,データストア上のすべてのプロセスによる(読み書きの)操作何らかの順序実行され個々プロセス操作がそのプログラム指定され順序でこの順序現れる場合と同じである。 Adve and Gharachorloo, 1996は,逐次整合性実現するための要件として,プログラム順序と書き込み不可分性2つ定義している. プログラムオーダー:各プロセスメモリ要求プログラム順番発行することを保証する書き込み不可分性書き込み不可分性は、メモリ要求単一FIFOキュー順序基づいて処理される逐次整合性では、時間最新書き込み操作という概念はない。すべてのプロセス同じように、いくつかの操作インターリーブがある。あるプロセスは、すべてのプロセス書き込み操作を見ることができるが、自分読み取り操作を見ることができるだけである。 線形化可能性(不可分メモリ)は、各操作開始時刻終了時刻を考慮することにより、実時間制約のある逐次一貫性として定義できる。各操作開始時刻終了時刻の間に点を置くことにより、各操作線形化可能な順序行われ逐次的一貫性保証される場合実行線形化可能である。

※この「逐次(シーケンシャル)一貫性」の解説は、「一貫性モデル (ソフトウェア)」の解説の一部です。
「逐次(シーケンシャル)一貫性」を含む「一貫性モデル (ソフトウェア)」の記事については、「一貫性モデル (ソフトウェア)」の概要を参照ください。

ウィキペディア小見出し辞書の「逐次一貫性」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「逐次一貫性」の関連用語

逐次一貫性のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



逐次一貫性のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの逐次一貫性 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの一貫性モデル (ソフトウェア) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS