Параллельные
системы и параллельные вычисления
Лабораторная работа
по дисциплине
«Параллельные системы и параллельные вычисления»
Средства измерения загруженности компьютеров кластерных вычислительных системах
Цель работы: Изучение средств измерения параметров загруженности компьютеров вычислительной системы (ВС) с целью достижения равномерной загрузки. В процессе выполнения лабораторной работы должны быть освоены методы измерения параметров загруженности компьютеров, работающих под управлением операционной системы (ОС) Windows и ОС Linux, а также исследованы характеристики вычислительной сложности применяемых для этой цели алгоритмов.
Содержание работы:
Задача управления параллельными процессами на ВС связана с минимизацией времени выполнения параллельной программы и максимизацией эффективности используемых ресурсов. В настоящее время она не имеет точного решения, а используемые алгоритмы управления базируются на обобщении экспериментальных данных, эвристиках, привлечении методов искусственного интеллекта[1,2] и др.
При этом центральной проблемой является умение достаточно точно измерять и прогнозировать параметры, по которым можно эффективно контролировать загрузку кластера.
Поэтому чрезвычайно важной задачей является выбор небольшого количества параметров, которые легко измеряются и поведение которых несложно прогнозировать. Перечислим основные параметры, по которым можно достаточно объективно судить о загруженности компьютера:
-
количество процессов,
-
объем свободной памяти,
-
интенсивность обменов между дисковой и оперативной памятью,
-
интенсивность обмена данными с другими компьютерами.
Второй и третий параметры взаимосвязаны, по ним можно судить (особенно по третьему параметру) о непроизводительном времени, которое процессор компьютера тратит на обмен между оперативной и дисковой памятью (среднее обращение к дисковой памяти в современных компьютерах при страничном обмене равно 1.5 мс – среднему времени полуоборота дискового носителя).
Интенсивность обмена между компьютерами позволяет судить о загруженности каналов сетевого обмена ВС и косвенно показывают насколько часто взаимодействуют процессы, размещённые на различных компьютерах.
Параметр – количество процессов на компьютере полезен, когда решается вопрос о простаивающих компьютерах ВС и возможности перемещения части процессов. Хотя он менее информативен с позиций регулирования загрузки по сравнению с другими перечисленными параметрами.
В ОС Windows, Linux и др. есть специальные программные средства для измерения указанных параметров.
Для получения текущей загруженности компьютера, работающего под управлением ОС Windows, разработан набор библиотек с системными функциями, позволяющими разными способами измерять необходимые параметры. Нет единого способа, который бы работал на всех Win32-платформах. Поэтому приходится комбинировать несколько методов в одной программе, чтобы она работала на всех версиях Windows. К этим методам относятся следующие:
-
библиотека Process Status Helper (PSAPI);
-
ToolHelp32 API;
-
недокументированная функция ZwQuerySystemInformation;
-
счетчики производительности;
-
интерфейсы Windows Management Instrumentation;