Structure of f-closures of RiDE environment

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

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

Bkhterev The distributed computtion support system we propose RiDE is built round the simple formlism of fclosure f is from future. Originlly we imgine fclosure consisting of five following fields. This field defines the moment in time fter which the system my ctivte the given fclosure.



29 KB

0 чел.

Structure of f-closures of RiDE environment

M.O. Bakhterev

The distributed computation support system we propose - RiDE - is built around the simple formalism of f-closure (f is from “future”). Originally we imagine f-closure consisting of five following fields.

 S. The data block global names enumeration, which was intended to be given in some kind of disjunctive normal form: 1st set of names, or 2nd set, or .., or nth set. This field defines the moment in time, after which the system may activate the given f-closure. That moment comes, when all the data blocks named within one of the specified sets (we call such a set ready) are formed during computation. The f-closure activation itself is the invocation of the routine from the routine set associated with f-closure being activated (cf. C); the already formed data blocks named with some ready are taken as arguments for that invocation. Such a “disjunctive” alternativeness is needed for the description of f-closures serving as masters: many parallel computation scenarios assume the master should be runned on any job it tracks. We call the data blocks with names enumerated in S the premises for activation.

 lS. The description of the correspondence between global names in S and local argument names. As aforementioned the global ones are used to reason about the f-closure activation possibility. And the propose of the locals in lS is to be references in the code of the routine invoked during that activation to the data blocks passed as its arguments.

 R. The description of the data block global names, every of which will be formed in the result of successful execution of the routine invoked during f-closure activation. We will call such blocks activation results.

 lR. The description of correspondence between global names in R and  local result names. The last are used in the code of the routine invoked during f-closure activation to reference the activation results when forming them.

 C. The description of routine set, one in which should be runned in the f-closure activation. It is assumed, that f-closure represents an operation from parallel algorithm; and every element of C points to its routine performing that operation on specific computing platform (OpenCL, i686-pc-linux, llvm-posix, .Net and so on).

In addition we assumed, that every f-closure formed in the process of RiDE application execution should be checked against the condition that all names enumerated in its R field are unique for the whole computation. This condition is needed to keep the data flow “graphness”.

But the ongoing theoretical analysis of the computation model based on such f-closures has show that it possesses some flaws.

 1. We expected some level of the computation flows separation simplicity with manual data block names management, for instance, by attributing names in different flows with different prefixes. These expectations were not met. And the way of such separation is needed to provide the creation of subroutine libraries implementing parallel algorithms for the RiDE environment.

 2. The description of f-closure premises for activation in the DNF proved to be as inconvenient when writing the code generating this description (especially for the masters running and tracking a large amounts of worker tasks) and ineffective for f-closure processing during RiDE application execution (especially for such masters - due to the size of S).

 3. The f-closure’s S field structure given above do not allow to program the computation process reactions on externals requests. And the ability to program these reactions will be needed in the case of using RiDE for the development of high performance queuing systems such as highly loaded web servers.

 4.  The tests for uniqueness of names in the R field of every f-closure may introduce significant overhead in the RiDE application execution. Despite of the opportunity to mask this overhead with high degree of asynchrony in the execution of program for RiDE, its lowering to minimum level is desirable: after all, the correct program will generate only correct f-closures at its runtime.

In the current paper we consider in order to resolve these problems two models with modifications of original f-closure semantic: the first with manual names and scopes management; and the second with automatic names management and mechanics for references and lists. Both models are extended with special kind of named data blocks - pin blocks.

In new models these pin data blocks unlike the ones with unique names common for RiDE (which still hold the role of the main data transfer medium) may be grouped under single name; and may be fetched from such named group strictly one by one during activation of f-closure containing that group name in its premises for activation. The content may come in pin block groups from the sources external to the RiDE applications. This mechanism solves problems 3 and 2, making both processing and generation of master f-closures significantly lighter because of ability to use for S field structure the simple and frequently short list of names for of the DNF of that names.

To solve problems 1 and 4 scoping mechanism was suggested in first model. The scopes, obviously, allow to separate different computation flows and to reduce the complexity of the tests for the uniqueness of every name in R field, limiting amount of work in most cases with the scope containing f-closure being tested.

The automatic names management of second model was mainly aimed on solving the problem 4, but naturally it solves the problem 1 also. However, this model requires to introduce in the language of f-closures the additional tools allowing to control the automatic naming process. References and lists are these tools.

Several traditional parallel algorithms was expressed in languages of both models. That allowed to conclude that first model was less convenient to use than the second. This conclusion is main result of the paper. But along with it also the following outcomes potentially useful for practice and theory were obtained.

Firstly, second model is very close to some mixture of traditional lambda- and pi-calculus paradigms. What allows to use well researched execution methods of the programs written according to these paradigms when implementing runtime environment for second model.

Secondly, to specify the semantics of the second model we use nontraditional evaluation strategy which can be classified as call by future reference.


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

  Входным сигналом АЦП в течение некоторого промежутка времени t является постоянное напряжение равное отсчёту uвхkt входной аналоговой функции uвх. За это время на выходе АЦП формируется цифровой обычно двоичный код соответствующий дискретному отсчёту напряжения uвхkt. Количественная связь для любого момента времени определяется соотношением где u шаг квантования входного аналогового напряжения uвх; i – погрешность преобразования напряжения uвхkt на данном шаге. Процесс квантования по уровню дискретизированной функции uвхkt...
41858. Изучение и анализ конструкций рамы 95.3 KB
  Ознакомились с устройством рамы различных автомобилей, научились анализировать их конструктивные особенности.
41860. Окислительно-восстановительное титрование. Иодометрическое определение пероксида водорода. Иодометрическое определение растворённого в воде кислорода 65.63 KB
  Сформировать умения по стандартизации раствора тиосульфата натрия; выполнению иодометрического определения пероксида водорода; иодометрического определения растворенного в воде кислорода. При этом к определяемому веществу добавляют взятое в заведомом избытке точное количество стандартного раствора иода. Какую среду сильнокислую слабокислую должен иметь раствор после добавления серной кислоты Почему при добавлении крахмала амилозы к раствору иода появляется синее окрашивание Какие ещё вещества могут взаимодействовать с иодом...
41861. Определение удельной теплоты плавления олова 286.55 KB
  Температура при которой вещество плавится называется температурой плавления вещества. Температура плавления для данного вещества при одинаковых условиях одинакова. Однако это не значит что в процессе плавления к телу не надо подводить энергию.
41862. Диаграмма Парето 48.04 KB
  Например если на складе находится большое число деталей проводить контроль всех деталей без всякого различия неэффективно. Но если разделить детали на группы по их стоимости то на долю группы наиболее дорогих деталей группа А составляющих 2030 от общего числа деталей придётся 7080 от общей стоимости всех деталей. На долю группы самых дешёвых деталей группа С составляющей 4050 от всего количества деталей придётся всего 510 от общей стоимости. Контроль деталей на складе будет эффективным если контроль деталей группы А будет...
41863. Редактирование рабочей книги. Построение диаграмм 976.65 KB
  Изучение способов работы с данными в ячейке. Изучение возможностей автозаполнения. Построение диаграмм. Создание и сохранение таблицы (рабочей книги). Форматирование содержимого ячеек, выбор диапазона ячеек и работа с ними, редактирование содержимого ячеек.
41864. Функционально-стоимостной анализ в конструкторской подготовке производства 296 KB
  Функционально-стоимостной анализ — метод, позволяющий отбирать наилучшие технические решения при создании и освоении новой техники (технологии), увязывать в единый комплекс вопросы обеспечения функциональной полезности и качества новой техники (технологии)
41865. Гистограмма. Характерные типы гистограмм 82 KB
  Результаты измерений вводим в электронную таблицу. В ячейку А1 вводим заголовок работы. Начиная с ячейки А3 вводим в столбец порядковые номера измерений с 1 по 100 например при помощи команды ПравкаЗаполнитьПрогрессия . В ячейки В3:В102 вводим значения коэффициента деформации из табл.