КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Тупиковая ситуация
Проблема несовместимого анализа Проблема незафиксированной зависимости Проблема потери результатов обновления Решение проблем параллелизма Рассмотрим описанные выше проблемы, возникающие при параллельной обработке кортежей. На рис. 10.7. приведена измененная версия процесса, показанного на рис.3., с учетом применения протокола блокировки для чередующихся операций.
Рис.10.7. Хотя обновления не утрачиваются, но в момент времени t4 возникает тупиковая ситуация На рис.10.8 и рис.10.9 приведены в измененном виде примеры, показанные ранее на рис.10.4 и рис.10.5 соответственно. Они демонстрируют чередующееся выполнение операций согласно описанному выше протоколу блокировки.
Рис.10.8. Транзакция А предохраняется от выполнения операций с незафиксированным изменением в момент времени t2
Рис.10.9. Транзакция А предохраняется от выполнения операций с незафиксированным изменением в момент времени t2
На рис.10.10 приведена измененная версия рис.10.6 с перечислением чередующихся транзакций согласно протоколу блокировки.
Рис.10. Проблема несовместимого анализа разрешается, но в момент времени t7 возникает тупиковая ситуация Как было показано выше, блокировку можно использовать для разрешения трех основных проблем, возникающих при параллельной обработке кортежей. К сожалению, использование блокировок приводит к возникновению другой проблемы – тупиковой ситуации. Два примера таких ситуаций были приведены выше. Тупиковая ситуация возникает тогда, когда две или более транзакции одновременно находятся в состоянии ожидания, причем для продолжения работы каждая из транзакция ожидает прекращения выполнения другой транзакции. Желательно, чтобы при возникновении тупиковой ситуации система могла обнаружить ее и найти из нее выход. Для обнаружения тупиковой ситуации следует обнаружить цикл в диаграмме состояний ожидания, т.е. в перечне «транзакций, которые ожидают окончания выполнения других транзакций». Поиск выхода из тупиковой ситуации состоит в выборе одной из заблокированных транзакций в качестве жертвы и отмене ее выполнения. Таким образом, с нее снимается блокировка, а выполнение другой транзакции может быть возобновлено.
Дата добавления: 2014-01-20; Просмотров: 337; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |