Разработка алгоритмов трассировки технологических соединений с использованием многопроцессорной техники

УДК 681.3.068

РАЗРАБОТКА АЛГОРИТМОВ ТРАССИРОВКИ ТЕХНОЛОГИЧЕСКИХ СОЕДИНЕНИЙ С ИСПОЛЬЗОВАНИЕМ МНОГОПРОЦЕССОРНОЙ ТЕХНИКИ

С.Я. Егоров1, И.С. Фурсов1, С.Ю. Бойков2 ,

П.В. Плехов3, С.В. Абрамов1

Кафедры: «Автоматизированное проектирование технологического оборудования», ФГБОУ ВПО «ТГТУ»

Представлена членом редколлегии профессором Н.Ц. Гатаповой

Ключевые слова и фразы: алгоритмы трассировки; математические модели; параллельные вычисления; технологические трубопроводы; трассировка.

Аннотация: Рассмотрен алгоритм с параллельными вычислениями для решения задачи трассировки химико-технологических систем.

Задача трассировки технологических трубопроводов - заключительный и трудоемкий этап проектирования химико-технологических систем (ХТС). На сегодняшний день получить решения этой задачи методом перебора не представляется возможным.

Для решения задачи трассировки научным сообществом было предложено множество различных подходов, алгоритмов, моделей. Эти подходы, модели, алгоритмы отличаются следующими характеристиками: точностью выполнения трассировки, скоростью работы алгоритма, количеством учитываемых ограничений и требований по проектированию трубопроводов. В данных алгоритмах четко прослеживается следующая тенденция: чем точнее алгоритм выполняет трассировку и чем больше правил он учитывает, тем медленнее его работа, и наоборот чем быстрее работает алгоритм, тем менее точные решения он получает. В данной работе предложен метод ускорения работы алгоритмов трассировки с использованием параллельных вычислений.

Критерий оптимальности задачи трассировки технологических трубопроводов имеет следующий вид [1]

IRAS* = arg min{/

где D - множество вариантов трассировки технологических коммуникаций; Н -

L

множество допустимых вариантов проектных решений; I = ^QSl ,ф+ S2jKj) -

_____j =l ____

критерий; TRAS = {TRAS j TRAS j = {(Xjn, Yin, Z jn ), n = 0, Kj }, j = 1, l} - вариант трассировки.

Математическая модель проектного решения задачи оптимальной трассировки трубопроводов ХТС включает следующие основные ограничения [2]: трубопроводы должны принадлежать пространству цеха, прокладка трубопроводов осуществляется в ортогональной метрике; в точках излома два соседних прямолинейных фрагмента трассы образуют прямой угол; скорость потока в трубопроводе должна быть в пределах рекомендуемых границ; ограничение на длину трубопровода, например, для трубопроводов, по которым транспортируются вязкие вещества или вещества, транспорт которых затруднен из-за их физикохимических свойств; исключение застойных зон для жидкостей; трубопроводы с горячими потоками должны отстоять от трубопроводов с холодными потоками на расстоянии не менее допустимого; на непересечении трасс друг с другом и со строительными конструкциями, аппаратами; по условиям производства должны быть предусмотрены зоны, запретные для прокладки трубопроводов.

Исходя из всего изложенного, сформулируем задачу трассировки технологических трубопроводов следующим образом: определить координаты

(Xjn,yjn,Zjn), n = 0,1,..., kj трасс трубопроводов j = 1,L, так чтобы выполнялись все вышеописанные условия математической модели и критерий (1) достигал минимума.

Решение поставленной задачи осуществим с использованием наиболее точного и в то же время наиболее трудоемкого волнового алгоритма трассировки ХТС. Рассмотрим этапы данного алгоритма на возможность применения в них параллельных вычислений (табл. 1).

На этапе анализа области трассировки матрица К(т, п, а) делится на равное подмножество строк методом ленточного разбиения [3]. Количество строк матрицы, обрабатываемое одним процессором: Nct = m - a/Npr.

Каждый процессор получает на обработку подмножество строк, определенное следующими выражениями:

Nct - 1 = (q - 1)Nct;

Nct + 1 = qNct.

Таблица 1

Анализ этапов волнового алгоритма на возможность применения параллельных вычислений

№ этапа Название этапа Возможность применения параллельных вычислений

1 Анализ области трассировки Возможно

2 Распространение волны

3 Выбор оптимального пути Затруднительно из-за необходимости полного перебора всех данных, необходимых для выбора пути

После завершения работы всех процессоров на данном этапе передаются данные в матрицу K (т, п, а).

Для распараллеливания этапа распространения волны используется парадигма параллельного программирования мастер-исполнитель (master-worker) [4]. Выделяется так называемый мастер-процессор Хо, который будет управлять равномерным распределением данных по остальным процессорам Хп, называемым рабочими. Начиная от точки начала распространения волны St, мастер-процессор передает каждому рабочему процессору на обработку одну из ячеек, значение элемента матрицы которой соответствует рассматриваемому в данный момент фронту волны. После того как рабочий процессор выполнит работу над своими данными, он посылает сигнал мастер-процессору, в котором передает полученные результаты, а также сообщение, что он освободился, в свою очередь мастер-процессор передает данному подчиненному процессору на обработку следующую ячейку, значение элемента матрицы которой соответствует или рассматриваемому или следующему фронту волны. Эти действия проделываются до тех пор, пока какой-либо фронт не дойдет до конечной точки трассы.

Каждый рабочий процессор проделывает следующие операции над переданными ему на обработку данными: если определяется, что переданная ячейка свободна для трассировки, то элементу матрицы, соответствующему этой ячейке присваивается значение, равное номеру текущего фронта волны: К(т, п, а) = Ыволн. Далее рабочий процессор просматривает шесть соседствующих с рассматриваемой ячейкой областей (каждая граничит с какой-либо гранью рассматриваемой ячейки). Если среди этих ячеек есть свободные для трассировки, то рабочий процессор присваивает элементам матрицы, соответствующим этим ячейкам, номер следующего фронта волны. Таким образом, каждый рабочий процессор формирует определенную часть следующего фронта волны, данные о котором передаются на мастер-процессор и тот в свою очередь передает определенные части этого фронта на обработку свободным рабочим процессорам.

На рисунке изображен результат выполнения тестовой задачи по трассировке трубопроводов ХТС.

Результаты вычислительного эксперимента приведены в табл. 2. Испытания проводились на процессоре Intel Core i7-930i с использованием 1-4 процессоров.

Таким образом, благодаря использованию параллельных вычислений получаем существенное ускорение работы алгоритма, и при этом сохраняем оптимальность получаемых при помощи данного алгоритма решений.

Конечный результат трассировки трубопроводов ХТС

Результаты вычислительного эксперимента

Количество ячеек, N4 Последний алгоритм, t, с Параллельный алгоритм

2 процессора 3 процессора 4 процессора

время ускорение время ускорение время ускорение

1000 120,44 64,0700 1,8798 53,88814 2,235 49,99792 2,4089

2000 240,12 127,4319 1,8843 87,89165 2,732 71,91805 3,3388

3000 360,56 215,3883 1,6740 146,86760 2,455 113,46210 3,1778

4000 480,23 295,2899 1,6263 195,53340 2,456 146,24220 3,2838

5000 600,44 313,4475 1,9156 220,91240 2,718 171,58860 3,4993

Заключение. Рассмотренный волновой алгоритм с параллельными вычислениями включен в информационную систему автоматизированной трассировки технологических трубопроводов [5], которая разработана в ФГБОУ ВПО «Тамбовский государственный технический университет» и используется в учебном процессе при выполнении лабораторных работ, курсовых и дипломных проектов, а также полезна при проектировании трубопроводов технологических систем.

Работа выполнена в рамках государственного контракта № 14.В37.21.0234 Федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы.

Список литературы

1. Автоматизированная информационная система поддержки проектных решений по компоновке промышленных объектов. Часть 1. Аналитические и процедурные модели / С.Я. Егоров [и др.] // Информ. технологии в проектировании и пр-ве. - 2009. - № 4. - С. 3-11.

2. Шаронин, К.А. Информационно-логическая модель трассировки технологических трубопроводов / К. А. Шаронин, И. С. Фурсов, К.В. Немтинов // Вестн. Тамб. Гос. Техн. ун-та. - 2010. - Т. 16, № 4. - С. 826-830.

3. Гергель, В.П. Теория и практика параллельных вычислений. Этапы разработки параллельных алгоритмов [Электронный ресурс] / В.П. Гергель. - Режим доступа : http://www.intuit.rU/department/calculate/paralltp/4/2.html. - Загл. с экрана.

4. Борисенко, А.Б. Применение параллельных вычислений для расчета аппаратурного оформления химико-технологических систем / А.Б. Борисенко, Д.В. Кутузов, А.В. Осовский // Вестн. Тамб. гос. техн. ун-та. - 2011. - Т 17, № 2. -С. 493-494.

5. Автоматизированная информационная система поддержки проектных решений по компоновке промышленных объектов. Часть 2. Структура и функционирование системы / С.Я. Егоров [и др.] // Информ. технологии в проектировании и пр-ве. - 2010. - № 1. - С. 33-39.

Development of Tracing Algorithm of Process Connections Using Multiprocessor Technology

S.Ya. Egorov1, I.S. Fursov1, S.Yu. Boykov2, P.V. Plekhov3, S.V. Abramov1

Departments: “Computer-AidedDesign of Process Equipment”, TSTU (1); egorov@mail.gaps.tstu.ru;

“Information Systems and Technology”, Yaroslavl State Technical University

Key words and phrases: mathematical models; parallel computing; process piping; tracing; tracing algorithms.

Abstract: The paper describes an algorithm with parallel computing solutions for tracing process connections.

Erarbeitung der Algorithmen der Trassierung der technologischen Verbindungen mit der Benutzung der Vielprozessortechnik

Zusammenfassung: Es ist den Algorithmus mit den Parallelberechnungen für die Lösung der Aufgabe der Trassierung der technologischen Verbindungen betrachtet.

Élaboration des algorithmes du traçage des assemblages technologiques avec l’emploi de la technique à mutiprocesseur

Résumé: Est examiné l’algorithme avec les calculs parallèles pour la solution du problème du traçage des systèmes chimiques et technologiques.

Авторы: Егоров Сергей Яковлевич - доктор технических наук, доцент, профессор кафедры «Автоматизированное проектирование технологического оборудования»; Фурсов Игорь Сергеевич - выпускник магистратуры кафедры «Автоматизированное проектирование технологического оборудования», ФГБОУ ВПО «ТГТУ»; Бойков Сергей Юрьевич - кандидат технических наук, доцент кафедры «Информационные системы и технологии», ФГБОУ ВПО «Ярославский государственный технический университет», г. Ярославль; Плехов Павел Владимирович - кандидат технических наук, ассистент кафедры «Автоматизация технологических процессов», ФГБОУ ВПО «Березниковский филиал Пермского государственного технического университета», г. Березники; Абрамов Станислав Вячеславович - магистрант кафедры «Автоматизированное проектирование технологического оборудования», ФГБОУ ВПО «ТГТУ».

Рецензент: Литовка Юрий Владимирович - доктор технических наук, профессор кафедры «Системы автоматизированного проектирования», ФГБОУ ВПО «ТГТУ».