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.


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

74039. Монголо-татарское нашествие на Русь. Его последствия. Русь и Орда 44 KB
  Благодаря тому обстоятельству, что большинство окружающих их соседей к этому времени уже преодолели стадию первичной агрессивности, свойственную молодым государствам, и, находясь на стадии политического раздробления, утратили в значительной степени свои способности противостоять сильному и единому противнику
74040. Становление Руси XIV- XV вв. Становление единого российского государства 38 KB
  Успех Дмитрия Донского предопределил основы политики последующих московских князей на третьем этапе (XV в.), которую можно охарактеризовать как собирание русских земель Москвой уже в качестве единоличного лидера, не имеющего себе равных противников.
74042. Реформы Петра I 43 KB
  Реформы Петра I. Реформы проведенные Петром считаются и вполне правомерно одним из важнейших периодов в истории России а самого Петра I даже большинство западных историков характеризует как личность наиболее поразительную в истории Европы после Наполеона как самого значительного монарха раннего европейского Просвещения Виттрам Р. Собственно первые действия Петра I после перехода власти в его руки фактически продолжают линию правительства царевны Софьи как во внутренней так и во внешней политике. Тщетность попыток привлечь...
74043. Основные этапы антропогенеза. Проблемные вопросы антропогенеза 35 KB
  Именно человекаумелого принято считать отправной точкой А. вопрос о критериях человека. Наука различает биологическую и социальную природу человека т. вопрос о прародине человека.
74044. Общая характеристика цивилизаций древнего Востока 59 KB
  Деспотия форма государственного устройства и правления при которой самодержавный властитель неограниченно распоряжается в государстве выступая по отношению к подданным в качестве господина и хозяина форма выживания речных цивилизаций. При этом носитель светской власти считался важнее представителей власти духовной. Объединение всей страны под началом единого царя фараона равного которому по объему власти в то время еще не знало человечество сыграло свою...
74045. Эллинистическая цивилизация. Сущность эллинизма в историографии 34.5 KB
  После смерти Александра Македонского, начинается борьба между наследниками. Борьба проходила в два этапа: сначала сражались «диадохи» - полководцы Александра, а затем их потомки – «эпигоны». В результате Держава распалась на ряд царств: Македонию, Египет, государство Селевкидов, Пергам ит.д.
74046. Пути формирования феодальных отношений в Западной Европе в период Раннего Средневековья (V – XI вв.) 42.5 KB
  Проблема происхождения феодализма возникла одноврем. Зато возникла и быстро приобрела популярность теория генезиса феодализма в процессе германороманского синтеза. Энгельс подходя к решению проблемы генезиса феодализма с материалистических позиций рассматривали этот процесс как переход от рабовладельческой социальноэкономической формации к феодальной. и концепция синтезного происхождения феодализма преобладавшая во французской и русской медиевистике.