объектно-ориентированный подход к спецификации модели ...
объектно-ориентированный подход к спецификации модели ...
объектно-ориентированный подход к спецификации модели ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
© 2012 г. Г.А. ОПАРИН, д-р техн. нау<strong>к</strong><br />
А.Г. ФЕОКТИСТОВ, <strong>к</strong>анд. техн. нау<strong>к</strong><br />
Э.К. ВАРТАНЯН<br />
(Институт динами<strong>к</strong>и систем и теории управления Сибирс<strong>к</strong>ого отделения<br />
Российс<strong>к</strong>ой а<strong>к</strong>адемии нау<strong>к</strong>, Ир<strong>к</strong>утс<strong>к</strong>)<br />
ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД К СПЕЦИФИКАЦИИ<br />
МОДЕЛИ ИНТЕГРИРОВАННОЙ КЛАСТЕРНОЙ СИСТЕМЫ<br />
Рассматривается <strong>подход</strong> <strong>к</strong> специфи<strong>к</strong>ации объе<strong>к</strong>тных моделей <strong>к</strong>ластерных<br />
проблемно-ориентированных распределенных вычислительных сред.<br />
Данный <strong>подход</strong> базируется на <strong>объе<strong>к</strong>тно</strong>-ориентированной <strong>модели</strong> данных.<br />
AN OBJECT-ORIENTED APPROACH TO SPECIFICATION OF A<br />
MODEL OF THE INTEGRATED CLUSTER SYSTEM / G.A. Oparin, A.G.<br />
Feoktistov, E.K. Vartanyan (Institute for System Dynamics and Control Theory of<br />
Siberian Branch of Russian Academy of Sciences, Lermontov str., 134, Post Box<br />
292 664033, Irkutsk, Russia, E-mail: e.vartanyan@mail.ru). An approach to<br />
specification of object models of cluster problem-oriented distributed computing<br />
system is considered. This approach based on an object-oriented data model.<br />
1. Введение<br />
В настоящее время важным и пра<strong>к</strong>тичес<strong>к</strong>и значимым направлением научных<br />
исследований в области высо<strong>к</strong>опроизводительных вычислений является организация<br />
проблемно-ориентированных распределенных вычислительных систем (РВС) различного<br />
назначения на основе Grid-технологий [1]. Сложность та<strong>к</strong>их систем обуславливается их<br />
динамичностью и стохастичностью, наличием большого числа объе<strong>к</strong>тов различной<br />
природы и связей между ними, распределенностью этих объе<strong>к</strong>тов и избыточностью<br />
информационно-вычислительных ресурсов. В частности, <strong>к</strong>ластерные РВС<br />
хара<strong>к</strong>теризуются следующими особенностями:<br />
в <strong>к</strong>ачестве узлов системы выступают вычислительные <strong>к</strong>ластеры;<br />
<strong>к</strong>ластеры организуются на базе <strong>к</strong>а<strong>к</strong> выделенных, та<strong>к</strong> и невыделенных<br />
вычислительных машин, и, следовательно, существенно различаются по степени<br />
надежности своих вычислительных ресурсов;<br />
на разных уровнях интеграции системы существуют различные <strong>к</strong>атегории<br />
пользователей, в их числе пользователи, нуждающиеся в высо<strong>к</strong>оуровневых<br />
средствах организации вычислительного процесса решения задачи;<br />
вычислительные <strong>к</strong>ластеры используются пользователями системы совместно с<br />
владельцами этих <strong>к</strong>ластеров;<br />
задание пользователя представляет собой специфи<strong>к</strong>ацию процесса решения задач,<br />
содержащую информацию о требуемых вычислительных ресурсах, исполняемых<br />
317
при<strong>к</strong>ладных программах, входных/выходных данных, а та<strong>к</strong>же другие необходимые<br />
сведения;<br />
множество заданий пользователей рассматривается с точ<strong>к</strong>и зрения теории очередей<br />
и представляется в виде сово<strong>к</strong>упности пото<strong>к</strong>ов заданий с приоритетами;<br />
пото<strong>к</strong> заданий хара<strong>к</strong>теризуется следующими свойствами: динамичностью,<br />
стохастичностью, неоднородностью, отсутствием обратной связи,<br />
неординарностью, стационарностью;<br />
свободных ресурсов системы недостаточно для одновременного обслуживания<br />
всех заданий, находящихся в очередях;<br />
в рам<strong>к</strong>ах системы фун<strong>к</strong>ционируют распределенные проблемно-ориентированные<br />
программные <strong>к</strong>омпле<strong>к</strong>сы, размещенные в ее узлах;<br />
в общем случае в системе имеется программно-аппаратная вычислительная<br />
избыточность (программа может быть размещена и выполнена в разных узлах<br />
системы, а одни и те же вычисления могут быть произведены с помощью<br />
различных программ);<br />
в системе нет единой полити<strong>к</strong>и администрирования вычислительных <strong>к</strong>ластеров, на<br />
<strong>к</strong>ластерах применяются различные принципы и механизмы обработ<strong>к</strong>и пото<strong>к</strong>ов<br />
заданий различных типов.<br />
Для эффе<strong>к</strong>тивного использования РВС та<strong>к</strong>ого рода требуются развитые средства<br />
описания, хранения, обработ<strong>к</strong>и и модифи<strong>к</strong>ации знаний о ее инфрастру<strong>к</strong>туре, а та<strong>к</strong>же о<br />
процессах планирования и проведения вычислений. Известные <strong>подход</strong>ы <strong>к</strong> описанию и<br />
применению моделей РВС достаточно разнообразны (см., например, [2-5]) и не решают в<br />
полной мере вышеперечисленные проблемы.<br />
В до<strong>к</strong>ладе рассматривается <strong>подход</strong> <strong>к</strong> специфи<strong>к</strong>ации объе<strong>к</strong>тных моделей <strong>к</strong>ластерных<br />
проблемно-ориентированных РВС [6]. Обсуждаются аспе<strong>к</strong>ты реализации базы знаний для<br />
э<strong>к</strong>спериментальной интегрированной <strong>к</strong>ластерной системы (ИнКС) ИДСТУ СО РАН.<br />
2. Представление знаний<br />
В <strong>к</strong>ачестве <strong>модели</strong> РВС используется <strong>объе<strong>к</strong>тно</strong>-ориентированная модель данных,<br />
обладающая рядом важных свойств, необходимых для представления знаний о РВС. В<br />
частности, данная модель: позволяет работать со сложностру<strong>к</strong>турированными данными,<br />
отражать их природу и связи между ними; <strong>модели</strong>рует многомерную стру<strong>к</strong>туру данных, с<br />
<strong>к</strong>оторой в дальнейшем приложение может работать напрямую (доступ, поис<strong>к</strong> или<br />
изменение данных), что увеличивает производительность системы по отношению <strong>к</strong><br />
реляционной <strong>модели</strong>; обладает гиб<strong>к</strong>ими средствами модифи<strong>к</strong>ации и развития;<br />
поддерживает <strong>к</strong>омпле<strong>к</strong>сирование по данным (представление объе<strong>к</strong>тов РВС в<br />
универсальном формате, позволяющем работать с ними различным предметноориентированным<br />
программным <strong>к</strong>омпле<strong>к</strong>сам). База знаний (БЗ) РВС, реализованная на<br />
основе та<strong>к</strong>ой <strong>модели</strong>, обеспечивает целостность и безопасность информации в процессе<br />
извлечения объе<strong>к</strong>тов из БЗ для совместного с другими пользователями доступа <strong>к</strong> ним и<br />
облегчает работу с <strong>объе<strong>к</strong>тно</strong>-ориентированными приложениями. Перечислим основные<br />
хара<strong>к</strong>теристи<strong>к</strong>и <strong>объе<strong>к</strong>тно</strong>й <strong>модели</strong> РВС:<br />
− основным понятием в <strong>модели</strong> является объе<strong>к</strong>т;<br />
− полная идентифи<strong>к</strong>ация объе<strong>к</strong>та (без привяз<strong>к</strong>и <strong>к</strong> <strong>к</strong>он<strong>к</strong>ретной БЗ) состоит из имени<br />
объе<strong>к</strong>та и имени его типа;<br />
− объе<strong>к</strong>т состоит из набора полей, задаваемых <strong>к</strong>лассом объе<strong>к</strong>та;<br />
− в <strong>к</strong>ачестве поля может выступать значение <strong>к</strong>а<strong>к</strong>ого-либо типа (например, стро<strong>к</strong>а,<br />
число, ссыл<strong>к</strong>а на объе<strong>к</strong>т определенного <strong>к</strong>ласса) или символ неопределенности;<br />
318
− <strong>к</strong>аждому <strong>к</strong>лассу соответствует множество его объе<strong>к</strong>тов и списо<strong>к</strong> его полей;<br />
− ссыл<strong>к</strong>и на объе<strong>к</strong>ты являются значениями специального типа, они служат для<br />
доступа <strong>к</strong> объе<strong>к</strong>там, на <strong>к</strong>оторые ссылаются;<br />
− ссыл<strong>к</strong>и создаются одновременно с созданием объе<strong>к</strong>тов, на <strong>к</strong>оторые они<br />
впоследствии ссылаются;<br />
− различаются два вида ссыло<strong>к</strong> на объе<strong>к</strong>т: простые ссыл<strong>к</strong>и, у<strong>к</strong>азывающие на один<br />
объе<strong>к</strong>т, и та<strong>к</strong> называемые множественные ссыл<strong>к</strong>и, способные у<strong>к</strong>азывать сразу на<br />
нес<strong>к</strong>оль<strong>к</strong>о объе<strong>к</strong>тов;<br />
− внешнее значение ссыл<strong>к</strong>и представляется <strong>к</strong>а<strong>к</strong> имя (или имена) у<strong>к</strong>азываемого<br />
объе<strong>к</strong>та (или объе<strong>к</strong>тов);<br />
− с помощью аппарата ссыло<strong>к</strong> реализуются следующие виды отношений между<br />
объе<strong>к</strong>тами: «один-<strong>к</strong>-одному», «многие-<strong>к</strong>-одному», «один-<strong>к</strong>о-многим» и «многие<strong>к</strong>о-многим»;<br />
− специальное поле в объе<strong>к</strong>те отводится для хранения имени объе<strong>к</strong>та;<br />
− множественные виды отношений (все из перечисленных выше, <strong>к</strong>роме «один-<strong>к</strong>одному»)<br />
строятся на основе спис<strong>к</strong>ов;<br />
− спис<strong>к</strong>и являются объе<strong>к</strong>тами специального <strong>к</strong>ласса, они служат для объединения<br />
сово<strong>к</strong>упности объе<strong>к</strong>тов и получения возможности ссыл<strong>к</strong>и <strong>к</strong>о всем этим объе<strong>к</strong>там,<br />
<strong>к</strong>а<strong>к</strong> <strong>к</strong> единому целому;<br />
− спис<strong>к</strong>и обладают специальным полем, в <strong>к</strong>отором хранится длина спис<strong>к</strong>а;<br />
− возможные изменения <strong>модели</strong> данных определяются фи<strong>к</strong>сированным набором<br />
базовых операторов;<br />
− базовые операторы могут быть объединены в составной оператор, причем один<br />
составной оператор может быть частью другого составного оператора;<br />
− типы и не<strong>к</strong>оторые <strong>к</strong>лассы являются изначально встроенными в модель данных;<br />
− смысловая нагруз<strong>к</strong>а <strong>к</strong>ласса объе<strong>к</strong>тов находит свое отражение через у<strong>к</strong>азание<br />
возможности участия объе<strong>к</strong>тов данного <strong>к</strong>ласса в <strong>к</strong>ачестве параметров<br />
определенных операторов (базовых или составных) с пояснением роли их участия<br />
(входные, выходные);<br />
− знания предметного специалиста об условиях применения объе<strong>к</strong>та того или иного<br />
<strong>к</strong>ласса в процессе вычислений представляются в виде набора проду<strong>к</strong>ций, <strong>к</strong>оторые<br />
та<strong>к</strong> же являются объе<strong>к</strong>тами определенного <strong>к</strong>ласса <strong>модели</strong>.<br />
Модель РВС в<strong>к</strong>лючает в себя следующие базовые элементы: множество базовых<br />
типов данных T , множество <strong>к</strong>лассов объе<strong>к</strong>тов <strong>модели</strong> РВС C , множество атрибутов A и<br />
множество значений атрибутов V . Класс представляет собой сово<strong>к</strong>упность объе<strong>к</strong>тов,<br />
одина<strong>к</strong>овых с точ<strong>к</strong>и зрения решения решаемой задачи. Каждый <strong>к</strong>ласс обладает набором<br />
хара<strong>к</strong>теристи<strong>к</strong>, называемых атрибутами. Тип – отличительная особенность атрибута.<br />
Данные, связанные с атрибутом и необходимые для решения задачи, являются значением<br />
этого атрибута. Э<strong>к</strong>земпляр <strong>к</strong>ласса (объе<strong>к</strong>т) – элемент не<strong>к</strong>оторого <strong>к</strong>ласса. Связи между<br />
элементами множеств T , C , A и V заданы отношениями R AT AT<br />
, R CA C A и<br />
R AV AV<br />
. Через R обозначим множество всех ограничений – стандартных условий<br />
обеспечения целостности данных, та<strong>к</strong>их <strong>к</strong>а<strong>к</strong> условия бло<strong>к</strong>иров<strong>к</strong>и дублирования и<br />
уничтожения элементов <strong>модели</strong>, а та<strong>к</strong>же ограничений, отражающих специфи<strong>к</strong>у<br />
предметной области – свойства и семанти<strong>к</strong>у ее объе<strong>к</strong>тов и взаимосвязей между ними. В<br />
их числе та<strong>к</strong>ие отношения, <strong>к</strong>а<strong>к</strong> иерархия модулей, формальные параметры модуля, тело<br />
модуля, модуль задачи, составные параметры, массивы-границы, призна<strong>к</strong>и, динамичес<strong>к</strong>ий<br />
параметр, составные операции, параметры операции, модуль операции, операция задачи,<br />
приоритет и условие проду<strong>к</strong>ции, тело проду<strong>к</strong>ции, операции процессора, параметры<br />
319
процессора, проду<strong>к</strong>ции процессора, цепоч<strong>к</strong>а операций, параметры задачи, постанов<strong>к</strong>и<br />
задач процессора, иерархия задач, параметры уравнения, уравнения для операции,<br />
уравнения для проду<strong>к</strong>ции, иерархия уравнений, варианты значений параметров и другие.<br />
3. Неформальная постанов<strong>к</strong>а задачи<br />
Для представления знаний об интегрированной <strong>к</strong>ластерной системе и их<br />
использования различными предметно-ориентированными программными <strong>к</strong>омпле<strong>к</strong>сами,<br />
возни<strong>к</strong>ает необходимость разработ<strong>к</strong>и средств специфи<strong>к</strong>ации <strong>объе<strong>к</strong>тно</strong>-ориентированной<br />
<strong>модели</strong> этой системы и представления ее в не<strong>к</strong>отором унифицированном и<br />
стандартизированном формате.<br />
4. Язы<strong>к</strong> специфи<strong>к</strong>ации <strong>модели</strong><br />
Рассматриваемый язы<strong>к</strong> специфи<strong>к</strong>ации <strong>модели</strong> – М-язы<strong>к</strong>, относится <strong>к</strong> язы<strong>к</strong>ам описания<br />
онтологий [7], основанных на вычислительных моделях (частном случае семантичес<strong>к</strong>их<br />
сетей). М-язы<strong>к</strong> состоит из набора базисных символов , из <strong>к</strong>оторых строится описание<br />
<strong>модели</strong> РВС, и множества операторов . Набор базисных символов М-язы<strong>к</strong>а в<strong>к</strong>лючает<br />
символы входного алфавита, <strong>к</strong>онстанты, имена операторов, специальные символы.<br />
Операторы специфицируют операции создания, изменения, удаления и инициализации<br />
элементов множеств C , A и V , а та<strong>к</strong>же отношений между ними. В <strong>к</strong>ачестве операндов<br />
используются элементы из объединения множеств C , A и V . Контроль выполнения<br />
операторов осуществляется путем задания множества ограничений R на области<br />
допустимых значений операндов этих операторов.<br />
Та<strong>к</strong>им образом, описание <strong>модели</strong> РВС на М-язы<strong>к</strong>е представляет собой<br />
последовательность операторов, разделенных между собой специальными символами. На<br />
рис. 1 приведен пример специфи<strong>к</strong>ации вычислительных и проду<strong>к</strong>ционных знаний. В<br />
<strong>к</strong>ачестве вычислительных знаний выступают параметры z<br />
1<br />
, z<br />
2<br />
, z<br />
3<br />
, z<br />
4<br />
, z<br />
5<br />
, z<br />
6<br />
и операции<br />
f<br />
1<br />
, f<br />
2<br />
, f<br />
3<br />
. Проду<strong>к</strong>ционные знания представлены <strong>к</strong>онстру<strong>к</strong>цией вида: IF z<br />
6<br />
THEN f<br />
1<br />
.<br />
Данная проду<strong>к</strong>ция задает правило выполнения операции f<br />
1<br />
.<br />
Рис. 1. Фрагмент описания <strong>модели</strong> РВС<br />
320
Синта<strong>к</strong>сис и семанти<strong>к</strong>а описания <strong>модели</strong> РВС на М-язы<strong>к</strong>е проверяются в процессе<br />
трансляции.<br />
5. Язы<strong>к</strong> задания ограничений целостности <strong>модели</strong><br />
Ограничения формируются разработчи<strong>к</strong>ом с помощью специального<br />
инструментального <strong>к</strong>омпонента транслятора в интера<strong>к</strong>тивном режиме. Для задания<br />
ограничений используется диалоговый Д-язы<strong>к</strong>. Данный язы<strong>к</strong> в<strong>к</strong>лючает следующие<br />
основные формы: форму задания диапазона допустимых значений атрибута; форму<br />
задания <strong>к</strong>ардинальных чисел двух множеств, хара<strong>к</strong>теризующих число элементов одного<br />
множества, связанных с элементами другого множества и наоборот; форму задания<br />
требования принадлежности элемента определенному множеству; форма задания<br />
требования на отношения двух множеств. Каждое ограничение имеет уни<strong>к</strong>альный<br />
идентифи<strong>к</strong>атор. Ограничение на значение операнда может быть сопоставлено<br />
определенному оператору <br />
. В этом случае оно будет а<strong>к</strong>тивизировано<br />
применительно толь<strong>к</strong>о <strong>к</strong> оператору . В противном случае ограничение будет<br />
распространяться на все операторы, в спис<strong>к</strong>ах операндов <strong>к</strong>оторых есть данный операнд.<br />
Выполнение оператора<br />
6. Семанти<strong>к</strong>а язы<strong>к</strong>овых средств<br />
<br />
обуславливает переход из не<strong>к</strong>оторого те<strong>к</strong>ущего<br />
AT CA AV<br />
состояния <strong>модели</strong>, определяемое стру<strong>к</strong>турой s T, C,<br />
A,<br />
V , R , R , R , в новое<br />
результирующее состояние s ' . Та<strong>к</strong>им образом, последовательность выполнения<br />
операторов задает <strong>к</strong>онечную последовательность переходов из начального состояния<br />
<strong>модели</strong> в <strong>к</strong>онечное. Динами<strong>к</strong>у изменения состояний <strong>модели</strong> можно определить в виде<br />
графа переходов G S, L,<br />
Q,<br />
S<br />
0<br />
, где S – множество состояний <strong>модели</strong>, L –<br />
множество формальных условий выполнимости операторов (условий выполнимости<br />
ограничений для <strong>к</strong>аждого из их операндов), Q S S – отношение переходов, S<br />
0<br />
–<br />
множество начальных состояний <strong>модели</strong>. Последовательность переходов считается<br />
<strong>к</strong>орре<strong>к</strong>тной, если из выбранного начального состояния s0 S<br />
0<br />
достижимо требуемое<br />
целевое состояние.<br />
7. Технология создания базы знаний<br />
В <strong>к</strong>ачестве основы базы знаний ИнКС используется <strong>объе<strong>к</strong>тно</strong>-ориентированная база<br />
данных NeoDatis [8], дополненная управляющей надстрой<strong>к</strong>ой – мультиагентной системой<br />
планирования и распределения ресурсов [9]. Хара<strong>к</strong>теристи<strong>к</strong>и базы данных NeoDatis<br />
удовлетворяют основным требованиям стандарта ODMG (Object Database Management<br />
Group) [10], и, тем самым, обеспечивают возможность ее интеграции с различными<br />
предметно-ориентированными <strong>к</strong>омпле<strong>к</strong>сами, фун<strong>к</strong>ционирующими в ИнКС.<br />
С помощью транслятора те<strong>к</strong>ст описания <strong>модели</strong> ИнКС на М-язы<strong>к</strong>е и соответствующие<br />
ограничения <strong>модели</strong> на Д-язы<strong>к</strong>е преобразуются в те<strong>к</strong>ст описания на язы<strong>к</strong>е Java, <strong>к</strong>оторый с<br />
помощью Java-<strong>к</strong>омпилятора транслируется в байт-<strong>к</strong>од. Для <strong>к</strong>омпиляции те<strong>к</strong>ста описания в<br />
байт-<strong>к</strong>од наряду со стандартной библиоте<strong>к</strong>ой <strong>к</strong>лассов JDK (Java Development Kit)<br />
используется дополнительная библиоте<strong>к</strong>а <strong>к</strong>лассов, обеспечивающая работу с базой<br />
данных NeoDatis. При выполнении байт-<strong>к</strong>ода Java-интерпретатором создается база<br />
данных, <strong>к</strong>оторая вместе с подсистемой логичес<strong>к</strong>ого вывода мультиагентной системы<br />
321
формирует базу знаний ИнКС. Схематично технология создания базы знаний ИнКС<br />
представлена на рис. 2.<br />
8. Примеры решаемых задач<br />
В <strong>к</strong>ачестве примеров применения представленных в до<strong>к</strong>ладе результатов ниже<br />
рассматривается ряд пра<strong>к</strong>тичес<strong>к</strong>и важных задач.<br />
Компле<strong>к</strong>сное <strong>модели</strong>рование интегрированной <strong>к</strong>ластерной системы.<br />
Автоматизированный процесс <strong>к</strong>омпле<strong>к</strong>сного <strong>модели</strong>рования интегрированной <strong>к</strong>ластерной<br />
системы и использования его результатов в<strong>к</strong>лючает следующие основные этапы:<br />
построение агрегированной <strong>к</strong>онцептуальной <strong>модели</strong> <strong>к</strong>ластерной системы; создание на ее<br />
основе имитационной <strong>модели</strong> интегрированной <strong>к</strong>ластерной системы; проведение<br />
многовариантных имитационных э<strong>к</strong>спериментов в распределенной вычислительной<br />
среде; обобщение и анализ результатов имитационного <strong>модели</strong>рования; провер<strong>к</strong>у<br />
результатов имитационного <strong>модели</strong>рования путем проведения полунатурных испытаний<br />
интегрированной <strong>к</strong>ластерной системы; настрой<strong>к</strong>у <strong>к</strong>онфигурационных параметров систем<br />
управления распределенными вычислениями (в том числе и интелле<strong>к</strong>туальных агентов) в<br />
интегрированной <strong>к</strong>ластерной системе, с целью повышения по<strong>к</strong>азателей надежности этой<br />
системы. Использование результатов испытаний и оцен<strong>к</strong>и надежности интегрированной<br />
<strong>к</strong>ластерной системы в процессе управления распределенными вычислениями [9, 11, 12],<br />
позволяет существенно уменьшить та<strong>к</strong>ие по<strong>к</strong>азатели ее фун<strong>к</strong>ционирования, <strong>к</strong>а<strong>к</strong> число<br />
незавершенных (из-за сбоя ВУ) заданий, число рестартов программ, общее время<br />
выполнения набора взаимосвязанных заданий, а та<strong>к</strong>же повысить <strong>к</strong>оэффициент полезной<br />
загруз<strong>к</strong>и ресурсов системы<br />
Рис. 2. Схема создания базы знаний ИнКС<br />
Классифи<strong>к</strong>ация заданий. Суть <strong>к</strong>лассифи<strong>к</strong>ации заданий за<strong>к</strong>лючается в их разбиении на<br />
<strong>к</strong>лассы в зависимости от вычислительных хара<strong>к</strong>теристи<strong>к</strong> этих заданий. С <strong>к</strong>аждым<br />
<strong>к</strong>лассом заданий связываются вычислительные ресурсы интегрированной <strong>к</strong>ластерной<br />
системы, наиболее <strong>подход</strong>ящие для выполнения заданий данного <strong>к</strong>ласса. Применение<br />
<strong>к</strong>лассифи<strong>к</strong>атора заданий в процессе распределения заданий совместно с<br />
322
метапланировщи<strong>к</strong>ом заданий интегрированной <strong>к</strong>ластерной системы ИДСТУ СО РАН<br />
позволило повысить <strong>к</strong>оэффициент полезного использования узлов системы<br />
приблизительно на 4-4,5 %. Использование <strong>к</strong>лассифи<strong>к</strong>атора заданий в процессе<br />
распределения многовариантных заданий в ряде случаев обеспечило та<strong>к</strong> же уменьшение<br />
время их выполнения.<br />
Компле<strong>к</strong>сирование па<strong>к</strong>етов при<strong>к</strong>ладных программ. Компле<strong>к</strong>сирование по данным<br />
обеспечивает возможность использования в процессе создания нового па<strong>к</strong>ета фрагментов<br />
описания предметных областей, фун<strong>к</strong>циональных программных модулей, исходных<br />
данных и результатов вычислений, имеющихся в других па<strong>к</strong>етах. Компле<strong>к</strong>сирование<br />
осуществляется по данным, относящимся <strong>к</strong> объе<strong>к</strong>там, созданным на базе ядра <strong>модели</strong>. В<br />
<strong>к</strong>ачестве примера модно привести <strong>к</strong>омпле<strong>к</strong>сирование двух па<strong>к</strong>етов для <strong>модели</strong>рования<br />
торгово-с<strong>к</strong>ладс<strong>к</strong>их <strong>к</strong>омпле<strong>к</strong>сов [13]: па<strong>к</strong>ета прогнозирования процесса сдачи с<strong>к</strong>ладс<strong>к</strong>их<br />
объе<strong>к</strong>тов в аренду R-SIM (Rent-SIMulation) и па<strong>к</strong>ета анализа фондоем<strong>к</strong>ости торговос<strong>к</strong>ладс<strong>к</strong>их<br />
услуг Warehous Modelling Package (WMP).<br />
9. За<strong>к</strong>лючение<br />
В целом в работе представлены результаты исследований, базирующихся на<br />
на<strong>к</strong>опленных в ИДСТУ СО РАН знаний в области создания и применения<br />
вычислительных моделей для решения фундаментальных и при<strong>к</strong>ладных задач. В рам<strong>к</strong>ах<br />
рассмотренного в до<strong>к</strong>ладе <strong>подход</strong>а обеспечивается возможность <strong>к</strong>онструировать<br />
предметно-ориентированные <strong>модели</strong> вычислений для интегрированных <strong>к</strong>ластерных<br />
систем, обеспечивать от<strong>к</strong>рытый, унифицированный доступ <strong>к</strong> этим моделям из различных<br />
приложений, осуществлять интеграцию разрабатываемых инструментальных средств и<br />
создаваемых с их помощью предметно-ориентированных программных <strong>к</strong>омпле<strong>к</strong>сов на<br />
основе единой <strong>модели</strong> вычислений. Та<strong>к</strong>ие <strong>модели</strong> обеспечивают детализированное<br />
описание инфрастру<strong>к</strong>туры разнородных распределенных вычислительных сред, его<br />
расширение и модифи<strong>к</strong>ацию. Тем самым, предоставляется возможность эффе<strong>к</strong>тивного<br />
использования ресурсов этих сред в процессе решения сложных научных и при<strong>к</strong>ладных<br />
задач.<br />
СПИСОК ЛИТЕРАТУРЫ<br />
1. Baker M., Buyya R., Laforenza D. Grids and Grid Technologies for Wide-Area Distributed<br />
Computing // Software: Practice and Experience. – 2002. – V. 32. – № 15. – P. 1437-1466.<br />
2. Chapin S.J., Cirne W., Feitelson D.G. and al. Benchmarks and Standards for the Evaluation<br />
of Parallel Job Schedulers // Job Scheduling Strategies for Parallel Processing. Springer-<br />
Verlag, Lect. Notes Comput. Sci. 1999. V. 1659. P. 66-89.<br />
3. Топор<strong>к</strong>ов В.В. Модели распределенных вычислений. – М.: Физматлит, 2004. – 320 с.<br />
4. Самоваров О.И., Кузюрин Н.Н., Грушин Д.А., Аветисян А.И., Михайлов Г.М., Рогов<br />
Ю.П. Проблемы <strong>модели</strong>рования GRID-систем и их реализации // Научный сервис в<br />
сети Интернет: решение больших задач: Тр. Всерос. науч. <strong>к</strong>онф. – М.: Изд-во МГУ,<br />
2008. – С. 83-88.<br />
5. Vidyarthi D.P., Sarker B.K., Tripathi A.K., Yang L.T. Scheduling in Distributed Computing<br />
Systems: Analysis, Design and Models. Springer Science+Business Media, 2009. – 295 p.<br />
6. Опарин Г.А., Фео<strong>к</strong>тистов А.Г. Модели и инструментальные средства организации<br />
распределенных вычислений // Параллельные вычисления и задачи управления: Тр. IV<br />
Междунар. <strong>к</strong>онф. – М.: Изд-во ИПУ РАН, 2008. – C. 1126-1135.<br />
7. Лапшин В.А. Онтологии в <strong>к</strong>омпьютерных системах. – М.: Научный мир 2010. – 224 с.<br />
323
8. NeoDatis [Эле<strong>к</strong>тронный ресурс] // NeoDatis – сайт. – URL: http://neodatis.wikidot.com.<br />
(Дата обращения: 14.09.2012).<br />
9. Быч<strong>к</strong>ов И.В., Опарин Г.А., Фео<strong>к</strong>тистов А.Г., Корсу<strong>к</strong>ов А.С. Децентрализованное<br />
управление пото<strong>к</strong>ами заданий в интегрированной <strong>к</strong>ластерной системе // Вестни<strong>к</strong> НГУ.<br />
Серия: Информационные технологии. – 2011. – Т. 9. – Вып. 2. – С. 42-54.<br />
10. Джордан Д. Обработ<strong>к</strong>а объе<strong>к</strong>тных баз данных в С++. Программирование по стандарту<br />
ODMG. – М.: Вильямс. – 2001. – 384 с.<br />
11. Быч<strong>к</strong>ов И.В., Корсу<strong>к</strong>ов А.С., Опарин Г.А., Фео<strong>к</strong>тистов А.Г. Инструментальный<br />
<strong>к</strong>омпле<strong>к</strong>с для организации гетерогенных распределенных вычислительных сред //<br />
Информационные технологии и вычислительные системы. 2010. № 1. С. 45-54.<br />
12. Корсу<strong>к</strong>ов А.С. Инструментальные средства полунатурного <strong>модели</strong>рования<br />
распределенных вычислительных систем // Современные технологии. Системный<br />
анализ. Моделирование. 2011. № 3 (31). С. 105-110.<br />
13. Башарина О.Ю., Горс<strong>к</strong>ий С.А. Па<strong>к</strong>ет <strong>модели</strong>рования с<strong>к</strong>ладс<strong>к</strong>ой логисти<strong>к</strong>и: разработ<strong>к</strong>а<br />
и <strong>к</strong>омпле<strong>к</strong>сирование в Orlando Tools // Программные проду<strong>к</strong>ты и системы. – 2012. – №<br />
1. – С. 89-91.<br />
324