Главная / Компьютеры / Транзакционная память.

Транзакционная память.

В программном обеспечении схема транзакционной памяти – это курс действий для многопоточного программирования, который использует транзакции, которые очень похожи на те, которые использует база данных. Когда два или более потока пытаются получить доступ к одним и тем же данным одновременно, разные нежелательные ситуации могут привести к тому, что результат программы будет зависит от порядка доступа к потоку. Обычно требуется одна последовательность и при многопоточности блокировки являются преобладающими и самым простым способом обеспечения того, чтобы только один поток имел доступ к определённому ресурсу за один раз.
Такой подход к транзакционной памяти содержит множество проблем в отношении блокировок в многопоточности. Блокировка может стать постоянной, если возникает какая-то непредвиденная ошибка, и блокировки могут приводить к непредсказуемым проблемам с параллелизмом, например, к взаимоблокировке или инверсии приоритетов. В результате того, что блокировки очень раздробленные, другая проблема включает в себя код, который в конечном итоге заканчивается тем, что тратит большую часть времени между блокировками, переключением контекста и разблокировкой. Это ключевая проблема, потому что это может привести к тому, что код тратит больше времени на эти действия, чем на выполнение другой важной работы в программе. Напротив, крупные блокировки могут приводить к снижению производительности обработки и уменьшению параллелизма.

Проблемы в транзакционной памяти адресуются передовыми блокировками, в том числе блокировкой C #, блокировкой чтения и записи, барьерами записи и т. д. Одним из основных приоритетов в транзакционной памяти является отсутствие блокировок и отсутствие ненужного времени обработки блокировки, обычно принято считать, что структура данных, которая является общей, не содержит блокировок, если её операции не требуют взаимного исключения. Структуры данных, которые являются общими и не содержат блокировок, не позволяют часто ассоциировать проблемы со стандартными методами блокировки, если они находятся в системах, которые являются высококонкурентными.

Модель транзакционной памяти и согласованность (TCC) – новая, предлагаемая модель для разделяемой памяти. Согласно модели, транзакции неизменно являются базовыми единицами следующего: параллельная работа, согласованность памяти, связь и согласованность ссылки на память. Модель TCC также упрощает параллельное программное обеспечение, устраняя синхронизацию, которая использует стандарты блокировки или сигналы. Через аппаратное обеспечение TCC также объединяет каждую запись из каждой области транзакции в один пакет, чтобы передать пакет в состояние памяти, которое постоянно используется совместно. В дополнение к упрощённому аппарату когерентности это означает, что требуется сокращение сообщений с низким уровнем покоя и полное устранение определённых стандартных протоколов согласованности.



Оставьте комментарий

Ваш email не будет опубликован. Обязательные поля помечены *

*