
- •1 Задачи анализа;
- •2 Задачи синтеза;
- •3 Задачи идентификации.
- •Основные задачи теории кс
- •1. Задачи анализа;
- •2. Задачи синтеза;
- •3. Задачи идентификации.
- •2. Высокой интенсивностью взаимодействия и вытекающим отсюда требованием уменьшения времени ответа.
- •Функционирование кс
- •Основные задачи теории вычислительных систем
- •Общая характеристика методов теории вычислительных систем
- •3. Классификация вычислительных систем
- •Характеристики производительности и надежности кс
- •Характеристики надежности кс
- •1 Холодное резервирование. Работает только основной канал.
- •2 Нагруженный резерв. Включены оба канала (резервный канал занимается посторонними задачами). Время перехода на основную задачу меньше чем в холодном резерве.
- •Общая характеристика методов теории вычислительных систем
- •Характеристики производительности кс
- •1. Номинальная производительность ;
- •2. Комплексная производительность ;
- •3. Пакеты тестовых программ spec XX
- •Характеристики надежности кс
- •1 Холодное резервирование. Работает только основной канал.
- •2 Нагруженный резерв. Включены оба канала (резервный канал занимается посторонними задачами). Время перехода на основную задачу меньше чем в холодном резерве.
- •4) Указывается начальное состояние системы;
- •8) Находятся показатели качества вс на основе найденных вероятностей состояния системы.
- •Анализ надежности кс со сложной структурой
- •2.Расчет надежности кс
- •2. Для каждой вершины можно вычислить среднее количество попаданий вычислительного процесса в эту вершину по формуле
- •1. Разбить множество операторов на классы:
- •Модели вычислительных систем как систем массового обслуживания
- •1 Общие понятия и определения
- •Например m/m/1
- •2 Параметры систем массового обслуживания
- •Модели массового обслуживания вычислительных систем|
- •1. Представление вычислительной системы в виде стохастической сети
- •2. Потоки заявок
- •3. Длительность обслуживания заявок
- •Характеристики одноканальных смо
- •Многопроцессорные системы
- •5. Характеристики бесприоритетных дисциплин обслуживания
- •1) В порядке поступления (первой обслуживается заявка, поступившая раньше других);
- •2) В порядке, обратном порядку поступления заявок (первой обслуживается заявка, поступившая позже других);
- •3) Наугад, т. Е. Путем случайного выбора из очереди.
- •6. Характеристики дисциплины обслуживания с относительными приоритетами заявок
- •3.8. Характеристики дисциплин обслуживания со смешанными приоритетами
- •§ 3.9. Обслуживание заявок в групповом режиме
- •§ 3.10. Смешанный режим обслуживания заявок
- •§ 3.11. Диспетчирование на основе динамических приоритетов
- •§ 3.12. Оценка затрат на диспетчирование
- •1.Определяется интенсивность потока заявок I в смо Si из системы алгебраических уравнений
- •2.Вычисляются коэффициенты передач для каждой смо
- •3.Определяется среднее время обслуживания Ui заявки в смо Si :
- •6.Для моделирующей сети в целом характеристики п.5 определяются как
- •2.Расчет характеристик мультипроцессорной системы
- •1) Имеет доступ к общей памяти;
- •1.Средняя длина очереди заявок, ожидающих обслуживания в системе:
- •3. Среднее время пребывания заявок в системе :
- •Основные задачи теории кс
- •1. Задачи анализа;
- •2. Задачи синтеза;
- •3. Задачи идентификации.
- •1) С неограниченным временем пребывания заявок;
- •2) С относительными ограничениями на время пребывания заявок;
- •3) С абсолютными ограничениями на время пребывания заявок;
- •2.4. Контроллеры и сетевые комплексы ge Fanuc
- •Модели 311,313/323, 331
- •Коммуникационные возможности серии 90-30
- •2.4.3. Контроллеры VersaMax
- •2.4.4. Программное обеспечение
- •Общая характеристика протоколов и интерфейсов асу тп
- •2. Протоколы и интерфейсы нижнего уровня.
- •2. Основные технические характеристики контроллеров и программно-технических комплексов
- •Требования к корпоративной сети
- •2) Одновременное решение различных задач или частей одной задачи;
- •3) Конвейерная обработка информации.
- •1. Суть проблемы и основные понятия
- •1.1 Главные этапы распараллеливания задач
- •1.2 Сведения о вычислительных процессах
- •1.3 Распределенная обработка данных
- •1. Классификации архитектур параллельных вычислительных систем
- •1.1 Классификация Флинна
- •1. Процессоры
- •Память компьютерных систем
- •Простые коммутаторы
- •Простые коммутаторы с пространственным разделением
- •Составные коммутаторы
- •Коммутатор Клоза
- •Баньян-сети
- •Распределенные составные коммутаторы
- •Коммутация
- •Алгоритмы выбора маршрута
- •Граф межмодульных связей Convex Exemplar spp1000
- •Граф межмодульных связей мвс-100
- •3. Граф межмодульных связей мвс-1000
- •1. Построения коммуникационных сред на основе масштабируемого когерентного интерфейса sci
- •2. Коммуникационная среда myrinet
- •3. Коммуникационная среда Raceway
- •4. Коммуникационные среды на базе транспьютероподобных процессоров
- •1. Структура узла
- •2. Пакеты и свободные символы
- •3. Прием пакетов
- •4. Передача пакетов
- •5. Управление потоком
- •1. Структура адресного пространства
- •2. Регистры управления и состояния
- •3. Форматы пакетов
- •Когерентность кэш-памятей
- •1. Организация распределенной директории
- •2. Протокол когерентности
- •3. Алгоритм кэширования.
- •1 . Основные характеристики
- •1.2. Происхождение
- •1.3. Механизм когерентности
- •1. 4. Предназначение
- •1. 5. Структура коммуникационных сред на базе sci
- •1. 6. Физическая реализация
- •1. 7. Обозначение каналов
- •2. Реализация коммуникационной среды
- •2.1. На структурном уровне коммуникационная среда состоит из трех компонентов, как показано на рис. 2.1:
- •Масштабируемый когерентный интерфейс sci
- •Сетевая технология Myrinet
- •Коммуникационная среда Raceway
- •Коммуникационные среды на базе транспьютероподобных процессоров
- •1.Информационные модели
- •1.2. Мультипроцессоры
- •1.3. Мультикомпьютеры
- •Сравнительный анализ архитектур кс параллельного действия.
- •Архитектура вычислительных систем
- •Smp архитектура
- •Симметричные мультипроцессорные системы (smp)
- •Mpp архитектура
- •Массивно-параллельные системы (mpp)
- •Гибридная архитектура (numa)
- •Системы с неоднородным доступом к памяти (numa)
- •Pvp архитектура
- •Параллельные векторные системы (pvp)
- •1. Системы с конвейерной обработкой информации
- •1.2 Мультипроцессоры uma с много- ступенчатыми сетями
- •Мультипроцессоры numa
- •Мультипроцессор Sequent numa-q
- •Мультикомпьютеры с передачей сообщений
- •1. Общая характеристика кластерных систем.
- •2.Особенности построения кластерных систем.
- •Планирование работ в cow.
- •Без блокировки начала очереди (б); заполнение прямоугольника «процессоры-время» (в). Серым цветом показаны свободные процессоры
- •Общие сведения
- •Общие сведения
- •Логическая структура кластера
- •Логические функции физического узла.
- •Устройства памяти
- •Программное обеспечение
- •Элементы кластерных систем
- •1.1. Характеристики процессоров
- •Рассмотрим в начале процессор amd Opteron/Athlon 64.
- •Примеры промышленых разработок
- •Кластерные решения компании ibm
- •Диаграмма большого Linux-кластера.
- •Аппаратное обеспечение
- •Вычислительные узлы, выполняющие основные вычислительные задачи, для которых спроектирована система.
- •Программное обеспечение
- •Кластерные решения компании hp
- •Кластерные решения компании sgi
- •Производительность операций с плавающей точкой
- •Производительность памяти
- •Производительность системы ввода/вывода Linux
- •Масштабируемость технических приложений
- •Системное программное обеспечение
- •Архитектура san
- •Компоненты san
- •Примеры решений на основе san
- •San начального уровня
- •San между основным и резервным центром
- •Практические рекомендации
- •Построение san
- •Заключение
- •Принципы построения кластерных архитектур.
- •Оценки производительности параллельных систем
- •1) Имеет доступ к общей памяти;
- •2) Имеет общий доступ к устройствам ввода-вывода;
- •3) Управляется общей операционной системой, которая обеспечивает требуемое взаимодействие между процессорами и выполняемыми им программами как на аппаратном, так и на программном уровне.
- •4 Вероятность того, что в момент поступления очередной заявки все n процессоров заняты обслуживанием
- •Выбор коммутационного компонента.
- •Проблема сетевой перегрузки.
- •1. Обзор современных сетевых решении для построения кластеров.
- •1000-Мега битный вариант Ethernet
- •Организация внешней памяти
- •Эффективные кластерные решения
- •Концепция кластерных систем
- •Разделение на High Avalibility и High Performance системы
- •3. Проблематика High Performance кластеров
- •Проблематика High Availability кластерных систем
- •Смешанные архитектуры
- •6.Средства реализации High Performance кластеров
- •7.Средства распараллеливания
- •8.Средства реализации High Availability кластеров
- •9.Примеры проверенных решений
- •Архитектура san
- •Компоненты san
- •Примеры решений на основе san
- •San начального уровня
- •San между основным и резервным центром
- •Практические рекомендации
- •Построение san
- •Заключение
- •Symmetrix десять лет спустя
- •Матричная архитектура
- •Средства защиты данных
- •Ревизионизм и фон-неймановская архитектура
- •Литература
- •Связное программное обеспечение для мультикомпьютеров
- •1. Синхронная передача сообщений.
- •2. Буферная передача сообщений.
- •Планирование работ в cow
- •Средства распараллеливания
- •7.Средства распараллеливания
- •2. Кластерн ый вычислительн ый комплекс на основе интерфейса передачи сообщений
- •2.2 Программная реализация интерфейса передачи сообщений
- •2.3 Структура каталога mpich
- •2.4 «Устройства» mpich
- •2.5 Выполнение параллельной программы
- •2.6 Особенности выполнения программ на кластерах рабочих станций
- •2.7 Тестирование кластерного комплекса
- •Параллельная виртуальная машина
- •3 Кластерн ый вычислительн ый комплекс на основе пАраллельной виртуальной машины
- •3.1 Параллельная виртуальная машина
- •3.1.1 Общая характеристика
- •3.1.2 Гетерогенные вычислительные системы
- •3.1.3 Архитектура параллельной виртуальной машины
- •3.2 Настройка и запуск параллельной виртуальной машины
- •3.3 Структура каталога pvm
- •3.4 Тестирование параллельной виртуальной машины
- •На рисунке 3.2 представлена диаграмма, отображающая сравнение производительности коммуникационных библиотек mpi и pvm.
- •3.5 Сходства и различия pvm и mpi
- •4 . Кластерн ый вычислительн ый комплекса на основе программного пакета openMosix
- •4.1 Роль openMosix
- •4.2 Компоненты openMosix
- •4.2.1 Миграция процессов
- •4.2.2 Файловая система openMosix (oMfs)
- •4.3 Планирование кластера
- •4.4 Простая конфигурация
- •4.4.1 Синтаксис файла /etc/openmosix.Map
- •4.4.2 Автообнаружение
- •4. 5. Пользовательские утилиты администрирования openMosix
- •4. 6. Графические средства администрирования openMosix
- •4. 6.1 Использование openMosixView
- •4. 6.1.2 Окно конфигурации. Это окно появится после нажатия кнопки “cluster-node”.
- •4. 6.1.3 Окно advanced-execution. Если нужно запустить задания в кластере, то диалог "advanced execution" может сильно упростить эту задачу.
- •4.6.1.4 Командная строка. Можно указать дополнительные аргументы командной строки в поле ввода вверху окна. Аргументы приведены в таблице 9.2.
- •4. 6.2.2 Окно migrator. Этот диалог появляется, если кликнуть на каком-либо процессе из окна списка процессов.
- •4. 6.2.3 Управление удалёнными процессами. Этот диалог появляется при нажатии кнопки “manage procs from remote”
- •4.5.3 Использование openMosixcollector
- •4. 6.4 Использование openMosixanalyzer
- •4. 6.4. 1 Окно load-overview. Здесь отображается хронология нагрузки openMosix.
- •4. 6.4. 2 Статистическая информация об узле
- •4.5.4.3 Окно memory-overview. Здесь представляется обзор использования памяти (Memory-overview) в openMosixanalyzer.
- •4. 6.4.4 Окно openMosixhistory
- •4. 6.5 Использование openMosixmigmon
- •4.6 Список условных сокращений
- •Перечень ссылок
- •Общие сведения
- •2. Создание Windows-кластера
- •Суперкомпьютерная Программа "скиф"
- •Описание технических решений
- •Направления работ
- •Основные результаты
- •Кластер мгиу
- •Содержание
- •Понятие о кластере
- •Аппаратное обеспечение
- •Пропускная способность и латентность
- •1. Определение распределенной системы
- •2.1. Соединение пользователей с ресурсами
- •2.2. Прозрачность
- •Прозрачность в распределенных системах
- •2.3. Открытость
- •2.4. Масштабируемость
- •3.1. Мультипроцессоры
- •3.2. Гомогенные мультикомпьютерные системы
- •3.3. Гетерогенные мультикомпьютерные системы
- •4. Концепции программных решений рс
- •4.1. Распределенные операционные системы
- •4.2. Сетевые операционные системы
- •4.3. Программное обеспечение промежуточного уровня
- •5. Модель клиент-сервер рс
- •5.1. Клиенты и серверы
- •5.2. Разделение приложений по уровням
- •5.3. Варианты архитектуры клиент-сервер
- •Формы метакомпьютера
- •Настольный суперкомпьютер.
- •2. Интеллектуальный инструментальный комплекс.
- •Сетевой суперкомпьютер.
- •Проблемы создания метакомпьютера
- •Сегодняшняя архитектура метакомпьютерной среды
- •Взаимосвязь метакомпьютинга с общими проблемами развития системного по
- •5. Модель клиент-сервер рс
- •5.1. Клиенты и серверы
- •5.2. Разделение приложений по уровням
- •5.3. Варианты архитектуры клиент-сервер
- •Symmetrix десять лет спустя
- •Матричная архитектура
- •Средства защиты данных
- •Ревизионизм и фон-неймановская архитектура
- •Однородные вычислительные среды
- •Однокристальный ассоциативный процессор сам2000
- •Модели нейронных сетей
- •Модели инс
- •Оптимизационные системы.
- •Неуправляемые системы распознавания образов.
- •Системы feed forward.
- •Элементы нейрологики с позиции аппаратной реализации
- •Реализация нейронных сетей
- •Программные нейрокомпьютеры
- •Программно-аппаратные нейрокомпьютеры
- •Практическое использование инс
Сегодняшняя архитектура метакомпьютерной среды
Подводя итог рассмотрению проблем создания метакомпьютерного ПО, можно сделать вывод о реальной на сегодняшний день архитектуре (рис.8). Это два уровня, первый, локальный, включает:
— систему управления пакетной обработкой (LSF, LoadLeveler, Condor, DQS, PBS)[6,7]; — распределенную файловую систему (NFS, DFS, AFS) — систему эмуляции распределенной общей памяти.
На роль второго, глобального уровня претендует Globus, интегрирующий функции управления ресурсами, запуска заданий, глобальной файловой системы и безопасности. Однако, эта далеко не завершенная среда, практически все из перечисленных подсистем нуждаются в существенной доработке и, возможно, в новых подходах
Взаимосвязь метакомпьютинга с общими проблемами развития системного по
Общее соображение, обосновывающее общезначимость технологий, развиваемых в рамках метакомпьютерного направления, состоит в том, что современные ОС во все большей степени становятся завязаны на Сеть, ориентирусь на коллективные и мобильные формы работы пользователей с прямым доступом к общей информации и ПО. Это определяет общую направленность движения.
Во-вторых, на массовом рынке наметилась тенденция в сторону параллелизации и серийно выпускаемых архитектур (рядовыми стали многопроцессорные RISC-серверы и ПК с 4 — 8 процессорами Intel), и ОС, и работающих в них приложений. Все ведущие производители, выпуская свои ОС, делают одну версию для всего ряда машин — от рабочих станций до суперкомпьютеров, так что фактически даже на простейших однопроцессорных компьютерах есть как базовая, так и инструментальная поддержка параллельных вычислений.
Сетевые технологии коммерческих ОС — JAVA, удаленный вызов процедур RPC, объектные методы доступа CORBA, DCOM, система X Window, прикладные протоколы HTTP и FTP, модель клиент—сервер — сыграли колоссальную роль, показав возможности сетей и введя их в повседневную практику. Становится, однако, понятно, что они решают далеко не все проблемы, а часть средств оказалась чрезмерно ориентированной на конкретные приложения (к примеру протокол HTTP).
Метакомпьютерный подход, ставя проблему создания полной среды и инфраструктуры для сетевых вычислений, определяет один из возможных контекстов, в которым перечисленные методы могут занять свое место. Конкретно, интерес представляют работы по: глобальным файловым системам, системам сертификации и авторизации пользователей, оптимизации сетевой передачи данных, управлению ресурсами, планированию и диспетчеризации процессов.
Проекты метакомпьютинга
Распределенные вычисления в Интернет
Это подтверждается и тем, что хотя в проекте PACI в основном участвуют исследователи из академических учреждений, они работают в тесном сотрудничестве с промышленными разработчиками новой техники и ПО. Кроме того, ряд самых известных компаний (Sun, IBM и даже Microsoft) инвестируют в собственные проекты по очень похожим темам.
Операционные системы для распределенных вычислений
Исследователи изучают мир распределенных вычислений, в котором пользователи, находящиеся в различных офисах, могут работать с одним и тем же набором географически распределенных ресурсов. Такие исследования привели к появлению известных технологий: одноранговые (peer-to-peer, P2P), повсеместные (pervasive) и «кочующие» (nomadic) вычисления.
Проект Globe (Global Object Based Environment), выполняемый в университете Вридже (Голландия), посвящен разработке сети, использующей распределенные объекты. Основное значение таких проектов, как Globe, заключается в том, что они открывают путь к разработке действительно распределенных Internet-приложений.
Проект Opus американского университета Дюка стал продолжением проекта WebOS, выполнявшегося в Калифорнийском университете в Беркли. Opus призван предоставить основанный на идее перекрытия (overlay) набор утилит для управления наборами узлов в сетевой инфраструктуре, которая динамически резервирует ресурсы — вычислительные мощности, полосу пропускания, пространство жесткого диска — для узлов, пославших запросы в соответствии с разнообразными сетевыми характеристиками и требованиями приложений.
Массачусетский технологический институт выступает координатором проекта Project Oxygen, который был инициирован агентством DARPA, компаниями Delta Electronics, Hewlett-Packard, Nokia, NTT и Philips Electronics. Данный проект представляет собой попытку объединить беспроводные и иные технологии для создания распределенной сети, которая будет способна предоставить пользователям персональные вычислительные ресурсы, вне зависимости от того, где они находятся в настоящий момент.
Хотя все эти три проекта сами по себе не являются операционными системами, в них предпринята попытка построить единую прозрачную распределенную операционную среду, в которой все ресурсы могли бы функционировать как локальные.
GLOBE
Проект Globe (http://www.cs.vu.nl/~steen/globe) посвящен созданию крупных распределенных систем с помощью разделяемых объектов и связанных с ними методов. Разработчики могут генерировать приложения с использованием программного обеспечения промежуточного слоя, а не создавать сетевые программы непосредственно на базе транспортного уровня, как это происходит сейчас.
Активные копии объектов, которые взаимодействуют на одноранговой основе, будут доступны одновременно на всех машинах в распределенной системе, и все пользователи смогут вызывать методы объектов. Подход, основанный на концепции P2P, позволит системам работать без централизованного хранилища объектов, что дает возможность сократить сетевой трафик и избежать ошибок, связанных с недоступностью хранилища.
Globe расширяет функциональность распределенных систем и увеличивает скорость за счет выполнения таких операций, как возвращение информационного наполнения Web-страницы, получение сообщения электронной почты, предоставление доступа к файлу или поиск имени ресурсов в каталоге.
Объекты Globe состоят из пяти компонентов: подобъект управления, контролирующий клиентские запросы; подобъект связи, который поддерживает взаимодействие между объектами; подобъект тиражирования, управляющий связью тиражированных объектов; подобъект защиты, который контролирует права доступа и наличие объектов; подобъект семантики, реализующий действия объектов.
Разработчик будет создавать подобъект семантики. Другие подобъекты будут либо браться из библиотеки, либо генерироваться во время компиляции в соответствии с требованиями объекта.
«Самое главное отличие между объектами Globe и другими объектами состоит в том, что Globe предлагает поддержку объектов, которые физически распределены по разным машинам, — объяснил ван Стин. — Таким образом, состояние объекта может тиражироваться и распределяться между множеством серверов объектов».
В отличие от других типов распределенных объектов, каждый объект Globe управляет тем, как его состояние тиражируется, переносится и иным образом распространяется между машинами. Другими словами, объектам Globe не придется использовать для выполнения этих функций другое приложение или брокер объектных запросов. Таким образом, единая модель объектов Globe может предоставить универсальный метод для тиражирования, доставки информации и предоставления услуг, вне зависимости от базовой платформы.
Ван Стин считает, что поскольку, объекты Globe предоставляют распределенные службы, они могут заменить многочисленные современные подходы и стандарты для Web-служб на базе XML для предоставления служб по Internet.
OPUS
Opus (http://www.cs.duke.edu/~dkostic/publications/opus-poster-sosp.pdf) базируется на проекте WebOS, который был реализован в университете Беркли с целью предоставления распределенным приложениям служб операционной системы, в том числе механизмов обнаружения ресурсов и управления ими, удаленного выполнения процессов, аутентификации и защиты.
После завершения проекта в Беркли в 1998 году Ребекка Брейнард, Джефф Часе, Дежьян Костик, Адольфо Родригес и Амин Вахдат из университета Дюка использовали концепции WebOS для разработки Opus. В этом проекте также принимают участие Техасский университет в Остине и Вашингтонский университет.
Opus добавляет к оболочке WebOS механизм перекрытия (overlay), который позволяет приложениям прозрачным образом передавать базовой сети свои требования на ресурсы, а затем использовать предоставленные ресурсы.
Это крайне важно, поскольку на одной машине разработчики приложений могут для предоставления служб использовать возможности локальной операционной системы. Однако в распределенной системе, разработчики приложений должны сами создавать службы в соответствии с множеством стандартов и множеством серверов приложений, что требует больших усилий со стороны программиста и немалых системных ресурсов.
Opus решает эту проблему, предоставляя по Internet базовые службы операционных систем, необходимые для создания приложений, которые являются распределенными, доступными, масштабируемыми и динамически реконфигурируемыми.
Данная технология, таким образом, предлагает оболочку для предоставления одноранговых служб, при этом давая одноранговым приложениям на базе Internet большую часть функциональности, которую, как правило, можно обнаружить только в традиционных клиент-серверных приложениях.
Авторы Opus разрабатывают для этого универсальный подход, а не настраиваемое решение для реализации оверлея для конкретного приложения или сетевого ресурса. Подход проекта, основанный на идее перекрытия, предоставляет разработчикам общий интерфейс промежуточного программного обеспечения.
В Opus перекрытия служат в качестве абстракции API для доступа к сетевым ресурсам и их использования в соответствии с различными требованиями приложений и сетевыми характеристиками, такими как имеющаяся полоса пропускания. Opus предоставляет приложению доступ к сетевым ресурсам даже при изменении требований программы и сетевых условий, чего, как правило, не в состоянии предложить современные распределенные системы.
Opus позволит получить широкий доступ к системным ресурсам Internet. Как подчеркнул Амин Вахдат, производители могли бы использовать коммерческие варианты реализации этой технологии для предоставления пользователям вычислительных ресурсов как коммунальной услуги через Сеть.
|
Рис. 1. Архитектура Opus. Проект Opus, реализуемый в университете Дюка, добавляет к распределенным системам механизм оверлея, который позволяет приложениям прозрачным образом передавать базовой сети требования на ресурсы. Нижний уровень описывает базовые уровни ресурсов, имеющиеся в системе. Средний уровень определяет необходимые ресурсы и обеспечивает их предоставление. Уровень самоконтроля определяет, какие узлы должны быть зарезервированы приложению и поддерживает уровни производительности |
В архитектуре Opus (рис. 1) механизм overlay работает с имеющимися сетевыми ресурсами. Администратор сети определяет базовое резервирование ресурсов, которые система может использовать, при этом провайдер сетевых услуг обязуется обеспечить минимально доступные уровни обслуживания.
На уровне поддержки топологии перекрытия для каждого приложения указываются ресурсы, которые необходимы определенному типу приложений, в то же время управляющий механизм проверяет перекрывающие узлы и поддерживает параметры связи и производительности.
Наконец, уровень самоконтроля проверяет сетевые характеристики, оценивает пути доступа к ресурсам в поисках наиболее эффективного пути и определяет, какие перекрывающиеся узлы Opus (и соответствующая функциональность) должны быть зарезервированы для конкретного приложения.
PROJECT OXYGEN
Авторы Project Oxygen (http://oxygen.lcs.mit.edu/) разработали план создания подхода для реализации повсеместных распределенных вычислений, который позволяет предоставлять ресурсы пользователям там и тогда, когда те в них нуждаются, а не только, когда пользователи находятся возле своих компьютеров. Цель состоит в том, чтобы сделать вычисления функцией инфраструктуры, а не просто набора отдельных устройств.
Oxygen сейчас работает с инфраструктурой карманных устройств и рабочих станций, связанных с помощью локальных сетей в стандарте IEEE 802.11b и сетей Fast Ethernet.
Эта система использует Migrate, разработанную в Массачусетском технологическом институте архитектуру поддержки мобильных и использующих временные соединения сетевых приложений и позволяет унаследованным приложениям адаптироваться к мобильным средам. Пользователи могут переносить активное TCP-соединение между различными IP-адресами, посылая новые SYN-пакеты (которые устанавливают виртуальные соединения и синхронизируют номера последовательностей пакетов в начале TCP-соединения), если доступны возможности Migrate.
Программное обеспечение Oxygen — это, главным образом, результат академических проектов MIT. К примеру, разработчики используют IOA (input/output automation — «автоматизация ввода/вывода»), язык программирования и набор инструментальных средств, предназначенный для описания и создания надежных распределенных систем. IOA позволяет системным разработчикам описывать архитектуры на различных уровнях абстракции, от высокоуровневой спецификации общего поведения до низкоуровневых версий, которые легко преобразуются в программный код.
Разработчики проекта реализуют некоторый вариант технологии Oxygen в Intelligent Room, интерактивной среде со встроенными вычислениями, которая участвует в деятельности пользователей. Например, наборы микрофонов и камер позволяют Intelligent Room «прислушиваться» к пользователям, «наблюдать», что они делают, и прозрачным образом предоставлять информационные и коммуникационные ресурсы, которые им необходимы.
Интеллектуальные инструментальные средства эскизирования и проектирования дают пользователям возможность выражать свои идеи, а Intelligent Room их записывает. Другой инструментарий позволяет выполнять совместную работу. Программная инфраструктура на базе агентов автоматически выполняет множество задач, которые поддерживают работу инструментария.
В конечном итоге, ученые планируют создать множество использующих естественные языки визуальных интерфейсов для доступа к вычислительным и коммуникационным ресурсам.
Возможно, самым важным новым фактором при разработке операционной системы для распределенных вычислений является возникновение Web-служб, представленных платформой Microsoft .NET и рядом подходов на базе Java, таких как Open Net Environment (ONE) компании Sun Microsystems. Пока не существует единой инфраструктуры для Web-служб, эта технология уже пользуется большой популярностью на предприятии.
Web-службы предлагают набор нейтральных к платформе технологий, предназначенных для упрощения предоставления сетевых служб по intranet и Internet. По существу, Web-службы объединяют ПК, другие устройства, базы данных и сети в виртуальные вычислительные структуры, с которыми пользователи могут работать через браузеры. Очевидно, что эта концепция во многом затрагивает те же аспекты, что и, как предполагается, должны охватывать операционные системы для распределенных вычислений.
Ден Кузнецки, вице-президент компании IDC, отметил, что хотя проекты Globe, Opus и Project Oxygen весьма интересны, не стоит рассчитывать, что в ближайшем будущем они приведут к созданию коммерческих продуктов.
Стивен Воган-Николс (sjvn@vna1.com) — независимый журналист, специализирующийся на вопросах технологий.
Stiven J. Vaughan-Nichols. Developing the Distributed-Computing OS. IEEE Computer, September 2002. IEEE Computer Society, 2002, All rights reserved. Reprinted with permission.
Причины реализации проектов, посвященных распределенным ОС
Хотя все три основных проекта, посвященные созданию распределенных операционных систем (Globe университета Вридже, Opus университета Дюка и Project Oxygen Массачусетского технологического института), разрабатываются научными учреждениями, они решают задачи, определяемые требованиями коммерческого рынка. Эти требования могут становиться все более настойчивыми по мере роста популярности распределенных систем и по мере того, как компании будут все чаще использовать их для решения критически важных задач.
Все три проекта также ориентированы на унифицированный, универсальный, а не на внутренний подход к созданию операционных сред для распределенных вычислений. До недавнего времени многие организации разрабатывали свои собственные Web-технологии, касающиеся различных аспектов таких сред, к которым, в частности, относятся DCOM (модель распределенных объектных компонентов) корпорации Microsoft и протокол Internet inter-ORB, предложенный CORBA. Попытки стандартизовать этот процесс оборачивались политической борьбой.
Поход промежуточного программного обеспечения, реализуемый в Globe, позволяет создавать распределенную вычислительную инфраструктуру на базе Internet, которая опирается на универсальный формат объектов. Точно также проект Project Oxygen призван предоставить универсальную оболочку. Еще одна причина реализации этих трех проектов заключается в том, что необходимо создавать систему, в которой вычислительные ресурсы по всей сети предоставляются пользователям по требованию, в чем и состоит цель проекта Opus. Отрасль стремится к той же цели, но за счет внутренних решений.