ВУЗ:
Составители:
Рубрика:
37
привести к глобальному тупику, который охватывает два или более узлов. На рис. 3.2
представлен пример возникновения такого тупика:
1. Агент транзакции T
2
на узле X ожидает, когда агент транзакции T
1
снимет блоки-
ровку на узле X
2. Агент транзакции T
1
на узле X ожидает, когда закончится выполнение транзакции
T
1
на узле Y
3. Агент транзакции T
1
на узле Y ожидает, когда агент транзакции T
2
снимет блоки-
ровку на узле Y.
4. Агент транзакции T
2
на узле Y ожидает, когда закончится выполнение транзакции
T
2
на узле X. Тупиковая ситуация!
Рис. 3.2. Пример глобального тупика.
Проблема тупика такого типа состоит в том, что ни один из узлов не может обна-
ружить тупик, используя только информацию, которая сосредоточена на этом узле.
Иначе говоря, в локальных диаграммах ожидания нет никаких циклов, но они появятся
при объединении локальных диаграмм в глобальную диаграмму ожидания. Отсюда
следует, что обнаружение глобальных тупиков связано с увеличением накладных
расходов, поскольку для этого требуется дополнительно совместить отдельные локальные
диаграммы.
Весьма элегантная (распределенная) схема обнаружения глобального тупика при-
водится в публикациях, посвященных системе R*.
Ожидание окончания
выполнения транзакции
Т
1
на узле Y
Ожидание окончания
выполнения транзакции
Т
2
на узле Х
Блоки
р
овка Lx
Ожидание снятия
блокировки на узле Х
Узел Х
T
1
Ожидание снятия
блокировки на узле Y
Блоки
р
овка L
y
Узел У
T
2
T
2
T
1
привести к глобальному тупику, который охватывает два или более узлов. На рис. 3.2
представлен пример возникновения такого тупика:
1. Агент транзакции T2 на узле X ожидает, когда агент транзакции T1 снимет блоки-
ровку на узле X
2. Агент транзакции T1 на узле X ожидает, когда закончится выполнение транзакции
T1 на узле Y
3. Агент транзакции T1 на узле Y ожидает, когда агент транзакции T2 снимет блоки-
ровку на узле Y.
4. Агент транзакции T2 на узле Y ожидает, когда закончится выполнение транзакции
T2 на узле X. Тупиковая ситуация!
Узел Х
Блокировка Lx
T1 T2
Ожидание снятия
блокировки на узле Х
Ожидание окончания
Ожидание окончания
выполнения транзакции
выполнения транзакции
Т1 на узле Y Узел У Т2 на узле Х
T1 T2
Ожидание снятия
блокировки на узле Y
Блокировка Ly
Рис. 3.2. Пример глобального тупика.
Проблема тупика такого типа состоит в том, что ни один из узлов не может обна-
ружить тупик, используя только информацию, которая сосредоточена на этом узле.
Иначе говоря, в локальных диаграммах ожидания нет никаких циклов, но они появятся
при объединении локальных диаграмм в глобальную диаграмму ожидания. Отсюда
следует, что обнаружение глобальных тупиков связано с увеличением накладных
расходов, поскольку для этого требуется дополнительно совместить отдельные локальные
диаграммы.
Весьма элегантная (распределенная) схема обнаружения глобального тупика при-
водится в публикациях, посвященных системе R*.
37
Страницы
- « первая
- ‹ предыдущая
- …
- 35
- 36
- 37
- 38
- 39
- …
- следующая ›
- последняя »
