Управление процессами в компьютерных системах (547973)
Текст из файла
© 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.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.