Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции1_4.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
815.62 Кб
Скачать

Системы распределенного искусственного интеллекта

Лекция 1

Распределенные системы

Распределенная система – набор независимых компьютеров, представляющихся пользователю единой системой (по Таненбауму).

Распределенная система – децентрализованная сеть, состоящая из множества объединенных компьютеров, представляющихся пользователю единым, большим, доступным множеством распределенных аппаратных ресурсов, программного обеспечения и данных. (Microsoft)

Используемое сокращение DS – Distributed System

Ресурсов одного компьютера не всегда достаточно

  • Сложные вычислительные задачи

    • Химические расчеты (Наиболее используемый ресурс - CPU)

    • Физические расчеты (Наиболее используемый ресурс - CPU)

  • Большие базы данных (Наиболее используемый ресурс - CPU, Memory)

  • Кеширование больших объемов данных (Наиболее используемый ресурс - Memory)

  • Файловый хостинг (Наиболее используемый ресурс - HDD, Network)\

«Мы делили апельсин, много нас, а он один» © Русское народное. Т.е. имеется ввиду, что одной машины недостаточно (Гы мой любимый стишок)

Повышение:

  • Скорости обслуживания

  • Скорости доступа

  • Безопасности

Характеристики DS (распределенных систем, если еще не запомнил)

  • Прозрачность, подразумевает, что пользователь не должен заморачиваться архитектурой этой системы (он не должен задавать себе вопрос о том, сколько компьютеров на него работает, как они работают, как они организованны, сколько из них живых, а сколько сломалось). Определение: Свойство распределенной системы, обеспечивающее скрытие факта распределения ресурсов и процессов по множеству компьютеров.

    • Виды прозрачности:

      • Доступа

        • Access transparency - Скрывается разница в представлении данных и доступе к ресурсам. Пользователю не важно, какая ФС используется для хранения прайса, какой порядок байт используется.

      • Местоположения

        • Location transparency – скрывается местоположение ресурса (где именно в системе расположен требуемый ресурс). Пользователь не знает, где физически расположен ресурс

      • Переноса

        • Migration transparency – смена местоположения ресурса не влияет на доступ к нему.

      • Смены местоположения

        • Relocation transparency – смена местоположения ресурсов в процессе их использования не влияет на доступ к ним. Пользователь не знает, был ли ресурс перемещен в процессе работы (например мобильная связь, которой мы ежедневно пользуемся)

      • Репликации

        • Replication transparency – скрывается факт наличия нескольких копий ресурса. Если не глазеть по сторонам, вы не знаете что у вас только копия меню. Master-master DB replication.

      • Параллельного доступа

        • Concurrency transparency – скрывается факт возможного совместного использования ресурса несколькими конкурирующими пользователями. Пользователи не знают, что одновременно работают с одной базой данных (каждый думает, что он один ею пользуется)

      • Отказов

        • Failure transparency – Скрывается факт отказа и восстановления ресурса.

    • Степень прозрачности

      • Не всегда желательно полностью скрывать распределенность системы

      • Необходимо учитывать фактор быстродействия

      • Пример:

        • Пользователь может выбрать другое зеркало, если одно из зеркал работает медленно (не нужна прозрачность репликации)

        • Пользователь может учесть особенности построения своей сети и географическое положение (не нужна прозрачность местоположения).

  • Открытость, подразумевает, что она должна взаимодействовать с другими машинами без всяких там проблем. Если система будет открытой то ей будет легче взаимодействовать с другими системами и сервисами.

    • Система предполагает службы соответствующие определенным правилам

      • Правила задают синтаксис и семантику служб

      • Службы определяются через интерфейсы, например используя Interface Definition Language (IDL)

      • Семантика интерфейса определяет, что делает служба.

    • Способность к взаимодействию (interoperability) компонентов различных производителей.

    • Переносимость (Portability)

    • Определение правил и механизмов.

  • Масштабируемость, бывает по размеру, и еще есть географическое масштабирование (т.е. взаимодействие машин на разных континентах), административное масштабирование (необходимо распределять права доступа, все дела).

    • Типы масштабируемости:

      • По размеру (легкость добавления новых ресурсов и пользователей)

        • Проблемы:

          Проблема

          Пример

          Централизованные службы

          Одни сервер для всех пользователей

          Централизованные данные

          Единый телефонный справочник

          Централизованные алгоритмы

          Маршрутизация на основе полной информации

      • Географическое масштабирование

        • Проблемы:

          • При использовании синхронизации связи – длительное время ожидания пользователя

          • Ненадежность связи в глобальных сетях

          • Проблема определения местонахождения служб

      • Административное масштабирование

  • Устойчивость к сбоям

  • Легкость доступа к ресурсам

Лекция 2

Технологии Масштабирования

  • Решение

    • Сокрытие времени ожидания ответа

      • Использование асинхронных запросов

        • Пользовательский интерфейс не блокируется во время ожидания данных

        • Пользователь не теряет возможности работы с имеющимися данными до загрузки новых

        • Результат: пользователя не беспокоит задержка при загрузке данных

      • Упреждающая выборка

        • Data Prefetch. Если пользователь, запросивший данные А с высокой вероятностью запросит данные В, то загрузку данных В можно производить до реального запроса пользователем этих данных.

        • Пример: Mozzila Firefox – после загрузки страницы может осуществлсять упреждающюю загрузку последующих страниц.

        • What Link Perfecting? Link prefetching is a browser mechanism, which utilizes browser idle time to download or prefetch documents that the user might visit in the near time.

      • Разделение логики

        • Пример: система залогинивания.

    • Распределение

      • Разбиение данных на отдельные фрагменты с последующим размещением отельных фрагментов на разных серверах.

    • Репликация

      • Replication. Дублирование данных на несколько серверов с целью повышения доступности и производительности.

      • Преимуцества:

        • Повышение доступности данных

        • Повышение быстродействия системы

        • Снижение задержек (использование географически близкой копи)

      • Недостатки

        • Сложность обеспечения непротиворечивости даннхы

Построение распределенных систем.

Аппаратные концепции

Различные базовые организации процессоров и памяти распределенных компьютерных систем

Мультипроцессоры (1)

Мультипроцессорная система с шинной архитектурой

Мультипроцессоры (2)

а) коммутирующая решетка

б) коммутирующая омега-сеть

Гомогенные мультикомпьютерные системы

а) решетка

б) гиперкуб

Описание распр. и сетевых ОС и средств промежуточного уровня

Система

Описание

Основное назначение

DOS

Сильно связанные ОС для мультипроцессоров и гомогенных мультикомпьютерных систем

Сокрытие и управление аппаратным обеспечением

NOS

Слабо связанная ОС для гетерогенных мультикомпьютерных систем

Предоставление локальных служб удаленным клиентам

Middleware

Дополнительный слой поверх NOS реализующий службы общего назначения

Обеспечение прозрачности распределения

Однопроцессорная ОС

Мультикомпьютерная ОС (1)

Мультикомпьютерная ОС (2)

Блокировка и буферизация сообщений

Мультикомпьютерная ОС (3)

Точка синхронизации

Буфер отправителя

Гарантия надежной связи

Блокировка отправителя до опустошения буфера

Да

Нет необходимости

Блокировка отправителя до отправки сообщения

Нет

Нет необходимости

Блокировка отправителя до приема сообщения

Нет

Необходима

Блокировка отправителя до обработки сообщения

Нет

Необходима

Лекция 3

Системы с распределенной памятью

а) Распределение страниц адресного пространства

b) обращение CPU1 к странице 10

с) использование репликации если страница 10 только для чтения.

Системы с разделяемой распределенной памятью (2)

Ошибочное разделение

Сетевые ОС

Общая структура сетевой ОС

Позиционирование ПО промежуточного уровня

Общая структура распределенной системы с программным обеспечением промежуточного уровня.

Это все как-то упаковывается, передается, распаковывается

Промежуточный уровень и открытость

В открытых DS одинаковыми должны быть как протоколы используемые ПО ПУ так и интерфейсы предоставляемые приложениям

Сравнение систем

характеристика

Распределенные ОС

Сетевые ОС

DS пром. Ур-ня

Мультипр.

Мультикомп.

Степень прозрачности

Оч.Высокая

Высокая

Низкая

Высокая

Идентичность ОС на всех узлах

+

+

-

-

Число копий ОС

1

N

N

N

Коммуникации на основе

Разделяемая память

сообщения

Файлы

В завис. От модели

Управление ресурсами

Глобальное централ-е

Глобальное, распред-ное

На каждом узле

На каждом узле

Масштабируемость

Отсутствует

Умеренная

Да

Различная

Открытость

Закрытая

Закрытая

Открытая

Открытая

Взаимодействие клиент-сервер

Уровни обработки

Варианты архитектуры клиент-сервер

Многозвенная архитектура

Горизонтальное распределение

Возможные причины неработоспособности примера

Строка запуска клиента

java -Djava.rmi.server.codebase="file:///d:/lab2_client.jar" -cp " compute.jar;client.jar" client.ComputePi 20

Файл rmi.policy

grant {

permission java.net.SocketPermission "*:1024-65535", "connect, accept";

permission java.io.FilePermission "-", "read";

permission java.net.SocketPermission "*:80", "connect";

};

Выделенную черточку заменить на следующее grant {permission java.securuti.AllPermisson;)

Что такое MD5

MD5 (Message Digest 5) – алгоритм хеширования разработанный проффесором Рональдом Л. Риверстом в 1991 году. Предназначен для создания «Отпечатков» или «дайджестов» сообщения произвольной длинный.

Хеширование – преобразование входного массива данных в короткое число фиксированной длинны (которое называется хешем, или хеш-кодом) таким образом, чтобы это число было значительно короче исходных данных.