УДК 004.942:622.7
А.С. Неведров, А.Г. Олейник
ФОРМАЛЬНОЕ ПРЕДСТАВЛЕНИЕ ЗАДАЧИ ИНТЕГРАЦИ И ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ ОПРЕДЕЛЕНИЯ ЭФФЕКТИВНЫХ РЕЖИМОВ ОБОГАЩЕНИЯ МИНЕРАЛЬНЫХ РУД
Аннотация
Дана оценка возможности интеграции разнородных инструментальных средств для решения задач определения эффективных режимов обогащения минеральных руд. Предложен вариант формального описания задачи формирования спецификации среды моделирования в виде цепочки последовательно вызываемых инструментальных средств.
Ключевые слова:
обогащение руд, моделирование, формализация спецификации.
A.S. Nevedrov, A.G. Oleynik
THE TASK FORMAL REPRESENTATION OF TOOLKITS INTEGRATION FOR ORE CONCENTRATION EFFECTIVE REGIMES SEARCHING
Abstract
The estimation of heterogeneous toolkits integration possibility for tasks of ore concentration effective regime searching is given. Variant of formal description of simulation environment specification forming as a toolkits sequence is described.
Keywords:
ore-dressing, simulation, formal specification.
Введение
На сегодняшний день существует большое количество инструментальных средств, решающих задачи определения эффективных режимов обогащения минеральных ископаемых (например, моделирование гидродинамических течений в обогатительных аппаратах [1]). Такие задачи можно разбить на несколько последовательных подзадач (этапы решения): создание геометрии рабочего пространства; наложение сетки; задание параметров и начальных условий; вычисление целевых характеристик исследуемого разделительного процесса; вывод результатов в удобной для интерпретации форме. Большинство коммерческих продуктов (ANSYS FLUENT, STAR-CD и COMSOL Multiphysics) позволяет решить все подзадачи. Но данные продукты обладают достаточно высокой ценой, что является сдерживающим фактором в случаях, когда их применение требуется периодически. Свободно распространяемые продукты (OpenFOAM, FEATFLOW), в основном, обеспечивают реализацию только отдельных этапов решения задачи. Но с учетом того, что таких бесплатных программ существует достаточное количество, задачу можно решить набором программ, и не использовать платные разработки. В итоге, для решения некоторой составной (сложной) задачи, потребуется комплекс инструментальных средств, обеспечивающих согласованное решение отдельных подзадач целевой задачи (идея модульного подхода, описанная в работе [2]).
Вероятность того, что у одного исследователя найдутся все необходимые инструментальные средства, невелика. Выход из этой ситуации заключается в интеграции необходимых средств, находящихся на различных узлах сети, в единую систему, воспользовавшись концепцией GRID. Такая GRID-система позволяет предоставить для исследователя набор инструментов для решения задачи, а также сопутствующие ресурсы: долговременную и оперативную память, среду, в которой можно проводить распределенные вычисления сложных задач. Дополнительно, так как при решении задачи может потребоваться распараллеливание вычислений, такая grid-система также может это обеспечить, запустив расчет на нескольких узлах в сети.
Оценка возможности взаимодействия инструментальных средств
Упрощенно, без учета параллельных участков, цепочку применяемых инструментов для решения некоторой декомпозируемой задачи P представить в виде:
Rt —> R2 —> R3 —> R4 —> R5, где Rj - инструментальное средство.
Для осуществления интеграции гетерогенных инструментальных средств и последующего формирования вышеуказанных цепочек необходимо, чтобы выполнялись следующие условия:
• наличие интерфейса для вызова процедур;
• наличие механизма взаимодействия.
При наличии в декомпозиции задачи P подзадач, которые могут (или -должны) выполняться параллельно, также необходимы механизмы синхронизации работы соответствующих инструментальных средств.
Многие свободно распространяемые программные продукты являются консольными программами и предоставляют набор модулей и библиотек. Так OpenFOAM включает в себя библиотеку методов, реализованную на языке C++, а также поддерживает распараллеливание вычислений в кластерных и многопроцессорных системах, используя стандарт MPI (Message Passing Interface) [3]. MPI является наиболее распространённым стандартом интерфейса обмена данными в параллельном программировании [4]. Существуют его реализации для большого числа компьютерных платформ. Основным средством коммуникации между процессами в MPI является передача сообщений. Пакет STAR-HPC (High Performance Computing) [5], входящий в комплекс STAR-CD, предназначен для осуществления решения подготовленных в препроцессоре задач на многопроцессорных вычислительных системах. Распределение задачи оценки параметров разделения по аппаратным ресурсам происходит следующим образом: расчетная геометрическая область (сетка) равномерно разбивается на количество частей, равное заказанному количеству процессоров. После этого, для каждой части генерируется исполняемый код, который выполняется соответствующими процессорами и/или узлами.
При разработке интегрированных комплексов программ приходится объединять коды различных прикладных программ, которые зачастую разработаны независимо, имеют свои требования к вычислительным ресурсам, используют разные коммуникационные парадигмы. В этом случае для организации взаимодействия существует несколько технологий: RMI, DCOM и CORBA. Обзор и сравнительный анализ этих технологий представлен в [6].
Наиболее подходящей для рассматриваемой предметной области является технология CORBA (Common Object Request Broker Architecture), позволяющая с помощью языка IDL (Interface Definition Language) описать интерфейс доступа. Спецификация CORBA предписывает объединение программного кода в объект, который должен содержать информацию о функциональности кода и интерфейсах доступа. Готовые объекты могут вызываться из других программ (или объектов спецификации CORBA), расположенных в сети.
Проблему несоответствия форматов входных и выходных данных у инструментальных средств можно решить путем внедрения конвертеров данных
- дополнительных инструментов, преобразующих данные в формат, пригодный для передачи следующему инструменту. Конвертерам также необходимо использовать механизм взаимодействия CORBA.
Таким образом, применение технологий MPI и CORBA дает возможность формирования цепочки из набора «решателей» подзадач и конвертеров данных для решения декомпозируемой задачи определения эффективных режимов обогащения руд.
Вариант формального описания спецификации задачи и ресурса-инструмента
Для того чтобы grid-система могла производить декомпозицию задачи определения эффективных режимов обогащения минеральных ископаемых, а затем формировать последовательно-параллельную цепочку из подходящих инструментов, необходимо задать формальное описание для этой задачи.
Формальное описание задачи P может быть представлено следующим образом:
P = { ApP, OreP, GenP }, где ApP - параметры и данные, связанные с сепарационным аппаратом (геометрическая модель, условие на границе);
OreP - параметры и данные, связанные с минеральным сырьем (характеристики руд, начальные условия);
GenP - общие параметры (модель процесса, рекомендуемые методы, параметры сетки, критерии оптимальности).
В группе ApP содержатся данные о сепарационном аппарате: модель аппарата, силы, которые используются для разделения, и технологические ресурсы, необходимые для работы аппарата - электроэнергия, вода, реагенты и т.п.
В группу OreP включаются данные о минеральном и фракционном составе объектов обработки и различных физических и физико-химических свойствах минеральных частиц, которые могут быть использованы при обогащении.
К группе GenP относятся общие параметры для такого класса задач. Сюда могут входить тип обогатительного процесса, рекомендуемые методы (инструменты) для решения, а также критерии эффективности - показатели, которые определяют эффективность процесса разделения. Примерами «стандартных» критериев качества процессов сепарации могут являться содержание ценного компонента или выход концентрата при заданном качестве и содержании ценного компонента в исходном сырье. В настоящее время
особую важность имеет экономический критерий эффективности - минимальная стоимость производства концентрата, получаемого из данного сырья при обеспечении заданных ограничений по качеству.
Также требуется формально описать ресурсы информационной системы -инструментальные средства. Инструмент R можно представить следующим образом:
R = { М, OutP, GenP }, где М - входные параметры;
OutP - выходные параметры;
GenP - общие параметры (реализуемый метод, доступность, возможность распараллеливания).
Группы входных и выходных параметров имеют свой количественный состав и описание формата самих параметров. В группу GenP характеристик инструмента входят такие параметры, как доступность (платный/бесплатный продукт), возможность параллельного вычисления. Анализируя эти группы, будет происходить формирование цепочек инструментов.
Дополнительно опишем конвертеры данных, которые также присутствуют в системе. Они характеризуются форматом данных на входе и на выходе:
C = { Щ1, OutF }, где InF - формат и количественный состав данных на входе;
OutF - формат и количественный состав данных на выходе.
Механизм подбора инструментальных средств
Задать спецификацию задачи для построения цепочки можно с помощью некоторой экспертной системы, которая позволит указать различные параметры для расчетов. По этим параметрам будут подобраны инструменты для решения задачи. Описания инструментов создаются при их добавлении в grid-систему и хранятся в базе спецификаций инструментальных средств. Механизм подбора инструмента по спецификации задачи заключается в следующем:
• поиск инструментов, реализующих метод, который указан в спецификации задачи как рекомендуемый для решения (обозначим Ягсс).
• поиск инструментов, для которых в спецификации задачи определено большее количество данных, используемых как входные параметры (обозначим КзеГ).
Формально это можно записать следующим образом:
Rrec: GenP(P).Method = GenP(Rrec).Method,
где GenP(P).Method - параметр “рекомендуемый метод” в группе ОепР спецификации задачи Р;
GenP(R).Method - параметр “реализуемый метод” в группе ОепР описания инструмента Я гее.
Лее!: 1пР(Ы8е1) и СепР(Ы8е1) с АрР(Р) и ОгеР(Р) и Сеп(Р).
В случаях, когда в спецификации задачи определены не все параметры для подобранного инструмента или по заданным условиям нельзя определить «лучший» варианта решателя, то система запросит уточнения данных.
Для дальнейшего формирования цепочки потребуется анализ выходных параметров инструмента. Рассмотрим фрагмент цепочки:
> Ы, —> Ь^+ь
где Ri - уже включенный в цепочку инструмент,
^+1 - инструмент, который является «кандидатом» на включение.
Для включения 1^+1 в цепочку необходимо, чтобы выполнялось условие: 1пР(Ы1+1) и СепР(Я|+|) = СЫР^) и СепР(^)
В ситуации, когда инструмент Ri порождает данных больше, чем необходимо для запуска инструмента
1пР(К1+1) и СепР(Я|+|) с СЫР^) и СепР(^)
возникает задача определения соответствия между выходными данными применяемых инструментов для решения подзадачи и выходными данными самой подзадачи. В таком случае имеет место не прямая, а обратная задача построения цепочки: определение набора исходных данных подзадачи и инструментов, необходимых для достижения результирующего набора данных. Другими словами, проверяется необходимость включения дополнительного инструмента, принимающего на вход избыточные данные и выполняющегося параллельно ^+^
Если такой инструмент необходим, то условие выглядит следующим образом:
Ын-1д : IпР() и СепР(Я|+,) и IпР(,) и СепР(Ыц.1;1) = Ои1Р(Я|) и СепР^)
Цепочка принимает вид:
Ri+l,l
В случае, когда исполнитель Ri не обеспечивает получение всех входных данных для инструмента Ь^+ь :
Ои1Р(К0 и СепР(^) С 1пР(Я|+|) и СепР(Я|+|) в цепочку инструментов необходимо включить дополнительные средства, обеспечивающие порождение недостающих для реализации ^+1 данных. Соответствующие инструменты Ri,1 должны работать параллельно с Ri и обеспечить выполнение следующего условия:
К1;1: IпР() и СепР(Я|+,) = Ои1Р(Я|) и СепР(Я|) и 1пР(Ым) и СепР(Км).
В этом случае рассматриваемый фрагмент цепочки инструментов трансформируется к виду:
Ri,l Ri+l .
Кроме количественного состава данных необходимо также учитывать и совместимость инструментов по форматам данных и, в случае необходимости, включать конвертеры в цепочку между инструментами. Предположим, что уже сформирована цепочка вида:
Л; —> Ы)+1
Тогда конвертер потребуется в случае, если Format(OutP(Ri)) Ф Format(InP(Ri+1)), где
Format(OutP(Ri)) - формат выходных данных инструмента К
Format(InP(Ri+1)) - формат входных данных инструмента К1+1.
Необходимый конвертер должен удовлетворять следующему
условию:
: InF(Ci,i+1) = Format(OutP(Ri)) и OutF(Ci,i+1) = Format(InP(Ri+1))
В итоге цепочка принимает вид:
~^ Су+1 —> ^+1
В случаях параллельных участков в цепочке каждый из параллельных переходов между инструментами рассматривается отдельно. Вопросы синхронизации параллельных звеньев могут решаться по-разному в зависимости от конкретной ситуации. В простейшем случае можно ограничиться только синхронизацией по потоку данных, без учета времени выполнения задачи, и использовать для определения последовательности применения выбранных инструментов алгоритмы, аналогичные алгоритмам анализа формальной разрешимости концептуальной модели [7] и алгоритмам синтеза спецификаций исполнительной среды на основе концептуальных описаний [8]. Но, при необходимости сокращения машинного времени, затрачиваемого на решение задачи, необходимо учитывать конкретные временные характеристики использования каждого инструмента, а также дополнительные задержки, связанные как с передачей данных между инструментами, так и с доступностью исполнителей.
Заключение
Несмотря на то, что формирование распределенной системы решения задач определения эффективных режимов разделения минеральных компонентов, на основе использования свободного распространяемого программного обеспечения требует дополнительных «накладных расходов», связанных с созданием и применением специализированных средств поиска необходимых инструментов и организации их согласованной работы. Такой подход, в ряде случаев, будет более рациональным, чем использование интегрированных коммерческих продуктов. Говорить о перспективности этого подхода позволяет как развитие технологий распределенных вычислений, так и постоянное пополнение глобального информационного пространства свободно распространяемыми программными продуктами. Основными преимуществами этого подхода является более высокая, по сравнению с интегрированными решениями, адаптивность и априорная ориентация на параллельное использование доступных вычислительных ресурсов.
Представленный в данной статье вариант формального описания основных элементов распределенной системы, является основой для разработки алгоритмов и процедур автоматизированного формирования исполнительной среды, обеспечивающей реализацию всех этапов решения задач определения эффективных режимов разделения минеральных компонентов.
Литература
1. Бирюков, В.В. Применение системы Femlab для моделирования гидродинамики течений в обогатительных аппаратах / В.В. Бирюков, А.Г. Олейник // Информационные ресурсы России. - 2007. - № 3 (97). - С.30-32.
2. Кузьмин, И.А. Распределенная обработка информации в научных исследованиях / И.А. Кузьмин, В.А. Путилов, В.В. Фильчаков - Л. : Наука, 1991. - 304 с.
3. OpenFOAM® - The Open Source Computational Fluid Dynamics (CFD) Toolbox.
- Режим доступа: http://www.openfoam.com/
4. Message Passing Interface (MPI) Forum Home Page. - Режим доступа: http://www .mpi -forum.org/
5. Анализ производительности 64- и 32-разрядных многопроцессорных вычислительных систем в программном комплексе вычислительной гидрогазодинамики STAR-CD.
- Режим доступа: http: //www .ixbt .com/cpu/star-cd-test .shtml
6. DCOM and CORBA Side by Side, Step By Step, and Layer by Layer.
-Режим доступа: http://research.microsoft.com/en-us/um/people/ymwang/papers/html/dcomncorba/ s.html
7. Емельянов, С.В. Информационные технологии регионального управления / С.В. Емельянов и др. - М.: Едиториал УРСС, 2004. - 400 с.
8. Олейник, А.Г. Синтез спецификаций исполнительной среды вычислительного эксперимента на основе концептуальной модели предметной области /А.Г. Олейник // Информационные технологии в региональном развитии: сб. науч. тр. - Апатиты, 2004. - Вып. IV. - С.12-16.
Сведения об авторах
Неведров Алексей Сергеевич
аспирант. Учреждение Российской академии наук Институт информатики и математического моделирования технологических процессов Кольского научного центра РАН.
Россия, 184209, г. Апатиты, Мурманской обл., ул. Ферсмана, д. 24A. е-mail: nevedrov@arcticsu.ru
Alexey S. Nevedrov
post-graduate. Institution of Russian Academy of Sciences, Institute for Informatics and Mathematical Modeling of Technological Processes, Kola Science Center оf RAS.
Russia, 184209, Apatity Murmansk region, Fersman St. 24A.
Олейник Андрей Григорьевич
д.т.н., зам. директора. Учреждение Российской академии наук Институт информатики и математического моделирования технологических процессов Кольского научного центра РАН, Россия, 184209, г. Апатиты Мурманской обл., ул. Ферсмана, д. 24А, е-mail: oleynik@iimm.kolasc.net.ru
Andrey G. Oleynik
Dr. of Sci. (Tech.), Deputy director. Institution of Russian Academy of Sciences, Institute for Informatics and Mathematical Modeling of Technological Processes, Kola Science Center оf RAS.
Russia, 184209, Apatity Murmansk region, Fersman St. 24A.