77319

СТРУКТУРА F-ЗАМЫКАНИЙ В СРЕДЕ RiDE

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

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

Перечисление наборов глобальных имён блоков данных которое предполагалось давать в неком подобии дизъюнктивной нормальной формы: 1ый набор имён или 2ой набор. Такой момент наступает когда в ходе вычисления сформированы все блоки данных имена которых перечислены в одном из указанных наборов назовём такой набор готовым. C; аргументами для этого запуска служат уже сформированные блоки данных поименованные некоторым готовым набором. Мы называем блоки данных с перечисленными в S именами предпосылками для активации.

Русский

2015-02-02

36.5 KB

0 чел.

СТРУКТУРА F-ЗАМЫКАНИЙ В СРЕДЕ RiDE

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

Предлагаемая нами система для поддержки распределённых вычислений RiDE построена вокруг простого формализма f-замыкания (f от future). Первоначально, каждое f-замыкание представлялось нам пятёркой следующих полей.

S. Перечисление наборов глобальных имён блоков данных, которое предполагалось давать в неком подобии дизъюнктивной нормальной формы: 1-ый набор имён, или 2-ой набор, или .., или n-ный набор. Это поле определяет момент времени, после которого система может активировать данное f-замыкание. Такой момент наступает, когда в ходе вычисления сформированы все блоки данных, имена которых перечислены в одном из указанных наборов (назовём такой набор готовым). Сама активация f-замыкания есть запуск процедуры из множества связанных с активируемым f-замыканием (см. C); аргументами для этого запуска служат уже сформированные блоки данных, поименованные некоторым готовым набором. «Дизъюнктивная» же альтернативность нужна для описания выполняющих роль мастеров f-замыканий: многие сценарии параллельных вычислений предполагают, что мастер должен запускаться при завершении любой из отслеживаемых им задач. Мы называем блоки данных с перечисленными в S именами предпосылками для активации.

lS. Описание соответствия между глобальными именами в S и локальными именами аргументов. Как сказано выше, глобальные имена используются для анализа возможности активации f-замыкания. А предназначение локальных в lS - быть ссылками в коде запускаемой во время этой активации процедуры на передаваемые ей в качестве аргументов блоки данных.

R. Описание набора глобальных имён блоков данных, каждый из которых будет сформирован в результате успешного выполнения процедуры, запущенной при активации f-замыкания. Будем называть такие блоки результатами активации.

lR. Описание соответствия глобальных имён в R и локальных имён результатов. Последние используются в коде запускаемой во время активации f-замыкания процедуры для того, чтобы ссылаться на результаты активации в ходе их формирования.

C. Описание набора процедур, одну из которых следует запустить при активации f-замыкания. Предполагается, что f-замыкание представляет некоторую операцию в параллельном алгоритме; и каждый элемент C указывает свою процедуру, выполняющую эту операцию на определённой вычислительной платформе (OpenCL, i686-pc-linux, llvm-posix, .Net и прочих).

Кроме этого, мы предполагали, что каждое f-замыкание, формируемое в процессе исполнения приложения RiDE должно проверяться на то, что все перечисленные в его поле R имена уникальны для всего вычисления. Выполнение этого условия необходимо для сохранения «графовости» потока данных.

Однако, продолжающийся теоретический анализ модели вычислений основанной на таких f-замыканиями показал, что она обладает рядом недостатков.

 1. Мы ожидали некоторый уровень простоты разделения потоков вычислений от ручного управления именами блоков данных, например, при помощи приписывания именам данных в различных потоках различных префиксов. Эти ожидания не оправдались. А способ такого отделения необходим для поддержки разработки библиотек подпрограмм, реализующих в среде RiDE те или иные параллельные алгоритмы.

 2. Описание предпосылок для активации f-замыканий в ДНФ оказалось как неудобным для написания генерирующего это описание кода (особенно для мастеров, запускающих и отслеживающих большое количество рабочих задач), так и неэффективным для обработки f-замыканий во время выполнения приложения для RiDE (особенно для таких мастеров - из-за объёма S).

 3. Указанная выше структура поля S f-замыкания не позволяет программировать реакции вычислительного процесс на внешние запросы. А возможность запрограммировать эти реакции будет необходима в случае использования RiDE для разработки высокопроизводительных систем массового обслуживания, таких как высоко нагруженные web серверы.

4. Проверки уникальности имён в поле R каждого f-замыкания могут внести существенные накладные расходы в исполнение RiDE приложения. Несмотря на возможность замаскировать эти расходы высокой степенью асинхронности исполнения программы для RiDE, их снижение до минимального уровня желательно: ведь, корректная программа будет генерировать только корректные f-замыкания во время своего выполнения.

В текущей работе мы с целью решения этих проблем рассматриваем две модели с модификацией первоначальной семантики f-замыканий: первая с ручным управлением именами и областями видимости; вторая с автоматическим управлением и механикой ссылок и списков. Обе модели расширены специальным видом именованных блоков данных - pin блоками. В новых моделях эти pin блоки данных в отличии от обычных для RiDE с уникальными именами (за которыми оставлена роль основного средства передачи данных) могут быть сгруппированы под одним именем; и могут быть выбраны из такой именованной группы строго по одному при активации f-замыкания, содержащего в предпосылках для активации имя этой группы. Данные в этих группах pin блоков могут появляться из внешних по отношению к RiDE-приложению источников. Этот механизм решает проблемы 3 и 2, существенно облегчая и обработку, и описание f-замыканий мастеров, благодаря возможности использовать для структуре поля S простые и часто короткие списки имён вместо ДНФ от этих имён.

Для решения проблем 1 и 4 в первой модели предложен механизм областей видимости. Области видимости, очевидно, позволяют разделять различные потоки вычислений и снизить сложность проверок уникальности каждого имени в поле R, ограничивая объём работы в большинстве случаев областью видимости, содержащей проверяемое f-замыкания.

Автоматическое управление именами во второй модели в основном направлено на решение проблемы 4, но естественным образом решает и проблему 1. Однако,  эта модель требует введения в язык f-замыканий дополнительных средств, позволяющих контролировать автоматический процесс именования. Такими средствами являются ссылки и списки.

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

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

Во-вторых, для определения семантики второй модели мы применяем не традиционную стратегию вычислений (evaluation strategy), которую можно классифицировать как вызов по ссылке на будущее (call by future reference).

Работа выполнена в рамках Программы фундаментальных исследований Президиума РАН № 14 "Интеллектуальные информационные технологии, математическое моделирование, системный анализ и автоматизация" при поддержке УрО РАН, проект  09-П-1-1003.


 

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

36329. Классификация САПР по сложности объекта проектирования, характеру и числу 36.91 KB
  Классификация САПР по сложности объекта проектирования характеру и числу. По характеру выполняемой проектной документации различают САПР выполняющие документы на бумажной ленте или листе на машинных носителях на фото носителях и комбинированные САПР. САПР бывают малой средней и высокой производительности одно двух и трехуровневые. При использовании мини ЭВМ комплекс технических средств САПР называется автоматизированным рабочим местом.
36330. Режимы работы АСУ ТП 11.5 KB
  Режимы работы АСУ ТП. АСУ ТП может работать в одном из следующих режимов работы. АСУ ТП выполняющая информационные функции. Эта АСУ ТП включает в себя локальные системы автоматического контроля и регулирования объединённые центральным ПУ на котором работает оператор.
36331. Задачи управления запасами 21 KB
  Если заказы на приобретение выдавать слишком часто то это приведет к повышенным расходам на оформление заказов и перестройку производства. На складе осуществляют оформление заказов на поставку продукции хранение продукции отгрузку ее заказчику. В качестве оценки эффективности решений обычно принимаются суммарные издержки учитывающие потери поставщика при пере стройках производства расходы на складские работы хранение оформление заказов и т.
36332. Импульсные регуляторы. Виды импульсной модуляции, достоинства 26.93 KB
  Импульсные регуляторы – регуляторы дискретного действия в структуре которых имеется импульсный элемент преобразующий непрерывно изменяющуюся регулируемую величину в последовательность импульсов. Параметры импульсов меняются в соответствии со значениями входной величины модулирующего сигнала. Модулируемым параметром зависящем от значения входного сигнала х вх в начале очередного периода повторения импульсов Тп является высота амплитуда импульсов рис. В ЧИМ – частота следования импульсов f = 1 Тп.
36333. Англійська мова. 8 клас. Підсумкові контрольні роботи. Відповіді з коментарями 16.62 MB
  Доценко І. В. Англійська мова. 8 клас (Підсумкові контрольні роботи. Відповіді з коментарями) Видання містить відповіді до завдань закритої форми і пропонує перекоади усхних відповідей до завдань відкритої форми. Для полегшення роботи додається переклад українскою мовою і коментарі до найскладніших моментів у завданнях
36334. Классификация САПР по типу и разновидности объектов проектирования 12.38 KB
  Классификация САПР по типу и разновидности объектов проектирования. САПР классифицируются по ГОСТ 23 501. Основные признаки характеризующие САПР: Тип. Число уровней в структуре технического обеспечения САПР.
36335. Методы измерения температуры, бесконтактный метод 56.5 KB
  О температуре нагретого тела можно судить на основании измерения параметров его теплового излучения представляющего собой электромагнитные волны различной длины. Термометры действие которых основано на измерении теплового излучения называются пирометрами. Физические тела характеризуются либо непрерывным спектром излучения твердые и жидкие вещества либо избирательным газы. Эта связь описывается законом Планка: где М0λТ – плотность мощности излучения испускаемого телом находящимся при температуре Т на длине волны λ Т –...
36336. Методы измерения температуры 12.61 KB
  Методы измерения температуры. Существует два метода измерения температуры: контактный метод и бесконтактный. Из всего многообразия методов измерения температуры и измерительных средств в металлургии широкое распространение получили термопреобразователи сопротивления термоэлектрические преобразователи и пирометры излучения. Первые две разновидности датчиков используются для контроля температуры охлаждающей воды подогретых газов и воздуха поступающих к горелочным устройствам отходящих продуктов сгорания футеровки агрегатов жидких металлов...
36337. Назначение и правила выполнения структурной схемы комплекса технических средств автоматизации 54.21 KB
  Назначение и правила выполнения структурной схемы комплекса технических средств автоматизации. В самом общем виде структурная схема системы автоматизации представлена на рисунке 9. Система автоматизации состоит из объекта автоматизации и системы управления этим объектом. Благодаря определенному взаимодействию между объектом автоматизации и системой управления система автоматизации в целом обеспечивает требуемый результат функционирования объекта характеризующийся параметрами х1 х2хn Работа комплексного объекта автоматизации...