不可分操作

不可分操作(ふかぶんそうさ)あるいはアトミック操作 (: atomic operation) とは、情報工学においていくつかの操作を組み合わせたもので、システムの他の部分から見てそれらがひとつの操作に見えるものをいう。

条件

不可分操作は、以下の2つの条件を満たさなければならない。

  1. 全操作が完了するまで、他のプロセスはその途中の状態を観測できない。
  2. 一部操作が失敗したら組合せ全体が失敗し、システムの状態は不可分操作を行う前の状態に戻る。

システムの他の部分から見て、操作の組合せが一度に成功したか失敗したように見える。途中の状態にアクセスすることはできない。このため不可分操作あるいはアトミック操作(= 原子操作)と呼ぶのである。

マルチプロセッサでなくとも、この実装は重要である。制御の流れが変更される可能性がある限り、不可分性がなければシステムが不正な状態になってしまう可能性がある。

単純な例

例えば、プロセスがあるメモリ位置の内容をインクリメントしているとする。その処理の流れは以下のようになる:

  1. プロセスがその位置の値を読み込む。
  2. 同じプロセスがその値に 1 を加算する。
  3. 同じプロセスがそのメモリ位置に加算結果を書き込む。

ここで、2つのプロセスが一箇所の共有メモリ上の位置の内容をインクリメントすると仮定する:

  1. 1番目のプロセスがその位置の値を読み込む。
  2. 1番目のプロセスがその値に 1 を加算する。

ここで、1番目のプロセスが加算結果を書き戻す前にサスペンドされ、2番目のプロセスが走行し始めたとする:

  1. 2番目のプロセスがその位置の値を読み込む。読み込まれた値は1番目のプロセスが先に読み込んだのと同じ値。
  2. 2番目のプロセスがその値に 1 を加算する。
  3. 2番目のプロセスが加算結果を書き戻す。

ここで、2番目のプロセスがサスペンドされ、1番目のプロセスが再度走行する:

  1. 1番目のプロセスが自身の持つ加算結果を書き戻すが、それは2番目のプロセスの処理を反映していない。

これは些細な例である。実際のシステムでは、操作はより複雑で、微妙なエラーとなって現われるかもしれない。例えば、64ビットの値をメモリから読む操作は32ビットのリードを2回行うことで実現されている場合がある。プロセスが最初の32ビットをリード後、次の32ビットをリードする前に値が変更されるかもしれない。結果として得られた64ビット値は変更前とも変更後とも異なる無意味な値となる。

さらに、このような結果はプロセスの動作する順番に依存しており、デバッグしようとしても検出が難しい。

CPUアーキテクチャによる違いとロック

カウンタのインクリメント/デクリメントは、RISCアーキテクチャの場合、上記の例のようにリードとライトが別々の命令で行われるために、そのままでは不可分操作にできない。しかし、x86アーキテクチャのようなCISCでは、インクリメントやデクリメントを1命令で実行する命令が存在するため、それだけで不可分性が成立する。必要最小限の不可分操作は、結局テスト・アンド・セットのような指定されたメモリアドレスへのリードとライトを不可分に行う操作となる。しかし、RISCアーキテクチャは 1命令で複数回のメモリアクセスを行わないのが基本思想であるため、直接テスト・アンド・セット命令を実装することはできない(テスト・アンド・セットを命令として実装する場合、バスをロックしてリードとライトを行って他のバスマスタがメモリアクセスを途中で発行できないようにしている)。そのためにコンペア・アンド・スワップLoad-Link/Store-Conditionalといった不可分操作が使われるようになった。

上記の例は「クリティカルセクション」のまわりでロックを獲得することで解決するように見える。しかし、ロックもハードウェアのサポート無しでは単なるメモリ上のデータでしかない。スピンロックなどのアルゴリズムをソフトウェアだけで実装することは可能だが、効率的ではない。そのために、上述のテスト・アンド・セットなどの不可分操作が最近のプロセッサで実装されており、そういった機能でロックを実装する。

関連項目

Read other articles:

   Гран-при Катара 2006 Информация о гонке 2 гонка из 17 в Чемпионате мира по шоссейно-кольцевым мотогонкам Мото GP 2006 года. Дата 8 апреля, 2006 Место проведения Международный автодром Лусаил Длина круга 5.380 км MotoGP Поул Быстрый круг Кейси Стоунер Валентино Росси 1:55.683 1:57.305 Поди

 

Día Internacional de la Democracia Datos generalesTipo día internacional y evento recurrentePrimera vez 8 de noviembre de 2007Fecha 15 de septiembre[editar datos en Wikidata] La Asamblea General de las Naciones Unidas decidió observar el 15 de septiembre Día Internacional de la Democracia. Día Internacional de la Democracia 2023 El 8 de noviembre de 2007, la Asamblea General de las Naciones Unidas en la Resolución 62/7 decidió observar el 15 de septiembre Día Internacio...

 

?Астрофори Xestospongia testudinaria Біологічна класифікація Домен: Ядерні (Eukaryota) Царство: Тварини (Animalia) Підцарство: Первинні багатоклітинні (Prometazoa) Тип: Губки (Porifera) Клас: Demospongiae(Sollas, 1885) Ряд: AstrophoridaSollas, 1888 Родини Ancorinidae Schmidt, 1870 Calthropellidae Lendenfeld, 1907 Geodiidae Gray, 1867 Pachastrellidae Carter, 1875 Theneidae Carter, 1883 ...

Segundo Serrano Diputado Nacional de Ecuadorpor Cañar 2003-2007 Alcalde de Azogues 1992-2000Predecesor Marco Vicuña DomínguezSucesor Víctor Molina Diputado Nacional de Ecuadorpor Cañar 1990-1992 1986-1988 Información personalNacimiento 15 de marzo de 1946 (77 años)Azogues (Ecuador) Nacionalidad EcuatorianaEducaciónEducado en Universidad de Cuenca Información profesionalOcupación Político, abogado y periodista [editar datos en Wikidata] Segundo Ignacio Serrano Serrano (Azo...

 

Dieser Artikel behandelt den Popsänger, zum Schriftsteller siehe Alex Jahnke. Alexander Jahnke (2019) ChartplatzierungenErklärung der Daten Singles[1] Halt alle Uhren an   DE 34 12.05.2017 (1 Wo.)   AT 33 19.05.2017 (1 Wo.)   CH 20 14.05.2017 (1 Wo.) Alexander Jahnke (* 29. April 1987 in Lehrte) ist ein deutscher Popsänger, der durch seine Teilnahme an der Casting-Show Deutschland sucht den Superstar Bekanntheit erlangte. Inhaltsverzeichnis 1 Leben 1.1...

 

Berikut merupakan daftar 305 komune di département Deux-Sèvres, di Prancis. (CAN) Communauté d'agglomération de Niort, dibentuk tahun 2000. Kode INSEE Kode pos Komune 79001 79240 L'Absie 79002 79200 Adilly 79003 79230 Aiffres (CAN) 79004 79370 Aigonnay 79005 79600 Airvault 79006 79190 Les Alleuds 79007 79130 Allonne 79008 79350 Amailloux 79009 79210 Amuré (CAN) 79010 79210 Arçais (CAN) 79011 79110 Ardilleux 79012 79160 Ardin 79013 79150 Argenton-les-Vallées 79014 79290 Argenton-l'Égli...

中华人民共和国资源税法简称资源税法公布日期2019年8月26日施行日期2020年9月1日法律效力位阶普通法律立法历程人大常委会通过:2019年8月26日(第十三届全国人民代表大会常务委员会)国家主席公布:《中华人民共和国主席令》(2019年8月26日,国家主席习近平签署公布) 收录于维基文库的法律原文:中华人民共和国资源税法 收录于国家法律法规数据库的法律原文:中华人...

 

This article is an orphan, as no other articles link to it. Please introduce links to this page from related articles; try the Find link tool for suggestions. (April 2020) Carpenters Island is an island in the Little Tennessee River in Loudon County, Tennessee.[1] It is shown on United States Geographical Survey map USGS Meadow quad. The nearest major town is Loudon, Tennessee. One early official mention of it is in Examination and Survey of Little Tennessee River, Tennessee, U.S. Hou...

 

Airport parking operator in Canada Not to be confused with Park 'N Fly, an American company with the same name. Park 'N Fly Canada Airport ParkingTypeSubsidiaryIndustryParkingHeadquarters5905 Campus Road, Mississauga, OntarioArea servedCanadaKey peopleCarlo Marrello, CEOOwnerCK Hutchison HoldingsWebsitewww.parknfly.ca Park'N Fly Airport Parking, also known as Park'N Fly, is a Canadian airport parking operator based in Mississauga, Ontario.[1] It is the largest and only national operat...

Non-profit organisation This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: ColaLife – news · newspapers · books · scholar · JSTOR (November 2012) (Learn how a...

 

Pour les articles homonymes, voir 86e régiment. Cet article est une ébauche concernant une unité ou formation militaire française. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. 86e régiment d'infanterie de ligne Insigne régimentaire du 86e Régiment d'Infanterie Création 1689 Dissolution 1963 Pays France Branche Armée de terre Type Régiment d'infanterie Rôle Infanterie Inscriptionssur l’em...

 

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (ديسمبر 2018) الشركة الجهوية للنقل بالقيروانالشركة الجهوية للنقل بالقيروانمعلومات عامةالجنسية تونس النوع حكوميةالم...

GEN CorporationTypePrivately held companyIndustryAerospaceHeadquartersMatsumoto, Nagano, JapanProductsHelicoptersWebsiteen.gen-corp.jp GEN Corporation of Japan developed a personal helicopter named the GEN H-4, but production was deferred pending large enough orders to make the aircraft economical.[1][2] The company also developed the GEN 125, a very small 8 hp (6 kW), twin-cylinder, two-stroke aircraft engine to power the H-4. The engine weighs 3 kg (6.6 l...

 

2021 Filipino filmNeliaTheatrical release posterDirected byLester DimarananScreenplay byMelanie Honey QuiñoStarring Winwyn Marquez Raymond Bagatsing Ali Forbes ProductioncompaniesA and Q Productions FilmRelease date December 25, 2021 (2021-12-25) CountryPhilippinesLanguageFilipino Nelia is a 2021 Philippine suspense thriller film directed by Lester Dimaranan under A and Q Productions Film starring Winwyn Marquez.[1] Premise A nurse attempts to uncover information about...

 

2008 Norwegian filmManhuntInternational film posterDirected byPatrik SyversenWritten byNini Bull RobsahmPatrik SyversenProduced byKnud Bjørne-LarsenTorleif HaugeStarringKristina Leganger AaserudJanne Beate BønesHenriette BruusgaardJørn Bjørn Fuller GeeCinematographyHåvard Andre ByrkjelandEdited byVeslemøy B. LangvikMusic bySimon BoswellProductioncompanyFender FilmDistributed byEuforia Film (Norway)Release date2008Running time75 minutesCountryNorwayLanguageNorwegianBox office$1.1 million...

Artikel ini perlu diwikifikasi agar memenuhi standar kualitas Wikipedia. Anda dapat memberikan bantuan berupa penambahan pranala dalam, atau dengan merapikan tata letak dari artikel ini. Untuk keterangan lebih lanjut, klik [tampil] di bagian kanan. Mengganti markah HTML dengan markah wiki bila dimungkinkan. Tambahkan pranala wiki. Bila dirasa perlu, buatlah pautan ke artikel wiki lainnya dengan cara menambahkan [[ dan ]] pada kata yang bersangkutan (lihat WP:LINK untuk keterangan lebih lanjut...

 

No debe confundirse con São Raimundo Esporte Clube. São RaimundoDatos generalesNombre São Raimundo Esporte ClubeApodo(s) Pantera[1]​Fundación 9 de enero de 1944 (79 años)[2]​Presidente Junior Tapajós[3]​Director deportivo Lenilson Almeida[3]​InstalacionesEstadio Estadio Colosso do TapajósCapacidad 17.846[4]​Ubicación Santarém, Brasil Titular Alternativo Última temporadaLiga Campeonato Brasileño de Serie D(2019) 9ºRegional Segunda División del Ca...

 

This article is about the 2004 British-German movie. For the 2014 American movie, see Creep (2014 film). This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Creep 2004 film – news · newspapers · books · scholar · JSTOR (April 2015) (Learn how and when to remove this template message) 2004 filmCreepTheatrica...

Стаття із серії:Історія Києва Рання історія КиєваДавньоруський КиївКиїв у золотоординські часиКиїв у литовсько-польську добуКиїв у 1654–1811Київ у 1811–1917Київ під час Української революціїКиїв у 1920–1941Київ у Другу світову війнуКиїв у 1945–1991Київ у добу Незалежності Див. так...

 

Constituency in the Ashanti Region of Ghana Asante-Akim Centralconstituencyfor the Parliament of GhanaDistrictAsante Akim Central Municipal DistrictRegionAshanti Region of GhanaCurrent constituencyPartyNew Patriotic PartyMPKwame Anyimadu-AntwiAsante-Akim Central is one of the constituencies represented in the Parliament of Ghana. It elects one Member of Parliament (MP) by the first past the post system of election. Asante-Akim Central is located in the Asante Akim North district of the Ashant...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!