Jump to content

Граф приоритета

Граф приоритетов , также называемый графом конфликтов. [1] и сериализуемости граф , используется в контексте управления параллелизмом в базах данных . [2] Это ориентированный граф , представляющий приоритет транзакций в расписании, отражаемый приоритетом конфликтующих операций в транзакциях. Расписание является сериализуемым для конфликтов тогда и только тогда, когда его график приоритета зафиксированных транзакций является ациклическим .

Граф приоритета для расписания S содержит:

  • Узел для каждой зафиксированной транзакции в S
  • Дуга от Ti до Tj , если действие Ti предшествует конфликтует с одному из и действий Tj ним. То есть действия принадлежат разным транзакциям, по крайней мере одно из действий является операцией записи, и действия обращаются к одному и тому же объекту (чтение или запись).

Циклы зафиксированных транзакций можно предотвратить, прервав нерешительную (ни зафиксированную, ни прерванную) транзакцию в каждом цикле графа приоритетов всех транзакций, которые в противном случае могут превратиться в цикл зафиксированных транзакций (а зафиксированная транзакция не может быть прервана). . Одна транзакция, прерываемая за цикл, необходима и достаточна для разрыва и устранения цикла (возможно большее количество прерываний, которые могут произойти при некоторых механизмах, но они не нужны для сериализуемости). Вероятность генерации цикла обычно невелика, но, тем не менее, такая ситуация тщательно обрабатывается, обычно со значительными накладными расходами, поскольку требуется корректность. Транзакции, прерванные из-за предотвращения нарушения сериализуемости, перезапускаются и немедленно выполняются снова.

Примеры графиков приоритета

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

Граф приоритета графика D с 3 транзакциями. Поскольку существует цикл (длиной 2; с двумя ребрами) через зафиксированные транзакции T1 и T2, этот график (история) не является сериализуемым для конфликтов . Обратите внимание, что фиксация транзакции 2 не имеет никакого значения для создания графа приоритетов.

Пример тестирования сериализуемости

Алгоритм проверки сериализуемости конфликтов расписания S вместе с примером расписания.

или

  1. Для каждой транзакции T x, участвующей в расписании S, создайте узел с меткой T i на графе приоритетов. Таким образом, граф приоритета содержит T 1 , T 2 , T 3 .
  2. Для каждого случая в S, где T j выполняет read_item (X) после того, как T i выполняет write_item (X), создайте ребро (T i → T j ) в графе приоритета. В приведенном выше примере этого не происходит, поскольку чтение после записи не выполняется.
  3. Для каждого случая в S, где T j выполняет write_item (X) после того, как T i выполняет read_item (X), создайте ребро (T i → T j ) в графе приоритета. В результате получается направленное ребро от T 1 к T 2 (поскольку T 1 имеет R(A) до того, как T 2 имеет W(A) ).
  4. Для каждого случая в S, где T j выполняет write_item (X) после того, как T i выполняет write_item (X), создайте ребро (T i → T j ) в графе приоритета. Это приводит к появлению направленных ребер от T 2 к T 1 , от T 2 к T 3 и от T 1 к T 3 .
  5. Расписание S сериализуемо тогда и только тогда, когда граф приоритета не имеет циклов. Поскольку T 1 и T 2 составляют цикл, приведенный выше пример не является (конфликт) сериализуемым.
  1. ^ «21-110: Графики конфликтов» .
  2. ^ «Тест графа приоритета на сериализуемость конфликтов» .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9dcba9819a4c041bf2b802fda020023f__1703692800
URL1:https://arc.ask3.ru/arc/aa/9d/3f/9dcba9819a4c041bf2b802fda020023f.html
Заголовок, (Title) документа по адресу, URL1:
Precedence graph - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)