Результаты (
русский) 2:
[копия]Скопировано!
Рассмотрим распределенную систему базы данных , где совокупность процессов выполняет ряд операций. Каждая транзакция должна приобрести один или несколько замков , чтобы получить эксклюзивный доступ к определенным типам объектов-вот, эти замки являются ресурсы. Пусть процесс P выполнить транзакции T1 , для которых необходимо приобрести замки а, Ь и с. Каждый процесс имеет локальный контроллер ресурсов: предположим , что локальный контроллер P управляет запирать, но замки б и управляются с помощью контроллеров локальных процессов Q и R соответственно. Таким образом , после приобретения блокировки через локальный контроллер, P посылает запросы для замков б и к контроллерам Q и R. Это соответствует образованию двух ориентированных ребер (P, Q) и (P, R) в WFG. Если Q одновременно выполняет другой s2 транзакции , которая требует доступа для блокировки с, то WFG будет содержать другой направленное ребро (Q, R). Теперь, если контроллер ресурсов R грантов блокировки с Р, то Q будет ждать P для снятия блокировки с. В результате край (P, R) исчезнет, и будет сформировано новое ребро (Q, P).
Перед тем , как искать нового алгоритма для обнаружения тупиковой, давайте спросим: не могли бы мы использовать Дейкстра-Шолтен алгоритм прекращения обнаружения для этой цели? Этот алгоритм, безусловно , способен обнаружить состояние , когда каждый процесс в системе ожидания. Тем не менее, тупиковый также возможно , когда подмножество процессов участвует в круговом состоянии ожидания. Это известно как частичный тупик, и он не может быть легко обнаружены с помощью метода Дейкстры-Шолтен в. Это мотивирует поиск других алгоритмов обнаружения блокировки мертвую зону.
Выбор правильного алгоритма также зависит от модели тупика. Тупики , возникающие из действий , описанных в сценарии обработки транзакций ранее являются характеристиками модели тупиковой ресурсов. В модели тупиковой ресурсов, процесс ожидает до тех пор, пока не получит все ресурсы , которые он просил. Модель ресурсов также называется и модель. В этой модели тупиковый имеет место тогда и только тогда , когда существует цикл процессов , ожидающих, каждый зависит от следующего процесса в цикле , чтобы добиться прогресса. Существует, однако, другой вид тупиковой модели , которая была рассмотрены в данном контексте, он называется тупиковой коммуникационная модель. Рассмотрим передачи сообщений модель коммуникации. Местные состояния процессов чередуются между активным и пассивным. Процесс P , который является пассивным , теперь могут стать активными после получения сообщения от любого одного из множества процессов, называют его зависимое множество зависят (Р) Р. В соответствующем WFG, направленное ребро извлечь из каждого процесса в зависимости (Р) к P. Поскольку P может быть активирован с помощью любого из процессов , происходящих в его зависимое множество, то соответствующая модель называется или модели. Мы не заботимся о механизме активации , но предположим , что все управляется с помощью сообщений. В подгруппе S множества процессов, тупиковый связь возникает , когда
1. Каждый процесс в S является пассивным
2. ∀i ∈ S, зависит (я) ⊆ S
3. Все каналы связи между процессами в S пустуют
Очевидно , что , так как все входящие каналы на процессы , происходящие в S пустые, ни один из них никогда не может быть активным и состояние стабильное. Соответствующий подграф называется узлом. В этом разделе рассматриваются два распределенных алгоритмов обнаружения тупиковой для этих случаев-этих алгоритмов в связи с Чанди и др. [CMH83].
переводится, пожалуйста, подождите..
