An Entity of Type: written work, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

Memory coherence is an issue that affects the design of computer systems in which two or more processors or cores share a common area of memory. In a uniprocessor system (whereby, in today's terms, there exists only one core), there is only one processing element doing all the work and therefore only one processing element that can read or write from/to a given memory location. As a result, when a value is changed, all subsequent read operations of the corresponding memory location will see the updated value, even if it is cached.

Property Value
dbo:abstract
  • Memory coherence is an issue that affects the design of computer systems in which two or more processors or cores share a common area of memory. In a uniprocessor system (whereby, in today's terms, there exists only one core), there is only one processing element doing all the work and therefore only one processing element that can read or write from/to a given memory location. As a result, when a value is changed, all subsequent read operations of the corresponding memory location will see the updated value, even if it is cached. Conversely, in multiprocessor (or multicore) systems, there are two or more processing elements working at the same time, and so it is possible that they simultaneously access the same memory location. Provided none of them changes the data in this location, they can share it indefinitely and cache it as they please. But as soon as one updates the location, the others might work on an out-of-date copy that, e.g., resides in their local cache. Consequently, some scheme is required to notify all the processing elements of changes to shared values; such a scheme is known as a memory coherence protocol, and if such a protocol is employed the system is said to have a coherent memory. The exact nature and meaning of the memory coherency is determined by the consistency model that the coherence protocol implements. In order to write correct concurrent programs, programmers must be aware of the exact consistency model that is employed by their systems. When implemented in hardware, the coherency protocol can, for example, be directory-based or snooping-based (also called sniffing). Specific protocols include the MSI protocol and its derivatives MESI, MOSI and MOESI. (en)
  • メモリ一貫性(英: Memory coherence)とは、2つ以上のプロセッサをそなえ記憶装置を共有するコンピュータにおいて、各プロセッサが読み書きするメモリのデータが不整合をきたさないという特質である。メモリ一貫性は、そうしたコンピュータシステムの設計に影響を与える問題である。 コンピュータシステムは永続記憶域からメモリにデータを読み出し、データに何らかの操作を施し(例えば二つの数値を加算するなど)、その結果を永続記憶域に書き戻すことにより動作する。プロセッサが一つのシステム(廉価なパーソナルコンピュータなど) ではデータの読み書きを行うプロセッサも一つしかない。またプロセッサが一つであれば同時に一つのことしか行うことができないので、記憶域内の情報が変化させたとしても、その後の操作では確実に変化した情報を取り出すことができる。 マルチプロセッサのシステムでは、同時に動くプロセッサが複数存在し、すべてのプロセッサが同時に同じ情報を処理する可能性が生じる。どのプロセッサも情報を書き換えることがなければプロセッサ間で情報を共有することに何の支障もないが、いずれかのプロセッサが情報を書き換えると、他のプロセッサは書き換えられる前の古いコピーを使って作業を行ってしまう。そこで何らかの方法を用いてすべてのプロセッサに情報が変化したことを通知しなければならない。それらの方法いくつかが"メモリ一貫性プロトコル" として知られる。メモリ一貫性だけでは並行動作するプログラムが安全にデータを書き込むことができず、キャッシュ一貫性モデルと組み合わせて使用する。 メモリ一貫性を維持するためにさまざまなプロトコルが考案されている。例えばMSI プロトコルや、その派生系である MESIプロトコル、MOSIプロトコル、MOESIプロトコルなどがある。 (ja)
  • Когерентность памяти (англ. memory coherence) — свойство компьютерных систем, содержащих более одного процессора или ядра, имеющих доступ к одной области памяти, заключающееся в том, что изменённая одним ядром/процессором ячейка памяти принимает новое значение для остальных ядер/процессоров. В системах (более строго — в ) работу с памятью выполняет один процессорный узел: только один узел может читать данные из памяти или записывать данные в память. После записи нового значения в ячейку памяти, доступную по какому-либо адресу, при чтении данных из той же ячейки будет получено записанное значение (даже при наличии кэширования). В многопроцессорных (многоядерных) системах несколько процессорных узлов работают одновременно и могут одновременно (параллельно) обращаться к одной ячейке памяти (для чтения или для записи). Узлы могут одновременно прочитать значение из одной ячейки памяти, могут сохранить прочитанное значение в своих кешах. Как только один из узлов запишет в ячейку новое значение, значения, сохранённые в локальной памяти других узлов, должны помечаться как устаревшие. Необходим механизм уведомления всех узлов о том, что значение, сохранённое в их кешах, устарело; такой механизм называется (англ. memory coherence protocol). Если в системе используется подобный протокол, то говорят, что система имеет «когерентную память» (англ. coherent memory). Точная природа и смысл механизма когерентности определяются моделью консистентности/связанности, реализованной в протоколе. Для составления правильных «параллельных» программ программисты должны знать о том, какая именно модель/способ консистентности/связанности кеш-памяти используется в их системах. Если протокол когерентности/синхронизации реализован аппаратно, для выяснения применяемой модели консистентности/связанности программисты могут использовать , могут читать специальные таблицы-справочники (англ. directory-based). В качестве примера протокола когерентности можно привести протокол (англ. modified, shared, invalid) (англ.) и его разновидности ( (англ.), (англ.), MOESI, MESIF). (ru)
  • Когеренція пам'яті (англ. memory coherence) — властивість комп'ютерних систем, в яких два або більше процесорів або ядер мають доступ до спільної області пам'яті. В однопроцесорних системах (більш строго — в одноядерних) лише один процесорний вузол виконує всю роботу, отже, тільки він один може виконувати читання і запис певної області пам'яті. В результаті, коли вміст комірки змінюється, всі наступні операції читання за цією адресою отримають оновлене значення навіть при наявності кешування. З іншого боку, в багатопроцесорних (і багатоядерних) системах кілька процесорних вузлів працюють одночасно, тому можлива ситуація паралельного доступу до однієї комірки пам'яті. За умови, що жоден з них не змінює значення цієї комірки, вони можуть вільно користуватися нею спільно, кешуючи на свій розсуд. Але як тільки один з них оновлює значення комірки, дані у локальних кешах інших вузлів можуть виявитися застарілими. Отже, необхідний механізм повідомлення всіх вузлів про зміну значення в загальній пам'яті; такий механізм називається протоколом когеренції (англ. memory coherence protocol). Якщо подібний протокол застосовано, то кажуть, що система має «когерентну пам'ять» (англ. coherent memory). Точна природа і смисл механізму когеренції визначається , реалізованої в протоколі. Щоб писати правильні паралельні програми, програмісти повинні бути в курсі того, яка саме модель консистентності застосована в їхніх системах. При апаратній реалізації протоколу когеренції можна використовувати сніффінг (снупінг) шини, застосовувати спеціальні таблиці-довідники (англ. directory-based). Як приклад конкретного протоколу можна навести MSI (англ. Modified/Shared/Invalid) і його різновиди MESI, MOSI і MOESI. (uk)
dbo:wikiPageID
  • 399818 (xsd:integer)
dbo:wikiPageLength
  • 3218 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1093286017 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdf:type
rdfs:comment
  • Memory coherence is an issue that affects the design of computer systems in which two or more processors or cores share a common area of memory. In a uniprocessor system (whereby, in today's terms, there exists only one core), there is only one processing element doing all the work and therefore only one processing element that can read or write from/to a given memory location. As a result, when a value is changed, all subsequent read operations of the corresponding memory location will see the updated value, even if it is cached. (en)
  • メモリ一貫性(英: Memory coherence)とは、2つ以上のプロセッサをそなえ記憶装置を共有するコンピュータにおいて、各プロセッサが読み書きするメモリのデータが不整合をきたさないという特質である。メモリ一貫性は、そうしたコンピュータシステムの設計に影響を与える問題である。 コンピュータシステムは永続記憶域からメモリにデータを読み出し、データに何らかの操作を施し(例えば二つの数値を加算するなど)、その結果を永続記憶域に書き戻すことにより動作する。プロセッサが一つのシステム(廉価なパーソナルコンピュータなど) ではデータの読み書きを行うプロセッサも一つしかない。またプロセッサが一つであれば同時に一つのことしか行うことができないので、記憶域内の情報が変化させたとしても、その後の操作では確実に変化した情報を取り出すことができる。 メモリ一貫性を維持するためにさまざまなプロトコルが考案されている。例えばMSI プロトコルや、その派生系である MESIプロトコル、MOSIプロトコル、MOESIプロトコルなどがある。 (ja)
  • Когерентность памяти (англ. memory coherence) — свойство компьютерных систем, содержащих более одного процессора или ядра, имеющих доступ к одной области памяти, заключающееся в том, что изменённая одним ядром/процессором ячейка памяти принимает новое значение для остальных ядер/процессоров. Точная природа и смысл механизма когерентности определяются моделью консистентности/связанности, реализованной в протоколе. Для составления правильных «параллельных» программ программисты должны знать о том, какая именно модель/способ консистентности/связанности кеш-памяти используется в их системах. (ru)
  • Когеренція пам'яті (англ. memory coherence) — властивість комп'ютерних систем, в яких два або більше процесорів або ядер мають доступ до спільної області пам'яті. В однопроцесорних системах (більш строго — в одноядерних) лише один процесорний вузол виконує всю роботу, отже, тільки він один може виконувати читання і запис певної області пам'яті. В результаті, коли вміст комірки змінюється, всі наступні операції читання за цією адресою отримають оновлене значення навіть при наявності кешування. (uk)
rdfs:label
  • Memory coherence (en)
  • メモリ一貫性 (ja)
  • Когерентность памяти (ru)
  • Когеренція пам'яті (uk)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageDisambiguates of
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License