_______МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» №7/2015 ISSN 2410-700Х____
Список использованной литературы:
1. Долуханов М.П. Распространение радиоволн. М., Связь, 1972, 337 с.
2. Римбет Г., Гарриот О. Введение в физику ионосферы. Л., Гидрометеоиздат, 1975.
© Д.В. Крживокольский, А.С. Болятко, А.Г. Седов, 2015
УДК 004.021
Рязанов Юрий Дмитриевич
доцент БГТУ им. В. Г. Шухова, г. Белгород, РФ, E-mail: [email protected] Юсюмбели Николай Иванович студент БГТУ им. В. Г. Шухова
РАСПАРАЛЛЕЛИВАНИЕ ЦИКЛОВ НА ОСНОВЕ АВТОМАТИЧЕСКОГО АНАЛИЗА ИНФОРМАЦИОННЫХ ЗАВИСИМОСТЕЙ
Аннотация
В статье рассматривается задача автоматизации распараллеливания программ. Для ее решения предлагается алгоритм построения решетчатых графов для гнезд циклов с линейной структурой и алгоритм выявления циклов, подлежащих распараллеливанию. Весь анализ может быть выполнен автоматически на этапе синтаксического разбора программного кода в разрабатываемой системе автоматизированного распараллеливания программ.
Ключевые слова
Параллельное программирование, информационные зависимости, решетчатые графы.
В связи с широким распространением многоядерных и многопроцессорных систем проблема написания эффективных параллельных программ становится все актуальнее. Имеется большое количество инструментальных средств [6], упрощающих процесс написания параллельного кода, однако их применение не всегда приводит к эквивалентной параллельной программе. Распараллеливанию обычно мешают скрытые информационные зависимости. Ручное выявление этих зависимостей является задачей сложной и трудоёмкой. Поэтому актуальным является разработка новых способов и инструментов, способных автоматизировать процесс распараллеливания программ. Эти инструменты могли бы повысить эффективность работы программиста и надежность параллельных программ.
Одним из способов упрощения распараллеливания программ является автоматический анализ информационных потоков и зависимостей. Такой анализ позволяет определять циклы и операторы в последовательной программе, которые могут быть исполнены параллельно. Существует множество представлений информационных зависимостей, которые различаются по степени информативности. Одним из наиболее тонких представлений информационной зависимости является решетчатый граф [1].
В данной статье описывается способ построения решетчатых графов для гнёзд циклов с линейной структурой, а также алгоритм выявления циклов, подлежащих распараллеливанию. Весь анализ может быть выполнен автоматически на этапе синтаксического разбора программного кода в разрабатываемой системе автоматизированного распараллеливания программ.
Предлагаемый алгоритм построения решетчатых графов является модификацией алгоритма, описанного в работе [2, с. 68]. Главное отличие предлагаемого алгоритма заключается в отсутствии необходимости вычисления областей определения для функций, определяющих решетчатый граф, а также объединений этих областей, что значительно снижает временную сложность алгоритмов.
Пусть вхождение u содержится в гнезде из n циклов, пространство итераций которого V1. Вхождение v - в гнезде из m циклов, пространство итераций которого V2. Пусть оператор, содержащий вхождение u находится раньше по тексту программы, чем оператор, содержащий вхождение v. Обозначим через P(X)
26
_______МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» №7/2015 ISSN 2410-700Х_____
вектор, координатами которого являются индексы вхождения u, через Q(Y) - вектор индексов вхождения v (Рис. 1) [2].
Рисунок 1 - Визуальное представление решаемой проблемы
Для определения дуги (X, Y) решетчатого графа (рис. 2), где X е Vi, Y е V2, необходимо решить следующую задачу параметрического целочисленного программирования [4]:
Р(Х)=0(У)
XeV,
УеУ,
(1)
Рисунок 1 - Визуальное представление элементарного решетчатого графа
Условия P(X)=Q(Y),X EVi и X <кх Y Y Е F? сводятся к системе линейных неравенств, как обычно в линейном программировании, а условие сводится к системе неравенств, называемыми альтернативными многогранниками [2; 3, с. 365].
Первый и второй многогранники имеют следующий вид:
*. = Г,
х,=у,
Х2=У,
X,=Y,
X*<Y*
X[d-2rY[d-2)
где d - количество общих циклов у вхождений и и v.
27
_______МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» №7/2015 ISSN 2410-700Х__________
В каждом следующем многограннике количество равенств уменьшается на единицу, неравенство всегда одно. Последний многогранник будет таким:
Занумеруем все альтернативные многогранники. Под номером альтернативного многогранника подразумевают число, равное суммарному количеству равенств и неравенств в системе. Заметим, что номера многогранников изменяются в интервале от 1 до d.
Задача (1) - (2) решается по следующей схеме. Организуется цикл, со счетчиком по k, в котором выполняются нижеследующие действия, причем k принимает значения от d до 1:
1. Условия P(X)=Q(Y), X EVi и Y Е V2 сводятся к системе линейных неравенств. К ним дописывается альтернативный многогранник с номером k. В полученной системе есть набор неизвестных -компоненты вектора X, и набор параметров - компоненты вектора Y.
2. С помощью метода параметрического целочисленного программирования находится лексикографический минимум относительно неизвестных [4].
3. Если лексикографический минимум найден, то выписывается функция, определяющая дуги решетчатого графа, а также номер соответствующего многогранника.
4. Уменьшается значение k на 1, и происходит переход на пункт 1.
Таким образом на выходе данного алгоритма мы имеем набор функций, описывающих дуги элементарных решетчатых графов. Функцию, описывающую решетчатый граф, можно представить в виде дерева, в узлах которого хранится условие. Если данное условие истинно, то переход происходит к левому узлу, иначе к правому. Эти функции в дальнейшем используются для определения ParDo циклов в программе. Цикл обладает свойством ParDO, если все его итерации можно выполнять в любом порядке, в том числе и одновременно [2].
Отметим, что решение задачи (1) - (2) дает в результате минимальный снизу элементарный решетчатый граф. Для построения минимального сверху элементарного решетчатого графа необходимо в альтернативных многогранниках знаки неравенств поменять на противоположные.
Для автоматизации построения решетчатого графа можно использовать библиотеку PipLib [5]. Она умеет находить лексикографический минимум (или максимум) во множестве целых точек, принадлежащих выпуклому многоугольнику [4, с. 33].
Алгоритм определения ParDo циклов в произвольном гнезде следующий:
1. В рассматриваемом гнезде циклов попарно перебираем все вхождения каждой из переменных. Для каждой пары вхождений строим элементарные решетчатые графы.
2. Обрабатываем каждый решетчатый граф:
Производим обход дерева функции, описывающей решетчатый граф. Если находится узел, содержащий возвращаемые значения данной функции, то цикл с номером k помечается как «не ParDO» - эта метка означает, что параллельное выполнение итераций цикла запрещено.
3. Все остальные циклы, которые не были помечены, являются ParDo циклами.
Заключение
Предложенные алгоритмы позволяют выявить скрытые информационные зависимости в программе и определить циклы, подлежащие распараллеливанию. Эти алгоритмы могут быть использованы в системах автоматизированного распараллеливания программ.
Стоит отметить, что данные алгоритмы применимы к гнездам циклов с линейной структурой. Дальнейшим развитием данной работы является расширение класса распараллеливаемых циклов.
Список использованной литературы:
1. Воеводин В. В. Математические модели и методы в параллельных процессах / В. В. Воеводин - Москва: Наука, 1986. - 296 с.
2. Шульженко А. М. Исследование информационных зависимостей программ для анализа распараллеливающих преобразований: Диссертация на соискание учёной степени кандидата технических наук / А.М. Шульженко -Ростов-на-Дону: Ростовский государственный университет, 2006. - 200 с.
28
_________МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» №7/2015 ISSN 2410-700Х______________
3. Воеводин В. В. Параллельные вычисления / В. В. Воеводин, Вл. В. Воеводин - СПб.: БХВ-Петербург, 2002. - 608 с.
4. Feautrier Paul. Parametric Integer Programming / Feautrier Paul // RAIRO Recherche Operationnelle. - 1988. -P. 243-268.
5. PipLib official website [Электронный ресурс]. - Режим доступа: http://www.piplib.org/
6. Введение в технологии параллельного программирования [Электронный ресурс]. - Режим доступа: https://software.intel.com/ru-ru/artides/writing-parallel-programs-a-multi-language-tutorial-introduction.
© Ю. Д. Рязанов, Н. И. Юсюмбели, 2015
УДК 004
Слаутин Юрий Александрович,
старший преподаватель Полевщиков Иван Сергеевич,
аспирант, ассистент
ФГБОУ ВПО «Пермский национальный исследовательский политехнический университет», г. Пермь
E-mail: [email protected]
ОСОБЕННОСТИ ПРАКТИЧЕСКОЙ РЕАЛИЗАЦИИ ТИПОВОГО ВЕБ-ПОРТАЛА НАЦИОНАЛЬНО-КУЛЬТУРНОЙ АВТОНОМИИ
Аннотация
Статья посвящена актуальной проблеме разработки типового веб-портала национально-культурной автономии. Рассмотрены основные особенности и реализованные интерфейсы информационного портала национально-культурной автономии татар и башкир Пермского края.
Ключевые слова
Информационно-коммуникационные технологии, веб-портал, национально-культурная автономия.
Создание информационного портала национально-культурной автономии является актуальной задачей [1, 2], поскольку данный портал дает возможность национально-культурной автономии, с одной стороны, предоставлять пользователям большой объем информации по культуре, истории, традициям своего народа, а с другой стороны создать единую информационную площадку, на которой можно обсудить некоторые национальные проблемы, позволить пользователям принять участие в деятельности того или иного общественного объединения.
Рассмотрим особенности создания подобного веб-портала на примере информационного портала национально-культурной автономии татар и башкир Пермского края.
Информационный портал региональной национально-культурной автономии татар и башкир Пермского края предназначен для оказания населению информационно-справочных услуг в различных областях (национальная культура, традиции и обычаи; национальное образование; государственные, региональные, территориальные новости; деятельности региональной национально-культурной автономии татар и башкир Пермского края), а также для поддержки коммуникаций (возможность зарегистрированным пользователям участвовать в форуме; возможность обращаться к администратору портала; вести личную переписку зарегистрированным пользователям).
Содержание веб-портала формируется за счет уникальной информации, производимой региональной автономией (деятельность, жизнь, история, культура, новости и т.д.). Местные СМИ - участники проекта -имеют возможность самостоятельного выставления оперативной информации.
Проект предназначен, прежде всего, для татаро-башкирского населения нашего региона, но также и для всех тех, кого интересует достоверная информация об автономии, о ее деятельности, о проводимых
29