|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
ПРОБЛЕМЫ СИНХРОНИЗАЦИИ В РАСПРЕДЕЛ. СИСТЕМАХВозникают в результате решения следующих задач: 1. Необходимость и при этом неспособность одновременного доступа к совместно используемым ресурсам, например к принтерам, в результате чего пользователи должны взаимодействовать, позволяя друг другу временно получать эксклюзивный доступ к этому ресурсу. 2. Синхронизация времени: т.к. основная проблема распределенных систем состоит в том, что для неё не существует понятие единых совместно используемых часов, т.к. процессы на различных машинах имеют собственное мнение о времени (время). Все это породило различные способы синхронизации часов в распределенных системах, но все они основаны на обмене показаниями часов, что вызывает задержки в пересылке и получении сообщений. При этом: чем точнее алгоритм синхронизации, тем больше задержки. Т.к. во многих случаях знание точного времени не требуется, то наибольшее распространение получил алгоритм логических часов, когда можно заставить набор процессов соблюдать общее соглашение относительно правильной очередности событий. 3. Установка соглашений о порядке прохождения сообщений. Так как в распределенных системах нет понятия совместно используемой памяти, часто трудно определить текущее состояние системы. Его можно определить путем синхронизации всех процессов так, чтобы каждый из них определил и сохранил свое локальное состояние вместе с сообщениями, которые передаются в этот момент. Сама по себе синхронизация может быть выполнена без остановки процессов и записей их состояния. Вместо этого в ходе работы системы с неё можно сделать мгновенный слепок, т.е. распределённый снимок состояния. Синхронизация в этом случае тесно связана с понятием транзакции. Транзакции защищают общие ресурсы от одновременного доступа нескольких параллельных процессов. Т.о. если процесс во время транзакции решает остановиться на полпути или повернуть назад, все данные восстанавливаются с теми значениями и в том состоянии, в котором они были до начала транзакции. Т.о. основные свойства транзакции в распределенных системах: 1. Атомарность: гарантирует, что она либо полностью выполняется, либо полностью не выполняется. При этом другие процессы не могут наблюдать каких-либо промежуточных состояний. 2. Непротиворечивость значит, что если у системы до начала транзакции имелись некоторые соглашения, то они будут сохраняться и после её завершения. 3. Изолированность: если 2 или более транзакции происходят одновременно, то гарантирована возможность их одновременного выполнения, а итоговый результат будет таким же, как если бы они выполнялись одна за другой в определенном порядке. 4. Долговечность, т.е никакие действия в системе после завершения транзакции не влияют на её результат и никакие сбои не могут привести к потере результатов транзакции. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |