- •Оглавление
- •1.Компоненты сетевого по
- •2. Функции и характеристики системного сетевого по:
- •3. Уровни поддержки сетевых вычислений операционными системами.
- •4. Вычисления в архитектуре клиент-сервер. Классы приложения клиент-сервер.
- •5.Передача сообщений в сетевых системах. Синхронизация процессов при передачи сообщений.
- •6. Буферизация при синхронном и асинхронном взаимодействии процессов.
- •7. Способы адресации при передаче сообщений.
- •8. Надёжные и ненадёжные примитивы передачи сообщений:
- •9. Конвейеры (программные каналы).
- •10. Концепция вызова удалённых процедур.
- •11 И 12. Вопросы согласования времени в сетевых системах.Алгоритм синхронизации часов в сетевых системах.
- •13. Именование в сетевых системах.
- •14 И 15. Взаимное исключение в сетевых системах.
- •16 И 17.Распределённая взаимоблокировка. Виды распределённых взаимоблокировок. Методы предотвращения взаимоблокировок.
- •18. Репликация данных. Согласование реплик. Варианты внесения изменений в репликационные данные.
- •19. Кластерная обработка. Методы кластеризации.
- •20.Миграция процессов. Механизмы переноса процессов.
- •21. Организация доступа к удалённым данным. Доступ данных, основанный на документах.
- •22. Модели хранения информации в файловых системах. Надёжность и непротиворечивость файловых систем.
- •23. Организация доступа к удалённым данным. Доступ, основанный на файловой системе. Модели переноса.
- •24. Принципы построения сетевых файловых систем.
18. Репликация данных. Согласование реплик. Варианты внесения изменений в репликационные данные.
Это копирование данных на несколько узлов для быстрого доступа к ним. Для крупных и мелких систем используются разные алгоритмы.
Проблемы:
- доступность;
- коммутационные задержки;
- согласованность.
Варианты реплицирования:
1) слабая согласованность – изменения, вносимые в одну из реплик, становятся видны всем клиентам;
2) строгая согласованность – изменения становятся видны только после их распространения на всей реплике. На время согласования доступ к реплике закрыт. Обычно вводятся узлы горячего дублирования.
Существует несколько способов согласования реплик:
1) Чтение любой – запись во все (Read-Any –Write All). Недостаток: в момент записи некоторые серверы не работоспособны.
2) Запись в доступные (Available-Copies). Недостаток: возможность появления несогласованных копий
3)Также согласованность может быть с помощью кворумов. Такие алгоритмы используются в локальных системах. Полный набор реплик не всегда доступен. Обновление реплик производится тогда, когда в нём готово участвовать большинство реплик системы. Вот это число называется кворум записи , где - число реплик.
Кворум чтения определяется почти так же, а точнее наоборот. Наличие этого кворума гарантирует, что как минимум одна из реплик содержит последнюю версию. Тогда кворум чтения можно обозначить как (строго больше). Это для систем небольшого масштаба.
В крупномасштабных системах реплики организованы иерархически. Есть верхний уровень – серверов (количество не определено, может быть просто один сервер), и реплики этого уровня всегда строго согласованы. Потом идут следующие уровни иерархии, на которые распространяется согласованность верхних уровней, и чем ниже уровень, тем хуже согласованность. Если процессы хотят всегда иметь строгую согласованность, то они должны обращаться к серверам верхнего уровня, но тогда будут временные задержки.
19. Кластерная обработка. Методы кластеризации.
Кластерная (сетевая) архитектура. Кластер – некоторая альтернатива симметричной мультипроцессорной централизованной системы - это множество узлов (компьютеров), выполняющих одну задачу. С точки зрения пользователя, кластер – это некоторый единый ресурс, и обращение к нему тоже происходит как к единому ресурсу. ОС кластера должна поддерживать такую кластерную конфигурацию, thank u Captain Obvious!
Свойства кластеров:
- все компьютеры, сходящие в состав кластера, могут работать самостоятельно, работать отдельно от кластера;
- абсолютная масштабируемость, можно создавать кластер любого размера;. Кстати, по цене кластер может оказаться дешевле мультипроцессорной системы, при равной производительности;
- инкрементальная масштабируемость, можно добавлять узлы;
- высокая доступность. Так как каждый узел представляет собой отдельный компьютер, то его сбой и выход из строя не приводит к отказу в обслуживании – происходит перераспределение нагрузки;
- соотношение цены/производительности. Использование недорогих компьютеров в качестве узлов позволяет создавать высокопроизводительную систему, стоимость которой меньше стоимости отдельного компьютера такой же мощности.
Взаимодействие узлов осуществляется при помощи высокоскоростных линий связи. Есть две альтернативы этим высокоскоростным линиям связи:
1) локальная вычислительная сеть, используемая как узлами кластера, так и не входящими в него узлами;
2) специально выделенные для кластера линии связи. Но они тоже не замкнутые системы, некоторые узлы кластера взаимодействуют с объектами вне кластера.
Конфигурация кластеров включает в себя архитектуру технических средств и программного обеспечения.
Архитектура технических средств:
1) отдельные серверы – взаимодействие через высокоскоростные линии связи. обеспечивается высокая доступность за счёт увеличения накладных расходов на технические средства. Может быть снижение производительности из-за увеличенного трафика (обмена сообщениями между серверами);
2) серверы без совместного использования дисков – просто общие диски, которые разбиваются на тома. Каждый том использует один сервер. Если сервер выходит из строя, то его том может быть отдан (перераспределён) другому серверу;
3) серверы с совместным использованием дисков – а тут каждый том может использоваться не только одним сервером.
Обработка отказов кластеров:
- высокодоступные кластеры – высокая вероятность того, что ресурсы будут доступны;
- отказоустойчивые кластеры – гарантия постоянной доступности всех ресурсов. Достигается за счёт избыточных совместно используемых дисков (RAID-массивы) и механизмов восстановления транзакций (как выполненных, так и невыполненных).
Функции программного обеспечения кластеров:
- обеспечение единой точки входа в кластер. Извне кластер виден как некоторая единая система;
- единая иерархия файлов;
- единая точка управления;
- единая система управления кластерами (система сама определяет узел для задачи);
- единый UI (для любых клиентов всё выглядит одинаково);
- единое пространство ввода/вывода (любой узел может получить к любому внешнему устройству, не зная его физического местонахождения);
- миграция процессов (перенос (не копирование) процессов между узлами).
Кластеры существенно превосходят мультипроцессорные системы (SMP) с точки зрения инкрементальной и абсолютной масштабируемости, а также доступности.
Windows Server 2003 поддерживает два типа кластеров:
1) SC – кластер-сервер. Предназначены для приложений, которые называются приложениями с состояниями (которые обрабатывают большие объёмы данных и часто изменяются. Например, SQL-сервер, почтовый сервер, файл-сервер, серверы печати).
Все узлы подключены к общему хранилищу данных через шину SCSI. Кластер-сервер имеет своё имя и IP;
2) NLB – кластеры сбалансированной нагрузки сети (кластеры балансировки). Поддерживают приложения без состояния (которые работают с небольшими наборами данных, которые редко меняются или вообще не меняются. Например, веб-сервер, FTP).
Узлы NLB-кластера не подключены к общему хранилищу. И вообще, они проще.
Масштабирование кластеров:
1) вертикальное – для повышения производительности узлов путём изменения аппаратной конфигурации (оперативки докинули, процессор разогнали). Требует балансировки нагрузки;
2) горизонтальное – добавление сервера. Максимальное число серверов ограничено возможностями ОС.
Предел масштабируемости кластеров - ограничение поддержки ОС.
-
Распределение приложений между узлами одного и того же кластера.
-
Создание для каждого приложения отдельного кластера - высокая доступность и надёжность.
Распределённые кластеры: кластеры организованы на базе глобальной сети. Отличие в том, что они обеспечивают доступность к базе даже в том случае, если разрушено здание или города.