Интеллектуальное управление процессами (статья Кутепова) (547920), страница 2
Текст из файла (страница 2)
Органнзационныс формы управле!шя и нх связь с архитектурой ВС, Как мы уже говорили во Введении, проблема управлеш1я большими компьютернымн системами сегодня далека от скольннбудь удовлетворительного практического решен!!я [Ц. По сложившейся традиции программист, разрабатывая параллельную программу, должен учитывать размер ВС (колнчесгво процессоров и компьютеров), регулировать зернистость параллель!зма в программе и статически распределять се фрагменты по компьютерам ВС. По сути, реально 'мы имеем дело с зависимым от архитектуры ВС программированием н "вручную" осуществляемым управлением. Исклк5чен1ш составл!нот разве что проект МОЯХ [12, 131 н наши проекты [3 — 51, в которых задача управле!Н1я параллельной работой ВС рассматривается в качестве цс1пральной, без ес решения не может быть обеспечено нх эффективное функционирование.
Прн этом выявляется, что организация управления ВС выдвигает целый ряд проблем, требующих нзменеш1я сложившегося стереотипа об их архитектурном устройстве, как множества взи!мосвязанных компонентов, определенным образом размещенных в пространстве, а увеличение размера ВС есть простое добавление новых "куСиков".
Следующие требования наноолее важны при нос!роении управлен55я ВС: возможность согласова5шя органнзащюнной формы управлешш ВС и се структуры, учнтыва!ощего размер ВС и особенности выполнен!!я программ; обеспсчешге дшшмнческого реконфигурировання ВС н ее управления в связи с отказами компонентов н необходимостью пондерво!вать высоку1о загружен~Ост!н мнпнмнзацня накз!адных 15асхОдов !ш Вывод!гение управл5НО- щнх функций. Вьпюлненне этнх условий 5ребует внесения изменений в архитектуру ВС, пос!роение нх коммуникаций.
Мы уже обсуждалн в [Ц нсобходнмосгь нспользованзгя оптических табло как средств одновременного н быстрого доступа всех компонентов ВС к Оо!Цей управля!еще!1 инфо(эмацнн, каса1ощсйс5! Загруженности и работоспособности компонентов ВС. Это позволит"существенно разгрузить коммуш!канн!1 От переда'и! ПО ннм утих важных дл51 управлен!ьч ВС данных н сделагь более оперативной реакцшо управлеш5я на соответствующие события. Чрезвыч'нн!о важным аспектом является орга'низационная структура унразлсш5я ВС. Две "граничные" схемы управлеш1я ВС - цснтралнзованн;ш н децентрализованная имеют своп досгошютва и недостатки, Первая более экономна с точки зрения ресурсного обеспечения, но саановнтся узким "горлом" при увеличении масштаба ВС [11.
Вторая предъявляет высокие требоваиня к пропускной способности каналов обмена цшшымн и прнвоцнт к деградации работы ВС прн увьчшчешш сс масштаба нз-за высоких временных затраг на реа шзацшо унравляющнхфункцнй, Поиск "золотой ссреднны'. естественно, приводит к иерархи ь:скоп организации управления большими ВС. В пользу этого говорит уже уномннавшшься факт, что прн любом расположсшш компонентов ВС время взаимодействия между ннмн будет расгн при увеличении расстояния между пнмп.
Другой аргумент — это уже существуп>шая иерархия в архитектурном усгройствс ВС, в которой разлнчаются уровни ее декомпознцнн: колнняотер и группа компьютеров нли процессоров с общей пам5- тью. Прн этом количество комш,югеров нлн процессоров в группе о! равиче!ю сьерху (обычно не более 1б-32 процессоров н,5ш колнгыотеровд что обусловлено сложнвшнмсз! соо.
ношенном бЫСтрОдЕйСПН5я ПрсцЕССОра, ПаМяея5 и КОММуННКацнй. В системах ЗР фирмы 1ВМ грушш состоит нз 1б компьютеров, взанмодейсп5уюшнх через персключательные матрицы, в снсгемах ВРР Не!5!еп Рас1гагг1 н Сонвех до 32 процессорных элементов связаны через общую память. Если на уровне груш!и еще можно поддерживать мелкозернистый параллелизм, то увели геш1е римера системы и ограничен!и пропускной способности коммуникаций нрннужд нот програлпшста увеличивать сложносгь компоненгоь программы, чтобы уменьшать ватснсшшос!ь обме!шых взаимодействий между фрагме!ггамн ВС прн ее выполнении. Иерарх!!я компьютер (нроиессорд группа компьютеров (нроцессорощ в оргшшзацпн ВС, очевидно, должна нметь есгьсгвешюе продолзкенне в органнзаць!Они!5!! структуре унравле!шя.
учитывающей нс только масштаонрованнс ВС, но и усложняющиеся прн увслнчсшн! разл5ер5! ВС задачи управления (рис. 1,). По-видимому, взаимно обусловлешшя !ирархня организационной структуры ВС и ее увравльшш, нисходящая по лесгннне комныот:Р— ОС группа кол!Ньютеров (процессоров) — ОС группы, 51но5кество групп — ОС этого множесгва гру!гн и тш., заш а.
внт риработчнков ВС Рассматр!вгпь проолсму обеспечения эффективного управления как центральную, затрагивающую в том шслс многпс архитектурные н аппаразные рсш шш, И;шоолсс важными из ннх являются слсдуюп;нс, 1. Раздслш1ие кол551унн«;на!а ВС н;5 1!фа!ш5ноШие и передачи данных с целью бозше опс!5а ! н!5ного обмена управляющей ннфорла!нне;! между ее компонентами.
а! ИНТЕЛЛЕКТУАЛЬНОЕ УПРАВЛЕНИЕ ПРОЦЕССАМИ Сервер равнения верхнеи уровни 'Уровень О Ст локальных серверов уровня| ° ° ° Ло Уровень л Уровень л Вьыислительныв узлы Вычислительные узлы Вычислительные узлы Рнс, 1. Иерархическая схема управления ВС. ИЗВЕСТИЯ!'АН, ТЕОРИЯ И СИСТЕМЫ УПРАВЛЕНИЯ № 5 2007 2. Организация оптических табло, обеспечивающих одновременный доступ всем компонентам ВС к общей управляющей информации. 3. Соблюдение принципов: а) более быстрые коммуникации для более низких уровней в иерархической организации ВС, б) распределение управляющих функций по уровням таким образом, чтобы максимально их локализовать в пределах уровня и уменьшить интенсивность взаимодействий с управлением следующего уров|пи 4.
Оптимальное пространственное размещение компонентов ВС, обеспечивающее эффективное использование пространства с позиций максимизации количества компонентов на единицу объема (задача аналогичная задаче оптимального размещения элементов в чипе) и минимизация связей между ними. При этом в качестве узлов нижнего уровня, как правило, будут выступать многоядерные или БМР-системы, объединяемые далее в группы, множества групп и т.д, Подобный принцип построения ВС позволяет достаточно просто выполнять масштабирование ВС, согласовывать уровень зернистости параллелизма в программе с уров||ими иерархии ВС, легко масштабировать собсгвенно управление, распределяя соответствующим образом его функции по уровням (!). Именно этот принцип построения управления ВС приме||яется в реализурмых нами проектах создания систем параллельного программирования (3 — 5!. 3.
Критерии эффективности и функции управления ВС. При выполнении параллельной программы на ВС основным критерием эффективности является мшшмизация времени ее выполнения. Однако одно и то же время может быть достигнуто при различном использовании ресурсов ВС, определяемом количеством компьюте- ров (процессоров) н их средней загруженностью. Эти требования можно сформулировать в следующей форме: ру т 1г ~~ — >! Е (>)й — |пуп ~Т)" 0 при условии Т вЂ” пип. Здесь |.,(» — загруженность (доля полезной работы) |'-го компьютера (процессора) ВС в момент времени |, Т вЂ” время выполнения параллельной программы, АР— коли*|есгио компьютеров (процессоров) ВС.
Заметим, что ВС может работать и в друп|х режимах: режиме пакетной обработки некоторого множества программ, в многопользовательском режиме, режиме *'оп-1шен (режим разделен||я времени в изначальном понимании этого термина). Прп этом критерии эфсрективнг>стн для этих режимов различа|отея.
Для пакетной обработки основной критерий эффективности — количество программ. выполняемых в единицу времени, для ыоп-!!пел режима — количество заданий (чншросов пользователя), реализуемых в единицу времени, плюс требона ние уменьшения времени обслуживания заданий. пропорциональное их сложности. Именно циклическое поквантовое обслуживание заданий ОС служит этой цели. Режим параллсльпой работы!3С хотя и опирается в целом (на уронпс компьютера ВС) пн этп режимы, однако эффективное управление параллслы|ыми процессами, особенно н болыппх колшыотсрных системах, является более слож|юй и комплексной проблемой.
Далсе под процессом понимаем самостоятельную последовател|пк>сгь действий, пндупируемых при выполнении фрагмента параллелыюй программы, в качестве которого могут высгупать операторы, функции, блоки, модули и друп|е, в некотором смысле самостоятельные единицы про- КУТЕПОВ ИЗВ!БС!'И5! 1'АН, ТЕОРИ51 И ОИСГЕМЫ УПРД!5!1Е11И5! Л» ?5мт граммы [3 — 5!. Обычно процессы — это также работы, которые рассматриваются упрашшнием, как назначаемые на выполнение и перемещаемые ма>к>гу компьютерами ВС вычислительные акты, Сосгояние ВС в любой моме>п времени выполнения пар;!ллельной программы можно охарактеризовать множеством индуцируемых процессов 5(!), часп из которых 5>(!) активных «роцсссов выполшьется в момент 5, а другая часть 5>(!) либо находится в стадии ожидания, либо — в сг>>5>!>и псремсщеши между компьютерами ВС.
Множество 5(!) называем фронтом работ, от мощности (количссгва процессов) !5(!), которого зависит, каким образом управлешге сможет загружать компьютеры (процессоры) ВС работами. Очевцано, мощностью 5(!) определяется необходимый размер ВС п его превышение будет приводить к неэффективному ииюльзовшшю ресурсов.