Содержание к диссертации
Введение
1. Проблема повышения надежности программно-информационных технологий для корпоративных структур 10
1.1. Обеспечение отказоустойчивости и доступности ресурсов программно-информационных технологий 11
l.1.1. Адекватность программно-информационных технологий условиям и требованиям работоспособности 11
1.1.2. Обеспечение доступности ресурсов программнно-информационных технологий 15
1.1.3. Анализ реализации корпоративного портала 20
1.2. Обеспечение гарантированной готовности программно- информационных технологий 25
1.2.1. Аппаратно-программная избыточность серверов 25
1.2.2. Платформа сервера гарантированной готовности 27
1.2.3. Программно-информационная технология ATM обеспечения гарантированной готовности 33
1.3. Анализ задач управления корпоративными программно-информационными технологиями 37
1.3.1. Модель централизованного управления 37
1.3.2. Интеграция сетевого и системного администрирования в корпоративных структурах 39
1.3.3. Программно-информационные технологии сетевого администрирования 42
1.3.4. Программно-информационные технологии системного администрирования . 46
1.3.5. Возможности современных ПИТ для управления ИТ-услугами в корпорации 52
выводы по разделу 1 57
2. Мультиверсионное формирование программно-информационных технологий с гарантированной доступностью ресурсов 59
2.1. Особенности проектной парадигмы мультиверсионного программирования 59
2.2. Формализация задачи мультиверсионного формирования ПИТ с гарантированной доступностью ресурсов 75
2.3. Оптимизация использования ресурсов при формировании ПИТ 80
2.3.1. Формирование вектора временной развертки 85
2.3.2. Формирование оптимального вектора конфигурации при стоимостных ограничениях 90
2.4. Алгоритмические процедуры мультиверсионного формирования программно-информационных технологий 92
2.4.1. Общий алгоритм решения задачи и его параметры 93
2.4.2. Алгоритм проверки вектора конфигурации на ресурсные и временные ограничения 94
2.4.2.1. Матрица связности одноуровневой структуры мультиверсионных компонент 95
2.4.2.2. Формирование вектора следования и вектора путей 97
2.4.2.3. Формирование ресурсного вектора временной развертки 99
Выводы по разделу 2 юі
3. Формирование программно-информационных технологий для корпоративных структур «ФОСАГРО» 103
3.1. Процедуры формирование ПИТ «ФОСАГРО» 104
3.1.1. Обеспечение функциональности 104
3.1.2. Обеспечение надежности и масштабируемости 105
3.1.3. Формирование ресурсных требований 106
3.1.4. Формирование топологии корпоративного кластера 109
3.1.5. Выбор серверов дисковых подсистем и соединений 110
3.1.6. Корпоративная операционная система 112
3.1.7. RMS-программное обеспечение кластера 115
3.1.8. Средства централизованного архивирования и резервирования 119
3.1.9. Принципы корпоративной систем 120
3.2. Программная система поддержки мультиверсионного формирования программно-информационных технологий 125
3.2.1. Конструктор структуры мультиверсионных компонент 126
3.2.2. Объектная модель 126
3.2.3. Функциональные возможности системы 129
3.2.3.1. Создание и редактирование базы ресурсов 130
3.2.3.2. Создание и редактирование структурной модели компонент 130
3.2.2.1. Модуль оптимизации версионного состава 134
3.2.2.2. Описание оконного интерфейса программной системы 135
3.3. Использование программной системы поддержки для повышения доступности ресурсов корпоративной СУБД 139
3.3.1. Процедуры настройки и оптимизации СУБД ORACLE 139
3.3.2. Оптимизация быстродействия СУБД ORACLE, обеспечивающего гарантированную доступность ресурсов 142
3.3.3. Программная подсистема оптимизации быстродействия СУБД 144
Выводы по разделу 3 145
Заключение 146
Литература 147
- Обеспечение доступности ресурсов программнно-информационных технологий
- Программно-информационные технологии системного администрирования
- Формализация задачи мультиверсионного формирования ПИТ с гарантированной доступностью ресурсов
- Корпоративная операционная система
Введение к работе
В различных областях применения вычислительной техники все чаще большое значение придают надежности программного обеспечения (ПО). Одним из самых распространенных подходов к реализации программной отказоустойчивости является методология избыточности. Методология мультиверсионного программирования, как один из подходов к реализации идеи введения избыточности в структуру системы программного обеспечения, на практике доказала свою эффективность. С использованием данной методологии были реализованы программные комплексы систем управления летательными аппаратами, атомными электростанциями и т.п. Однако такой метод ведет к увеличению стоимости системы, в которой он применяется.
Рациональное структурное построение программных комплексов гарантирует достаточно полное использование ресурсов ЭВМ. А технологические особенности проектирования программно-информационных технологий для корпоративных структур, дополняя проблему структурного программного и информационного проектирования, выводят ее в разряд общих проблем разработки методов и автоматизированных систем проектирования сложных программно-информационных комплексов.
Проблеме формирования программных комплексов, проектируемых
на основе принципов программной избыточности, в настоящее время
уделяется значительное внимание. Проблематика проектирования
программных комплексов с использованием методологии
мультиверсионного программирования рассматривалась в работах А.Авижиениса, Н.Ашрафи, О.Бермана, М.Катлер, Дж.Ву, К.Яо, Р.К.Скотта, Д.МакАллистера, К.Е.Гросспитча и многих других. Разрабатываются новые методы оптимизации версионного состава программного комплекса, новые системы формирования структуры программного комплекса, но до сих пор не достаточное внимание уделяется созданию методов и систем
формирования структуры мультиверсионного программного комплекса с учетом временных и ресурсных ограничений.
Таким образом, высокая сложность и практическая значимость задачи проектирования высоконадежных программно-информационных комплексов с гарантированной доступностью ресурсов и отсутствие полного методического материала по данной задаче обусловили выбор темы диссертационного исследования и определили ее актуальность.
Целью настоящей работы является разработка модельного и алгоритмического обеспечения мультиверсионного формирования программно-информационных технологий с гарантированной доступностью ресурсов для корпоративных структур, реализуемого в виде системы компьютерной поддержки.
Поставленная цель достигается путем решения следующих задач:
анализ современных методов обеспечения отказоустойчивости и доступности ресурсов программно-информационных технологий для корпоративных структур; исследование адекватности программно-информационных технологий условиям и требованиям работоспособности и анализ реальных возможностей современных программно-информационных технологий для управления ИТ-услугами в корпорации;
формальное описание постановок оптимизационных задач
мультиверсионного формирования программно-
информационных технологий с гарантированной
доступностью ресурсов;
алгоритмизация процедур решения мультиверсионных моделей формирования программно-информационных технологий в интерактивном режиме;
программная реализация и внедрение разработанной системы компьютерной поддержки в практику инженерного
проектирования программно-информационных технологий для корпоративных структур «ФОСАГРО». Методы исследования. Системный анализ и методы математической оптимизации. Методы анализа сетей.. Методы исследования параллельных процессов в информационно-управляющих системах. Научная новизна работы.
1. Впервые показано, что использование мультиверсионного метода
формирования программно-информационных технологий серверов
приложений для корпоративных структур обеспечивает достижение как
адекватного уровня отказоустойчивости для критичных приложений, так и
повышения надежности функционирования всей распределенной
программно-информационной среды корпорации:
2. На основе введенной автором классификации программно-
информационных ресурсов разработана новая модель использования
ресурсов при мультиверсионном формировании программно-
информационных технологий для корпоративных структур.
3. Введена новая форма вектора временной развертки для
мультиверсионного программного комплекса, учитывающая занятость
ресурсов, что обеспечивает оценку эффективности использования ресурсов
программным комплексом для любого версионного состава.
4. Предложен и программно реализован алгоритм мультиверсионного
формирования программно-информационных технологий с гарантированной
доступностью ресурсов.
Практическая ценность. Разработанная в диссертации система компьютерной поддержки мультивесрионного формирования программно-информационных технологий с гарантированной доступностью ресурсов применена при инженерном проектировании гарантоспособного программного обеспечения для корпоративных структур. Созданные на ее базе компоненты программно-информационных технологий обладают адекватным уровнем отказоустойчивости при гарантированной доступности
ресурсов. Мультиверсионное формирование программно-информационных технологий позволяет решать новые задачи по качественной оценке и быстрому восстановлению программных и информационных компонент при оптимальной избыточности программных версий. Разработанное программное приложение позволяет в удобной для пользователя форме задавать шаблон мультиверсионного программного комплекса и автоматически формировать его версионный состав.
Реализация результатов работы. Под руководством и при непосредственном участии автора диссертации выполнены хоздоговорные НИР, в ходе которых разработаны и переданы в составе программно-информационных комплексов компоненты системы компьютерной поддержки мультиверсионного формирования программно-информационных технологий для корпоративных структур «ФОСАГРО». Программное приложение «DBaseOPTIM», разработанное автором диссертации, применено при оптимизации быстродействия СУБД ORACLE, что существенно повлияло на надежностные характеристики используемой в корпоративной среде программной архитектуры СУБД.
Материалы диссертационной работы введены в такие учебные курсы, как «Разработка программного обеспечения для информационно-управляющих систем» и «Проектирование информационных систем» для студентов Красноярского государственного технического университета и Красноярской государственной академии цветных металлов и золота.
Апробация работы. Основные положения и результаты работы прошли всестороннюю апробацию на всероссийских и международных конференциях, научных семинарах и научно-практических конференциях. В том числе, на международной конференции «Modelling & Simulation, MS'99-Spain» (Сантьяго де Компостела, Испания, 1999), международной конференции «Modelling & Simulation in Technical and Social Sciences, MS'2002-Spain» (Жерона, Испания, 2002), научной конференции с международным участием «Модели и методы оптимизации сложных
структур» (Томск, 2001), заочной научно-практической internet-конференции «Модернизация системы профессионального образования на основе регулируемого эволюционирования» (Челябинск, 2002), 5-й Всероссийской научной конференции молодых ученых и аспирантов «Новые информационные технологии: разработка и аспекты применения» (Таганрог, 2002), научных семинарах кафедры Системного анализа и исследования операций Сибирского государственного аэрокосмического университета (2000-2002) и научных семинарах НИИ Систем управления, волновых процессов и технологий Минобразования РФ (2000-2002).
Публикации. По теме диссертации опубликовано 17 печатных работ [2-14,41,66-68], список которых приводится также и в конце автореферата.
1. ПРОБЛЕМА ПОВЫШЕНИЯ НАДЕЖНОСТИ ПРОГРАММНО-
ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ДЛЯ КОРПОРАТИВНЫХ СТРУКТУР
Компьютерные системы корпораций хранят сегодня основную информацию о работе предприятий и фирм и их выход из строя способен остановить работу корпорации. Очевидно, что такие жизненно важные (ВСС -Business Critical Computing) системы должны обладать адекватным уровнем отказоустойчивости в рамках отведенных бюджетов. В программных приложениях, к которым предъявляются предельно высокие требования по надежности, должны применяться особые решения, обеспечивающие отказоустойчивость и коэффициент готовности не менее 99,999% (т.е. не более 5 минут простоев в год).
Отказоустойчивость программно-информационных технологий в рамках
корпоративных структур обходится очень недешево, и существующие
отказоустойчивые решения базируются либо на операционных системах
собственной разработки, либо на одном из клонов Unix [33]. Поставщики
аппаратных платформ обеспечивают высокую надежность, заставляя платить за
избыточность аппаратных и программных средств. Еще больше возрастает эта
плата, когда необходимо решать программными средствами не нашедшие
своего аппаратурного решения проблемы, возникающие в ходе неизбежных
упущений в процессе разработки. Всегда ли может помочь решение, при
котором в отказоустойчивом сервере, обеспечивающем непрерывную
готовность приложений, дублируется каждый аппаратный компонент, включая
процессоры (например, сервер Stratus)?. Как быть с ошибками, возникшими в
ходе неизбежных упущений? В данном разделе анализируется проблема
повышения надежности программно-информационных технологий и
рассматриваются современные аппаратно-программные решения,
обеспечивающие требуемую отказоустойчивость и доступность ресурсов.
Обеспечение доступности ресурсов программнно-информационных технологий
Возможны два способа повышения доступности ресурсов программно-информационных технологий корпоративных структур: увеличение индивидуальной надежности серверов и улучшение общесистемной отказоустойчивости [37,12-14]. В первом случае увеличивается надежность каждого элемента системы, что позволяет строить конфигурации высокой доступности из небольшого количества компонентов. Для построения надежной распределенной системы в рамках корпорации обычно используется большое количество не очень надежных компонентов, а высокая надежность всей системы достигается многократным дублированием. Рассмотрим методы увеличения аппаратной надежности [60-62]. Резервирование. Таким способом увеличивается отказоустойчивость компьютеров по отношению к сбоям внутренних компонентов: блоков питания, дисков, процессоров и т.п. При использовании резервирования главное вовремя заметить сбой и перевести систему на работу с резервным аналогом выходящего из строя компонента. При этом для резервирования, например, блоков питания не требуется программной поддержки, в то время как для памяти, жестких дисков и процессора часто приходится менять и ПО. В результате решение становится не универсальным, и его нельзя применить для других серверов.
Горячая замена. Вместе с дублированием горячая замена позволяет выполнять ремонт серверов без прекращения их работы, что увеличивает доступность, но уменьшает отказоустойчивость и надежность компьютера во время смены блока. Наиболее сложно обеспечить горячую замену процессоров, памяти и жестких дисков, поскольку для этого нужно реализовать динамическую перестройку операционной системы. Кроме того, необходимо правильно спроектировать корпус сервера, который позволял бы менять внутренние элементы, не вынимая весь сервер из монтажной стойки.
Диагностика. Немаловажным элементом надежных систем является диагностика компонентов: перегрева процессора, памяти, системной платы, а также контроль возникновения ошибок. Диагностика позволяет предупредить аварию и вовремя заменить блок, который пока еще работает корректно, но уже «дышит на ладан». Если в системе предусмотрена горячая замена данного компонента, то это позволяет исправить поломку еще до ее возникновения. Правильная диагностика важна для тех серверов, доступ к которым получить не очень просто, например, если они располагаются на технической площадке провайдера.
Кластеризация. Имеется две реализации кластеров, обеспечивающих совместную работу нескольких компьютеров: аппаратная и программная. Аппаратный кластер предусматривает специальные компоненты для поддержки целостности кластера и обрабатываемых им данных. Программный позволяет реализовать кластер из универсальных серверов и сетевых технологий, но требует поддержки со стороны операционной системы: баланса загрузки, контроля работоспособности узлов, перераспределения ресурсов и решения других задач. Собственно аппаратные кластеры выпускаются уже давно, а сегодня начали появляться и программные кластеры.
Различные производители серверных платформ используют комбинации этих механизмов, стремясь реализовать их с меньшими затратами, а на некоторые компоненты надежных систем есть уже и промышленные стандарты — это, прежде всего, касается подсистем хранения с RAID-массивами и микросхем памяти с коррекцией ошибок [51]. Таким способом даже в простых системах можно уменьшить вероятность потери данных, однако, их доступность при этом не увеличивается. Для повышения доступности данных и приложений нужно обеспечить постоянную работу процессоров и сетевых соединений. Собственно, для увеличения надежности сетевых соединений, как и для блоков питания, достаточно их дублировать и обеспечить горячую замену, хотя придется предусмотреть механизмы перераспределения загрузки и контроля работоспособности. Именно этим путем идут сегодня все производители серверного оборудования.
Более сложной проблемой является обеспечение непрерывной работы процессоров, что возможно в многопроцессорных серверах, где процессор располагается на отдельном модуле с возможностью горячей замены. Однако нужно еще обеспечить программную поддержку смены процессорных модулей в операционной системе. Так, на серверах Compaq NonStop Himalaya [33] используется программная технология парных процессов. Суть ее заключается в том, что на различных процессорах выполняются два процесса — первичный и резервный. Первичный посылает резервному контрольные сообщения, чтобы тот в случае аварии мог подхватить исполнение. В результате при замене или выходе из строя одного процессора его функции тут же подхватят другие. Причем эта технология никак не связана с конкретным типом процессора. В частности, Compaq объявил о переносе NonStop Kernel — ОС с поддержкой парных процессов — на процессор Itanium.
По другому пути пошла компания IBM, которая реализовала аппаратное резервирование процессоров прямо на кристалле. Процессоры Power4, на которых у IBM построены серверы серии р690, имеют два одинаковых ядра, которые могут проверять работу друг друга. Кроме того, в серверах этой серии есть дополнительная система, которая контролируют состояние оборудования. В частности, именно эта система динамически перераспределяет вычисления между процессорами в случае выхода одного из них из строя. В серверах серии р690 также предусмотрен один независимый процессор, который контролирует работу всего оборудования: от процессоров до шин PCI и ISA. В результате, в этих серверах обеспечивается достаточно высокий уровень надежности и доступности.
Программно-информационные технологии системного администрирования
Функциональные области управления, относящиеся к этой сфере, четко определены в спецификациях ISO [51]: решение проблемных ситуаций (диагностика, локализация и устранение неисправностей, регистрация ошибок, тестирование); управление ресурсами (учет, контроль использования ресурсов, выставление счетов за использованные ресурсы и ограничение доступа к ним); управление конфигурацией, направленное на обеспечение надежного и эффективного функционирования всех компонентов информационной системы; контроль производительности (сбор и анализ информации о работе отдельных ресурсов, прогнозирование степени удовлетворения потребностей пользователей/приложений, меры по увеличению производительности); защита данных (управление доступом пользователей к ресурсам, обеспечение целостности данных и управление их шифрованием). В настоящее время присутствуют сотни программных продуктов, позволяющие решать те или иные задачи системного администрирования. В основании своеобразной пирамиды находятся базовые платформы управления, такие как CA-Unicenter TNG компании Computer Associates, HP OpenView и Tivoli Enterprise производства IBM. Названные системы покрывают все функциональные области, определяемые стандартом ISO; отдельные пробелы в этом спектре со временем устраняются путем собственных разработок, заключения партнерских соглашений или приобретения других фирм.
Самостоятельную группу составляют семейства управляющих приложений, охватывающие лишь часть областей системного администрирования. Примерами программ этой категории могут служить пакеты PATROL компании ВМС Software и EcoSYSTEMS производства Compuware.
Кроме того, в настоящее время предлагаются так называемые «точечные» продукты, ориентированные на решение конкретных узких задач (анализ событий, генерация отчетов о производительности, управление IP-адресами и т.д.).
Основной результат длительного развития отрасли системного администрирования выразился в том, что с функциональной точки зрения основные платформы управления в настоящее время довольно похожи друг на друга. Различия между ними кроются в сфере структурного исполнения и, кроме того, связаны с теми исходными целями, которые ставились на начальных этапах разработки. Так, корни семейства OpenView лежат в сфере сетевого администрирования (соответствующие функции считаются наиболее сильными по сравнению с конкурирующими пакетами), средства же системного администрирования были добавлены позднее. Напротив, пакет Tivoli Enterprise (ранее, Tivoli Management Environment) первоначально был нацелен ни решение проблем системного администрирования; то же справедливо и в отношении программно-информационных технологий CA-Unicenter.
Что касается архитектурной реализации, то здесь можно наблюдать как варианты единых интегрированных систем (CA-Unicenter, компоненты которого стали предлагаться отдельно только в 1997 г.), так и продукты, изначально имевшие модульную структуру (HP Open View).
Архитектурные аспекты выходят на первый план, когда возникает потребность в интеграции различных продуктов, например точечных решений с базовой платформой администрирования. Об актуальности этой задачи свидетельствует появление отдельного сегмента интегрирующего программного обеспечения, которое сегодня предлагается такими фирмами, как CACI Products, Ganymede Software, Make Systems, Managed Object Solutions, NetReality.
Среди многочисленных категорий пользователей ПО системного администрирования все больший вес набирают фирмы среднего размера, которые в своем развитии уже переросли простейшие задачи управления настольными компьютерами, объединенными в локальную сеть, но еще не готовы - ни в психологическом, ни в финансовом плане — развернуть у себя сложные и дорогие управляющие платформы. Очевидно, пользователям этой группы нужны не точечные продукты, в изобилии присутствующие сегодня на рынке, а законченные решения, имеющие ограниченную функциональность, интуитивный Web-интерфейс и приемлемую цену. Образовавшаяся здесь ниша постепенно начинает заполняться: в качестве примера можно назвать пакет FrontLine Manager, выпускаемый молодой компанией ManageCom.
В последнее время в зарубежной литературе [74,80-83] все активнее обсуждается концепция динамического администрирования, её появление соответствует общей тенденции в мире сетевого и системного администрирования - переносу акцентов с контроля за отдельными ресурсами или их группами, с управления рабочими характеристиками ИС на максимальное удовлетворение запросов конечных потребителей информационных технологий.
Такой подход предполагает, прежде всего, наличие средств анализа поведения пользователей, в ходе которого должны быть выявлены как их предпочтения, так и проблемы, возникающие в повседневной работе. Результаты, полученные на этом этапе, должны служить отправной точкой для так называемого активного управления взаимодействием между основными объектами администрирования - пользователями, приложениями и сетью. Термин «активное» подразумевает постоянное отслеживание характера работы пользовательских приложений и оперативное вмешательство в этот процесс в том случае, когда уровень сервиса, получаемый пользователем, не соответствует ожидаемому. Для наиболее адекватного реагирования на возникающие проблемы сторонники концепции активного администрирования призывают использовать аналитические средства поддержки принятия решений.
Фактически определилось два подхода к решению поставленной проблемы. Кратко остановимся на последних достижениях в этой области, предлагаемых для реализации в корпоративных структурах.
Основная идея упреждающего администрирования сводится к тому, чтобы, проанализировав поведение корпоративной ИС или отдельных её компонентов, предпринять превентивные меры, позволяющие не допустить развития событий по наихудшему сценарию. Проведение подобной профилактики требует применения иного инструментария, нежели при обычном (реактивном) управлении.
Формализация задачи мультиверсионного формирования ПИТ с гарантированной доступностью ресурсов
В данном разделе будут конкретизированы задачи диссертационной работы, связанные, в первую очередь, с построением модели использования ресурсов при формировании ПИТ и определением структуры входных и выходных данных алгоритма формирования вектора конфигурации МПК.
Таким образом, рассматривается одна из основных задач исследования - создание модели, а затем и алгоритма формирования мультиверсионного ПК с учетом временных и ресурсных ограничений. В данном разделе также будут описаны входные данные этого алгоритма и представлены данные на его выходе.
Еще раз остановимся на структуре программного комплекса и на том его виде, который будем рассматривать в этом разделе. Предполагается, что ПК состоит из Nt задач. Каждая задача имеет свои входные и выходные параметры, эти параметры определяют взаимосвязь задач между собой. Если і-я задача получает в качестве входного параметра выходной параметр j-u задачи, то і-я задача зависит от j-й и выполняться должна после ее завершения. В данной работе мы будем рассматривать только упрощенные схемы, в которых отсутствуют циклические связи и условные переходы. Цикличные схемы и схемы с условными переходами требуют отдельного и более детального исследования, выходящего за рамки данной диссертации.
Далее, каждая задача, в свою очередь, состоит из одного и более модулей, которые являются конечными программными продуктами. Модульная структура задачи аналогична структуре МПК в задачах и должна соответствовать тем же требованиям (заранее известное количество модулей, их взаимосвязь и отсутствие циклов и условных переходов). Допускается неоднократное использование одного и того же модуля как внутри одной задачи, так и в других задачах.
Программный модуль может быть мультиверсионным, а может и не быть таковым. Выше мы говорили о проектировании мультиверсионного ПК, одним из этапов которого является разработка и тестирование независимых версий программных модулей. В данной работе будет подразумеваться, что для каждого модуля уже имеется набор независимых версий, и, кроме того, по каждой версии известны стоимость и оценка надежности. Оценка надежности должна быть количественной, а какую характеристику ПО использовать в качестве оценки надежности должен решить проектировщик ПК. Если для какого-либо модуля мультиверсйоонность не требуется, то набор версий этого модуля должен состоять из одного элемента. Следует отметить, что количество версий, равное двум - нецелесообразно, так как задача выбора правильного решения из двух вариантов не имеет решения или решение является очень трудоемким процессом. В связи с этим мы принимаем, что для мультиверсионного модуля набор версий должен состоять, как минимум из трех элементов. На рис. 2.4. приведена примерная схема структуры МПК.
Основной задачей данного раздела является построение модели формирования версионного состава МПК. Таким образом, основным выходным параметром предлагаемого далее алгоритма должен являться вектор конфигурации МПК. Подробнее вектор конфигурации будет описан в следующем разделе. Зная версионный состав, мы с легкостью можем определить два показателя МПК - стоимость и оценку надежности. Но перед нами стоит задача использования временных и ресурсных ограничений. Под временным ограничением будет рассматриваться ограничение на время выполнения всего программного комплекса, а так как время выполнения программы напрямую зависит от используемых аппаратных ресурсов, то, в первую очередь, опишем ресурсные ограничения, накладываемые на МПК.
Ресурсные ограничения заключаются в том, что любое ПС использует аппаратные средства (процессоры, модули памяти, шины данных и т.д.) и различного рода источники данных (базы данных и файлы). В данной работе ресурсы будут условно разделены на три группы: - активные ресурсы - ресурсы, обладающие вычислительными возможностями (процессоры, сопроцессоры, контроллеры и т.п.) - пассивные ресурсы - ресурсы для хранения информации (оперативная память, Кэш-память, жесткие носители и т.п.) - транспортные ресурсы - ресурсы транспортировки данных (всевозможные шины данных) Для каждого ресурса определяется относительный объем этого ресурса, а для каждой версии, в таком случае, необходимо задать востребованность (вернее, используемость) ресурсов. Это означает, что в качестве входных параметров алгоритма нам необходимо задать базу ресурсов, на которой предполагается выполнение ПК, и использованность ресурсов версиями в процессе выполнения МПК. То есть, кроме стоимости и оценки надежности для каждой версии необходимо знать то, какие ресурсы использует данная версия, какой объем каждого ресурса потребляет, и в течении какого времени длится это использование (востребованность и используемость).
Предполагается, что по мере выполнения версии объем использования активных и пассивных ресурсов не меняется. Кроме того, выполнение версии разделяется на четыре этапа: загрузка версии в пассивный ресурс (оперативная память), чтение входных параметров, выполнение программы и запись выходных параметров. Такое разбиение делается по двум причинам: 1. Предполагается, что транспортные ресурсы не могут одновременно использоваться более чем одной программой, хотя современные технологии программирования позволяют параллельную передачу более чем одного пакета данных, но такой механизм увеличивает вероятность появления ошибки при транспортировке данных и является нецелесообразным, когда речь идет об увеличении надежности комплекса. Конечно, существуют надежные методы передачи данных, которые позволяют восстанавливать полную информацию при потере исходного пакета, но такие методы требуют большего времени выполнения и более ресурсоемки, что недопустимо при введении ограничений на время выполнения и ресурсную базу. В связи с этим следует выделить использование транспортных ресурсов, которое предполагается быть только в моменты передачи данных и загрузки программы.
Корпоративная операционная система
Важным компонентом технического решения была операционная система. Для семейства серверов RM такой ОС является Reliant Unix, которая возникла в результате объединения ОС SINIX и DC/OSx, вобрав в себя все отличительные черты предшественников: производительность и работоспособность больших кластерных вычислительных систем от DC/Osx и высокую степень соответствия стандартам от SINIX. Система Reliant Unix полностью совместима со своими предшественниками; программные продукты, предназначенные для них, могут свободно выполняться на Reliant Unix. Система была разработана с учетом поддержки всех последующих расширений 64-разрядной архитектуры MIPS. В Reliant Unix могут выполняться одновременно и 32, и 64-разрядные приложения. ОС поддерживает на серверах до 24 Гбайт оперативной памяти, адресное пространство пользователя до 1 Тбайт, размер файлов и файловых систем до 16 Тбайт. Система поддерживает механизмы, необходимые для конфигураций с высокой работоспособностью и безопасностью, а включение в систему продуктов OBSERVE, RMS и AUDIT открывает широкий диапазон возможностей кластеризации и администрирования доменов серверов. Для поддержки многопроцессорных систем ядро Reliant Unix расширено функциями синхронизации доступа к системным данным, координации взаимодействия параллельных процессов и управления межпроцессорными коммуникациями. ОС Reliant Unix обеспечивает полностью симметричное мультипроцессирование. При этом все процессоры управляются единственной копией ОС с равными правами доступа ко всем ресурсам; каждый процессор может обрабатывать любой системный вызов, в том числе какую угодно операцию ввода/вывода и любое прерывание. Все процессоры используют единое пространство памяти через систему общих шин (глобальная разделяемая память). Поддержка SMP в ОС Reliant Unix полностью встроена в ядро и не оказывает влияния на выполняемые приложения. Распараллеливание задач выполняется как на уровне процессов так и на уровне нитей исполнения, время выполнения отдельного приложения не уменьшается, однако общая производительность системы возрастает.
Надежность комплекса была важнейшим критерием выбора платформы для корпорации «ФОСАГРО», поэтому особый интерес заказчик проявил к реализации функции OLR (оперативной замены важных аппаратных компонентов в случае сбоя) и LAR (автовосстановление). OLR доступна в Reliant Unix 5.45 для RM400 и RM300 моделей Е и обеспечивает горячую замену жестких дисков, вентиляторов, контроллеров, блоков питания. Функция LAR позволяет компьютеру продолжать работу при поломке его аппаратных компонентов -деффектные узлы обнаруживаются при перезагрузке системы, деконфигурируются и в дальнейшем не используются. LAR работает совместно с программой порогового мониторинга и программой LOGGING. События, записанные в файле LOGGING, обнаруживаются программой мониторинга. Когда число событий превысит определенный порог, происходит вызов заранее подготовленных сценариев или программ, которые обеспечивают соответствующую реакцию на то или иное событие.
Конфигурирование аппаратуры и администрирование системы выполняются с помощью программы Config. Компоненты системы имеют наглядное графическое представление, что облегчает администрирование и управление в больших конфигурациях. Программа обеспечивает доступ и к удаленным системам, поэтому системный администратор может осуществлять все процессы инсталяции удаленно. Перед активацией созданная или отредактированная конфигурация проверяется на согласованность, a Config реализует все изменения в системных данных компьютера и запускает процессы, необходимые для управления устройствами. Config выполняет следующие функции: Администрирование подключенных стоек, UPS, BBS, плат/контроллеров, серверов терминалов и SCSI-устройств хранения (дисков, лентопротяжек, CD-ROM); Конфигурирование терминалов, ПК-клиентов, принтеров, сетевых принтеров и других последовательных устройств; Вывод и, если возможно, установку атрибутов устройств; Анализ подключенной аппаратуры; Обнаружение и исключение несогласованности в конфигурации; Создание и распознавание виртуальных конфигураций; Обнаружение дефектных сетевых узлов, блоков питания и вентиляторов, контроллеров и жестких дисков. Когда это технически возможно, такие устройства автоматически деактивируются (LAR); Ручная деактивация, реактивация и оперативная замена контроллеров, вентиляторов, блоков питания и жестких дисков (OLR).