Jump to content

Постоянная память

(Перенаправлено из постоянного состояния )

В информатике . постоянная память — это любой метод или устройство для эффективного хранения структур данных, чтобы к ним можно было продолжать обращаться с помощью инструкций памяти или API-интерфейсов памяти даже после завершения процесса, который их создал или последний раз модифицировал [ 1 ]

Постоянная память, которую часто путают с энергонезависимой памятью с произвольным доступом (NVRAM), вместо этого более тесно связана с концепцией постоянства , поскольку в ней делается акцент на состоянии программы, которое существует за пределами зоны сбоя процесса, который ее создал. (Процесс — это исполняемая программа. Зона сбоя процесса — это то подмножество состояния программы, которое может быть повреждено , если процесс продолжает выполняться после возникновения ошибки, например, из-за ненадежного компонента, используемого в компьютере, выполняющем программу. .)

Эффективный доступ, подобный памяти, является определяющей характеристикой постоянной памяти. [ 2 ] Это может быть обеспечено с помощью микропроцессора инструкций памяти , таких как загрузка и сохранение. Его также можно предоставить с помощью API, которые реализуют действия удаленного прямого доступа к памяти (RDMA), такие как чтение RDMA и запись RDMA. Другие методы с малой задержкой , позволяющие выполнять побайтовую обработку. [ нужны разъяснения ] доступ к данным также имеет право.

Возможности постоянной памяти выходят за рамки энергонезависимости хранимых битов. Например, потеря ключевых метаданных, таких как записи таблицы страниц или других конструкций, которые преобразуют виртуальные адреса в физические адреса, может сделать устойчивые биты непостоянными. В этом отношении постоянная память напоминает более абстрактные формы компьютерного хранилища, такие как файловые системы . Фактически, почти все существующие технологии постоянной памяти реализуют по крайней мере базовую файловую систему, которую можно использовать для связи имен или идентификаторов с хранимыми экстентами, и как минимум предоставляют методы файловой системы, которые можно использовать для именования и распределения таких экстентов.

Проблема чтения непостоянной записи

[ редактировать ]

непостоянной записи возникает для блокировки программ без Проблема чтения или в постоянной памяти. Поскольку операции сравнения и замены (CAS) не сохраняют записанные значения в постоянной памяти, измененные данные могут быть сделаны видимыми с помощью протокола когерентности кэша для параллельного наблюдателя до того, как измененные данные смогут наблюдаться наблюдателем сбоев в постоянной памяти. . Если сбой питания происходит сразу после того, как запись становится видимой, но еще не постоянной, может возникнуть проблема чтения непостоянной записи, т. е. переменная данных, которая изменяется в результате операции сравнения и замены, может быть сделана видимый одновременно наблюдателю перед наблюдателем сбоев, что приводит к потенциальным несоответствиям сбоев.

Чтобы проиллюстрировать проблему: для односвязного списка без блокировки узел может быть вставлен производителем. thread A после head узел, next указатель головного узла автоматически переключается (CAS), чтобы указать на новый node A, однако этот CAS не сохраняется. Затем производитель вставляет еще один узел. thread B после node A, как CAS для node A уже виден всем параллельным потокам. CAS атомарно переключает next указатель node A указать на node B, и этот CAS сохраняется. Если на этом этапе произойдет сбой питания, приложение, использующее связанный список, останется в несогласованном состоянии, причем оба node A и node B проиграл, так как next указатель из head узел для node A не сохранилось. Как node B был опубликован, но к нему невозможно получить доступ после перезагрузки, а также могли сохраниться другие данные, доступ к которым осуществляется через или зависит от него. node B, все последующие доступы к таким данным будут невозможны, что приведет к потере данных. [ 3 ]

Проблема чтения-непостоянной записи не ограничивается связанными списками без блокировок, ее можно обнаружить в любых структурах данных без блокировок, где может существовать потенциальный разрыв между параллельной видимостью и постоянной видимостью. Например, аналогичная проблема может возникнуть с постоянными циклическими буферами . [ 4 ]

См. также

[ редактировать ]
  • NOVA (файловая система) или «ускоренная энергонезависимая память», файловая система с журнальной структурой с открытым исходным кодом для постоянной памяти с байтовой адресацией.
  • Постоянные данные , информация, к которой редко обращаются и которая вряд ли будет изменена.
  • Постоянные структуры данных — структура данных, которая всегда сохраняет предыдущую версию себя при изменении (фактически неизменяемая).
  • Phantom OS — постоянная операционная система.
  1. ^ Сатиш М. Татте. 1986. Постоянная память: архитектура хранения для объектно-ориентированных систем баз данных. В материалах международного семинара 1986 года по объектно-ориентированным системам баз данных (OODS '86). Издательство IEEE Computer Society, Лос-Аламитос, Калифорния, США, 148–159.
  2. ^ П. Мехра и С. Файнберг, «Быстрая и гибкая устойчивость: волшебное зелье для отказоустойчивости, масштабируемости и производительности в онлайн-хранилищах данных», 18-й Международный симпозиум по параллельной и распределенной обработке, 2004. Труды., Санта-Фе, Нью-Мексико, США, 2004, стр. 206-. дои: 10.1109/IPDPS.2004.1303232
  3. ^ Ван, Уильям; Дистельхорст, Стефан (17 июня 2019 г.). «Постоянные атомы для реализации устойчивых структур данных без блокировки для энергонезависимой памяти (краткое объявление)» . 31-й симпозиум ACM по параллелизму в алгоритмах и архитектурах . Ассоциация вычислительной техники. стр. 309–311. дои : 10.1145/3323165.3323166 . ISBN  9781450361842 . S2CID   195064876 – через цифровую библиотеку ACM.
  4. ^ Вольчко, Марио (26 апреля 2019 г.). «Энергонезависимая память и Java: Часть 2» . Середина .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d6839e18c9eff778ab7287bc8c33ad23__1678688040
URL1:https://arc.ask3.ru/arc/aa/d6/23/d6839e18c9eff778ab7287bc8c33ad23.html
Заголовок, (Title) документа по адресу, URL1:
Persistent memory - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)