УДК 004.032


К вопросу анализа временных характеристик функционирования узлов гетерогенных систем обработки информации


Сарамуд М.В.

Научный руководитель – доктор технических наук Ковалев И.В.


Сибирский федеральный университет, Красноярск


На сегодняшний день системы обработки информации все чаще используются для решения управленческих, исследовательских и производственных задач. Одним из видов таких систем являются гетерогенные вычислительные системы высокой надежности для высокопроизводительных вычислений (системы обработки высокой пропускной способности). Наиболее известные технологии: Globus (http://www.globus.org), Legion (http://www.cs.virginia.edu/~legion), Condor (http://www.cs.wisc.edu/condor), OpenMPI (http://www.open-mpi.org), MPI, PVM и другие.

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

В большинстве случаев при употреблении термина «системы высокопроизводительных вычислений» подразумеваются либо суперкомпьютеры, либо специализированные, как правило, однородные вычислительные кластеры, работающие под управлением библиотек параллельных вычислений MPI или PVM. Благодаря своей доступности, низкой стоимости, и простоте создания и эксплуатации, наибольшее распространение получили именно вычислительные кластеры. Для проведения эффективных расчетов или обработки информации на таких системах требуются специально разработанные программы, учитывающие архитектуру конкретного кластера и объем выделенных ресурсов (как временных, так и аппаратных). Считается, что такие системы надежны, поэтому для них не разработаны (или разработки находятся в начальной стадии) технологии, обеспечивающие устойчивость к сбоям. В большинстве случаев, в результате сбоя в одном из узлов системы работа над запущенной задачей прекращается и возобновляется заново после устранения сбоя или замены узла.

Условно для вычислительных систем и систем обработки информации можно выделить четыре уровня:

1. аппаратный уровень (вычислительные узлы и коммуникации между ними);

2. уровень программного обеспечения, обеспечивающего параллелизм вычислений (операционная система, библиотеки, обеспечивающие параллельные вычисления);

3. уровень программного обеспечения управления заданиями (составление и оптимизация расписания, оценка загруженности и эффективности загрузки кластера, балансировка нагрузки, предоставления средств удаленного управления и мониторинга задания и т.п.);

4. уровень обеспечения параллелизма задания (алгоритмы и библиотеки автоматического распараллеливания заданий, системы отладки и т.д.).

Иногда второй уровень разбивают на два: уровень операционной системы и уровень библиотеки, обеспечивающей поддержку распределенных вычислений.

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

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

Система обработки информации, как правило, заранее не обладает информацией о потребностях задачи в тех или иных ресурсах, а «узнает» о них по запросу задачи. Также каждая система обладает определенными характеристиками, что требует адаптации самой задачи и оценки результатов адаптации (четвертый уровень). Наиболее эффективным, самым ресурсоемким является пробный запуск на реальных данных. Другой способ, используемый, как правило, для обучения, – это создание моделей выполнения задания на конкретной системе.

При анализе эффективности работы, производительности и управляемости системы обработки информации и ее оптимизации, на всех уровнях возникает подзадача оценки временных характеристик системы или ее узлов, а также оценки времени выполнения задания в различных режимах запуска и на разных системах.

Рассмотрим некоторые применяемые для этого методы.

Марковские цепи

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


Стохастические сети (анализ траекторий)

В качестве альтернативы Марковским цепям может использоваться вероятностная модель. В такой модели строится сеть, узлами которой являются состояния системы, а дугами – возможные переходы между ними. Время учитывается как такты переключения состояния системы. Исследуя определенные траектории функционирования системы, можно получить оценки надежности и времени работы системы. Например, в исследовании стратегий выполнения резервного копирования данных в параллельных вычислительных системах с динамически изменяемой конфигурацией.


Графический метод оценки и пересмотра планов (ГЕРТ)

Один из подходов к организации процесса интенсивной обработки информации – это использование в качестве узлов обработки информации компьютеров пользователей в свободное от использования времени. Такие проекты как SETI, Climate Predictions, Legion или Condor получают все большее распространении и весьма эффективны для некоторых задач.

В случае, если для некоторого узла известна вероятность бесперебойной работы в течение времени, необходимого для расчета задачи, то рассчитать функцию распределения времени выполнения задачи можно используя ГЕРТ-сети. Вероятность бесперебойной работы узла может быть получена из статистики его работы.

В результате слияния ГЕРТ-сетей с методами сетевого планирования разработан математический аппарат альтернативных циклических обобщенных сетей, позволяющий рассчитывать сеть, в состав которой входят как детерминированные, так и ГЕРТ подсети. Такой подход позволяет строить сети оценки времени одновременного выполнения частей задачи на нескольких узлах (рабочих станциях) гетерогенной распределенной системы обработки информации.

Конвейерные модели

Для задач, алгоритмы которых устроены таким образом, что данные проходят «этапы обработки», причем выходные данные на одном из «этапов», являются входными для следующего, применяются конвейерные модели. Как правило, такие алгоритмы разрабатываются для систем обработки информации со специализированными узлами. Примером такой системы является современный компьютер, центральный процессор которого перекладывает часть операций по расчету изображения на графический процессор.

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

Исходя из списков публикаций в конференциях, наиболее популярными сейчас являются выделенные вычислительные кластеры, которые либо приобретаются целиком (специализированные), либо строятся на базе имеющегося компьютерного парка. Такие системы, как правило, работают под управлением библиотек параллельных вычислений, удовлетворяющих стандарту MPI. Наиболее важным с точки зрения анализа временных характеристик является то, что пользователь самостоятельно принимает решения о «поведении» задачи. Таким образом, эффективность работы задачи и реальная производительность системы в целом полностью зависят от правильной разработки алгоритма программы пользователем и выборе стратегии управления администратором кластера. Методы теории оптимизации позволяют построить расписание использования ресурсов и задач системы обработки информации.