77346

МЕТОДЫ РАСПРЕДЕЛЁННЫХ ВЫЧИСЛЕНИЙ НА ОСНОВЕ МОДЕЛИ ПОТОКА ДАННЫХ. ПРОТОТИП СИСТЕМЫ

Научная статья

Информатика, кибернетика и программирование

Ему необходимо заботиться о распределении вычислительных задач синхронизации обмене данными и так далее. С другой стороны создаются среды для решения определённых классов задач в основном это касается задач для которых применим параллелизм по данным. Методика базируется на понятиях хранилища задач и правил. Задачей называется программа которая во время исполнения считывает данные с определёнными именами из хранилища и в результате своего исполнения формирует новые данные которые записываются в хранилище.

Русский

2015-02-02

21.5 KB

0 чел.

МЕТОДЫ РАСПРЕДЕЛЁННЫХ ВЫЧИСЛЕНИЙ НА ОСНОВЕ МОДЕЛИ ПОТОКА ДАННЫХ. ПРОТОТИП СИСТЕМЫ.

М.О. Бахтерев, П.А. Васёв

ИММ УрО РАН, Екатеринбург 

Популярные средства параллельного программирования, такие как MPI и OpenMP, требуют от программиста подробного описания большого количества сущностей. Ему необходимо заботиться о распределении вычислительных задач, синхронизации, обмене  данными и так далее. Существуют различные подходы к упрощению процесса программирования и исполнения параллельных вычислений. С одной стороны, создаются универсальные средства автоматического распараллеливания программ (как для исполнения в системах с общей памятью, так и в многомашинных конфигурациях). С другой стороны, создаются среды для решения определённых классов задач (в основном это касается задач, для которых применим параллелизм «по данным»). Также разрабатываются универсальные инструменты, пытающиеся упростить технические аспекты процесса программирования параллельных и распределённых систем.

Иногда при создании подобных средств разработчики пытаются использовать нестандартные парадигмы вычислений. Одной из таких парадигм является поток данных – Dataflow [1]. В различных вариантах методики, основанные на парадигме потока данных, применяются для создания процессорных архитектур, суперкомпьютеров в целом, для программной организации вычислительных потоков в рамках одного процесса и взаимодействия процессов в распределённой вычислительной среде.

В настоящей работе описывается разработанная авторами методика и технические средства для программирования в параллельных распределённых средах. Методика основана на анализе различных, в том числе и собственных, моделей потока данных. Цель данной разработки – упростить процесс создания параллельных программ, и сделать это не в ущерб эффективности исполнения вычислительных кодов. Предлагаемая методика вычислений возникла в результате продолжительной теоретической работы над архитектурой операционной системы для распределённых вычислений [2].

Методика базируется на понятиях хранилища, задач и правил. Хранилище содержит в себе именованные данные, по отношению к которым доступны три операции – запись (создание), чтение и удаление. Хранимые данные являются самодостаточными - это не очереди, но некие единицы информации с уникальными именами. Задачей называется программа, которая во время исполнения считывает данные с определёнными именами из хранилища и в результате своего исполнения формирует новые данные, которые записываются в хранилище. Правилом называется такая конструкция, которая определяет условия и параметры запуска задач. Правило содержит в себе:

  1.  Список имён данных, которые необходимы для выполнения задачи.
  2.  Список соответствия глобальных имён данных (находящихся в хранилище) локальным именам (с которыми и будет работать задача).
  3.  Список задач (программ), которые необходимо запустить.
  4.  Действия, совершаемые в случае успешного выполнения задач (3).

Правило считается готовым к исполнению, когда в хранилище присутствуют все данные c именами из списка (1). После успешного исполнения правило удаляется из списка выполняемых правил.

Процесс программирования и проведения вычислений происходит следующим образом. Прежде всего, разрабатываются программные коды задач. При этом в рамках одного вычисления могут использоваться любые комбинации языков, а также целевых аппаратных сред. Например, часть задач можно реализовать на графических ускорителях. Затем, формируется файл инициализации, в котором описываются начальные правила системы. В дальнейшем эти правила могут дополняться – при выполнении задачах или  завершающих действий других правил. Кроме правил, в файле инициализации указываются начальные данные, которые помещаются в хранилище.

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

Предлагаемая методика позволяет достаточно просто и эффективно реализовать проведение вычислительного эксперимента на гибридных архитектурах, динамическое изменение количества вычислительных узлов во время самого вычисления, работу в глобально-распределённых условиях, автоматическое создание контрольных точек, приостановку и продолжение вычисления прозрачным для программиста образом, использование распределённые хранилищ данных, а также обеспечивает ряд других преимуществ.

На основе предложенной методики авторами в рамках проекта RIDE разрабатывается прототип среды параллельного программирования. Первые версии показывают реализуемость предлагаемых идей и лаконичность программных конструкций для описания правил. Можно надеяться, что в результате развития этой среды удастся достичь главной цели – сделать процесс создания распределённых вычислительных программ более простым и эффективным.

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

  1.  Dennis J., Data Flow Supercomputers // Computer, Vol.13, No.11, pp.48-56, 1980.
  2.  Бахтерев М.О., Описание параллельных вычислений при помощи замыканий // Тезисы 10-го Международного семинара "Супервычисления и Математическое моделирование", РФЯЦ-ВНИИЭФ, Саров, с. 31-32, 2008.


 

А также другие работы, которые могут Вас заинтересовать

34005. Понятие человека 38 KB
  Изучая поведение разных животных и человека К. Практически все инстинкты у социализированного человека поставлены под контроль общества и моральнопсихологических механизмов саморегуляции. при помощи которой сдерживаются агрессивные импульсы умиротворяется и облагораживается эмоциональноволевая сфера человека.
34006. Основные антропологические парадигмы 31.5 KB
  Проблема человека одна из центральных тем философии. В разных философских традициях и школах по разному трактуется феномен человека. Христианская антропология зиждется на ряде основополагающих постулатов: а человек есть триединство духовного душевного и телесного;б человек есть образ и подобие Божие;в онтологическая ущербность человека наступившая после грехопадения прародителей человечества Адама и Евы;г онтологический грех человека искупается жертвенной смертью Иисуса Христа каждый имеющий в своем сердце веру в Спасителя...
34007. Человек как духовное существо. Проблема смысла жизни, смерти и бессмертия 24 KB
  И эта неудовлетворенность содержит в себе причины творческой деятельности Поэтому призвание задача каждого человека всесторонне развивать все свои способности и по мере возможностей вносить свой личный вклад в историю в прогресс общества его культуры. Смысл жизни общва и челтва в целом. Буддизм: чел живет для того чтобы прервать цепь перерождений и никогда больше не возрождаться. Христво восхождением чел к богу.
34008. Этология Конрада Лоренца 34.5 KB
  Изучая поведение разных животных и человека К.Зонди 18931986 швейцарский ученый развивая и продолжая традиции психоанализа наряду с индивидуальным и коллективным бессознательным выделил понятие родового бессознательного это влияние наследственности и рода предков на судьбу человека. Навязанная судьба которая складывается: а под влиянием генетической наследственности; б под действием генотрофизма развития психики человека под влиянием того или иного предка или родственника от которых может зависеть выбор профессии хобби...
34009. Религия как социокультурный феномен. Понятие Бога в философии и религии 40.5 KB
  Понятие Бога в философии и религии. Философия религии важный раздел философского знания поскольку религия составляет системообразующий элемент различных культур цивилизаций и обществ. Философию религии нельзя также отождествлять с религиозной философией. Философия религии это прежде всего рефлексия над религией как сложным социокультурным феноменом определение ее знания в жизни человека и общества.
34010. Предмет и задачи этики. Основные этические системы 44 KB
  Вся совокупность проблем в той или иной мере посвященных изучению этих вопросов была представлена особой философской теорией получившей название философия морали нравственности или этика. Термин этика происходит от древнегреческого слова ethos этос подразумевавший пространство совместного проживания людей или животных дом звериное логово птичье гнездо и т. Поэтому термин этика также введенный в употребление Аристотелем изначально приобрел двоякую направленность: 1 обозначение совокупности добродетелей правил и норм...
34011. Основные этические системы 46.5 KB
  Остановимся на нескольких наиболее значительных и как нам представляется не утративших свое значение и по настоящее время именно в силу своей вневременной универсальной значимости для нравственного сознания человека: гедонизме стоицизме этике долга и этике любви. Именно такая постановка личности по Эпикуру порождает три степени свободы каждая из которых есть в сущности ничто иное как освобождение человека от тяжелых экзистенциальных переживаний сопровождающих его на протяжении всей жизни: от страха перед Богами от страха перед...
34012. Искусство как социокультурное явление.Эстетические основания и закономерности развития ис 45.5 KB
  Искусство это одна из форм культуры и сфера художественного творчества. философия исследует искусство в общем плане и в контексте жизни человека и общества. Искусство отражает и изображает жизнь в художественных образах которые позволяют человеку непосредственно в чувственном виде переживать то что в них заключил художник.
34013. Философское понимание культуры. Культура и цивилизация 26 KB
  Культура и цивилизация. Культура все созданное человеком; совокупность созданных и создаваемых человеком ценностей; качественная характеристика уровня развития ова. Там где есть человек его деятсть отношения между людьми там имеется и культура. Культура: материальная и духовная не противопоставлять.