Управление процессами в компьютерных системах
Описание файла
PDF-файл из архива "Управление процессами в компьютерных системах", который расположен в категории "". Всё это находится в предмете "параллельные системы и параллельные вычисления" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "параллельные системы и параллельные вычисления" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
© 2012 г. В.П. КУТЕПОВ, д-р техн. наук,Н.А. ПАНКОВ, м.н.с(Московский энергетический институт, кафедра Прикладной математики, Москва)УПРАВЛЕНИЕ ПРОЦЕССАМИ В КОМПЬЮТЕРНЫХ СИСТЕМАХВ статье обсуждаются архитектурные особенности и органи зационнаясхема управления процессами в компьютерных системах,а такжерассматриваются методы оптимизации управления их ресурсами.PROCESS CONTROL IN COMPUTER SYSTEMS / V.P.
Kutepov, N.A. Pankov(Moscow Power Engineering Institute, Krasnokazarmennaya 14, Moscow111250, Russia, E-mail: Kutepov@appmat.ru). Architectural factors and schemeof process management system`s organization and optimization of resourcemanagement methods for computer systems are discussed in the paper.1. ВведениеПроблема управления процессами даже в однопроцессорных компьютерах, какизвестно, является нетривиальной задачей, и потребовался не один десяток лет, чтобынайти приемлемые с практической точки зрения решения, воплощенные в современныхоперационных системах (ОС). Сложности возникли уже с первой попытки найтиэффективные методы планирования для случая пакетного режима, введенного в практикус целью сбалансированного использования различных ресурсов компьютера: процессоров,периферийных устройств и многоуровневой памяти. Главная проблема в формированииоптимальных пакетов программ состояла в отсутствии достоверной априорнойинформации о поведении программ.
Случайный характер обращений к различнымресурсам при выполнении программы оказался настолько сложно прогнозируемымзаранее, что пришлось полагаться на весьма далекие от реальности предсказанияпрограммиста о том, как распределены интенсивности обращений к различным ресурсам,чтобы на основе этого попытаться сформировать оптимальные пакеты.Очевидно, радикальным решением проблемы является изначальное рассмотрениепроцессов выполнения программ как случайных процессов и разработка на этой основеметодов стохастического управления ими. Это естественно требует изученияособенностей стохастических процессов, связанных с выполнением программ, методов исредств измерения в динамике их параметров и прогнозирования их изменения.
Этотподход мы используем в наших работах [1-4], нацеленных на создание эффективныхметодов и программных средств для управления процессами в больших компьютерныхсистемах. К ним мы относим многомашинные и многопроцессорные системы, частоназываемые кластерами, распределенные системы, объединяющие сотни и тысячикомпьютерных подсистем (серверов, кластеров и т.п.). Первые из них часто называютсясильно связанными, а вторые – слабосвязанными системами.Мы будем далее называть последние открытыми компьютерными системами или длясокращения компьютерными системами (КС), понимая под этим объединенныеразличными коммуникациями компьютерные ресурсы в том числе программные,292доступные для коллективного использования. Англоизычное название GRID, Clouds и т.п.мало что меняет в данном определении.С формальной точки зрения функционирование КС представляет собой системумассового обслуживания с множеством различного рода взаимосвязанных ресурсов(компьютеров, памятью, периферией, коммуникациями и др.), выполняющих случайныепотоки различных процессов (заданий) на их входах.
В свое время мы исследовалисредствами теории массового обслуживания проблему оптимального управлениямножеством программ, выполняемых на компьютерах с виртуальной страничной памятью[1].Этот же подход мы пытаемся развить применительно к анализу и построениюэффективных систем управления процессами в КС, в частности при выполнении имипараллельных программ [2,6]. При этом мы исходим из самых общих и реальныхположений, состоящих в том, что заранее неизвестны параметры, описывающиеслучайные процессы, выполняемые различными ресурсами КС, однако предполагаем, чтоони близки к стационарным [4]. Это дает основания для применения адаптивных методовуправления загруженностью компьютерных систем с целью оптимизации их работы.Кроме того, мы используем ряд эвристик, суть которых состоит в устранении «узкихмест», возникающих в процессе функционирования КС, а также учете особенностейпроцессов, порождаемых при выполнении программ [6-8].Создание эффективных средств управления процессами в КС предполагает решениетрех взаимосвязанных задач, которые далее рассматриваются в работе.Первая из них – эторазработка методов планирования процессов, учитывающих их особенности и важность.Вторая задача – это создание методов, обеспечивающих оптимизацию назначенияресурсов для выполняемых процессов.
Наконец, третья задача – это определениеархитектурных решений, связанных со структурной организацией самого управления,возможностью его реконфигурирования в связи с отказами и масштабированием КС ипрограммной реализацией.Конечно, напрашивается вопрос, а нельзя ли для создания систем управленияпроцессами в КС воспользоваться тем, что уже создано для управления параллельнымипроцессами на кластерах? К сожалению, сегодняшнее управление параллельнымипроцессами в том виде, к которому мы стремимся, отсутствует.К примеру, в MPI (MPI-1) программист сам должен заранее определить множествовыполняемых параллельных процессов в программе, после чего их поровну распределитьмежду узлами кластера для выполнения. Когда мы переходим к программам, которыемогут порождать рекурсивно параллельные процессы и процессы с разнымиповеденческими особенностями, задача существенно усложняется, и пока нетудовлетворительного её решения.Статьи [4-5] дают некоторое общее представление о наших подходах к созданиюсистем управления процессами в компьютерных системах.В разделе 2 обсуждаются архитектурные особенности и организационная схемауправления процессами в КС.
Раздел 3 посвящен анализу функций управления в КС, а вразделе 4 рассматриваются методы оптимизации управления ресурсами КС.2. Архитектура КСАрхитектуры сильно связанных КС (кластеров и многопроцессорных систем с общейпамятью) и слабосвязанных КС, то есть распределенных территориально компьютерныхресурсов, заметно отличаются.Коммуникации первых изначально занимают центральное место при их создании,особенно если принять во внимание их сегодняшний масштаб, достигающий несколькихсотен и миллионов компьютерных компонентов. Регулярная коммуникационная структура293связей в таких системах содержит три уровня иерархии.
На самом нижнем уровне –уровне блоков, насчитывающих несколько десятков компонентов (компьютеров илипроцессоров) коммуникационые связи приближены к полносвязным структурам. Покрайней мере, между любой парой компонентов в них существует несколько путейпередачи данных (см., например, структуру связи Омега между компьютерами блока всистеме SP2 [9], родоначальницы современных кластерных решений фирмы IBM).Объединенные в группы блоки физически помещаются в контейнеры, а последние, в своюочередь, группируются в виде аппаратурных стоек. При этом по-прежнему связи междублоками в контейнере более плотные, чем связи между стойками и обеспечивают болеевысокую пропускную способность при передаче данных.Однако, сегодня коммуникационная среда в этих системах является общей как дляпередачи данных между вычислительными компонентами, так и для выполненияуправляющих функций.
Это сегодня кажется оправданным в силу примитивности самогоуправления. Но с увеличением масштаба КС и, как следствие, усложнением управления,важный аспект приобретает его организационная структура и собственная реактивность(время, затрачиваемое на выполнение управляющих функций).Два крайних способа организации управления процессами в КС – централизованный идецентрализованный – страдают существенными недостатками.
Первый становится«узким горлом» при увеличении масштаба системы и, начиная с некоторого количестваузлов в КС, просто не может эффективно выполнять управляющие функции.Децентрализованный вариант управления в какой-то мере снимает ограничение наувеличение масштаба КС, но при том условии, что коммуникационная среда сможетуспешно справляться с возрастающей интенсивностью «переговоров» междумногочисленными управляющими компонентами. Как следствие, вариант иерархическойорганизации управления КС, сотни лет используемый в управлении большими системамив самом широком смысле толкования этого понятия, имеет все основания для примененияв КС.
Это тем более оправдано, если учесть сказанное выше об иерархическойорганизации самой КС, в которой, как, например, у кластеров, иерархическая «лестница»идет от блоков к группам блоков и т.д. Та же организационная логика наблюдается и враспределенных КС, добавляя в отличие от кластеров новые ступеньки, соотнесенные слокальными сетями, затем глобальными компьютерными сетями, то есть, территориальнораспределенными компьютерными ресурсами.
Хороший пример такой организации –платформы облачных вычислений Azure [10], Amazon и др. Иерархическая организацияуправления позволяет наиболее затратные по времени функции измерения ипрогнозирования загруженности компонентов КС выполнять на нижнем уровне, имеющембыстрые коммуникации, оставляя за следующими уровнями с меньшей среднейпропускной способностью коммуникаций принятие решений о назначении ресурсов и ихперераспределении с целью достижения оптимального использования, то есть, их среднейзагруженности.С позиции реализации управления, очевидно, надо опираться на уже достаточноопробированные методы и средства управления, существующие в ОС компьютеров,создавая на их основе операционные средства управления следующих уровней.Последующие шаги в этом иерархическом централизованно-децентрализованномуправлении должны строиться на основе делегирования стратегических функцийуправления от подсистем нижних уровней следующему уровню иерархии и т.д.Если мы хотим иметь возможность масштабирования и реконфигурированияуправления как целостной системы, придется строго определить функции управления,стандартизировать их с позиции программной реализации, обеспечив возможность ихрепликации и настройки соответственно конкретным задачам управления.2943.