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.


 

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

14456. Технічне конструювання. Поняття про розрізи та перерізи 40 KB
  Тема: Технічне конструювання. Поняття про розрізи та перерізи. Мета: Навчальна: ознайомити з особливостями виконання розрізу та перерізу навчити виконувати і читати креслення предмета при виконанні розрізів та перерізів; Виховна: виховувати відпов
14457. Оздоблення виробів з металів 53 KB
  ТЕМА ЗАНЯТТЯ: Оздоблення виробів з металів. МЕТА ЗАНЯТТЯ: Навчальна: Сформувати знання про основні види оздоблення металів. Виховна: виховувати культуру праці працелюбність бережне відношення до майна; Розвиваюча: розвивати технічне мислення сприяти розвитку
14458. Робоче місце фрезерувальника. Підготовка верстата НГФ-110 Ш4 до роботи. Фрезерування плоских поверхонь, пазів 67.5 KB
  Тема. Робоче місце фрезерувальника. Підготовка верстата НГФ110 Ш4 до роботи. Фрезерування плоских поверхонь пазів. Мета:ознайомити учнів з технологічним процесом утворення плоских поверхонь уступів виступів канавок навчити виконувати плоскі поверхні на фрезерному в...
14459. Будова деревини. Характеристика порід деревини. Фізичні, механічні і технологічні властивості деревини 72 KB
  Тема Будова деревини. Характеристика порід деревини. Фізичні механічні і технологічні властивості деревини. Мета: Навчальна: сформувати знання вміння та навички повязані з даними поняттями. Виховна: виховувати в учнів культуру праці та бережливе ставлення до ч
14460. Конструювання навчальних приладів та моделей 35.5 KB
  Тема 7: Конструювання навчальних приладів та моделей. Мета: Навчальна: сформувати знання вміння та навички повязані з даними поняттями. Виховна: виховувати в учнів культуру праці. Естетичне сприймання предметів. Розвиваюча: розвивати у школярів спеціальні здібн
14461. Демонтажні та складальні роботи. Електродвигун та його використання 40 KB
  Тема: Демонтажні та складальні роботи. Електродвигун та його використання. Мета: Навчальна: систематизувати знання про призначення та особливості використання колекторного електродвигуна ознайомити з роботою і будовою електродвигуна; сформувати вміння виявляти та ...
14462. Виконання ескізного малюнку виробу із зазначенням інформації необхідної для його виготовлення. Організація робочого місця. Конструювання виробів що містять конічну та циліндричну поверхню 48.5 KB
  ТЕМА: Виконання ескізного малюнку виробу із зазначенням інформації необхідної для його виготовлення. Організація робочого місця. Конструювання виробів що містять конічну та циліндричну поверхню. МЕТА: Навчальна: Продовжити формування знань учнів про принципи і зако
14463. Художнє конструювання виробу з металу (метод комбінаторики). Техніко-технологічні вимоги до виробу 38.5 KB
  Тема. Художнє конструювання виробу з металу метод комбінаторики. Технікотехнологічні вимоги до виробу.. Мета: ознайомити учнів з повторним інструктажем при виконанні слюсарних робіт вибрати обєкт трудової діяльності; виховувати бережливе ставлення до обладнання ...
14464. Ідентичність Європейського Союзу 274 KB
  Ідентичність Європейського Союзу 1. Ціннісні засади Союзу Надзвичайно щільна економічна інтеграція а тим паче інтеграція з політичних питань стали можливими лише завдяки тому що державичлени обєдналися навколо спільних цінностей. Їхнє недотримання однією з д...