Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте za4eti.ru

Компьютеры, Программирование Компьютеры, Программирование     Компьютерные сети Компьютерные сети

Системы, управляемые потоком данных. Язык "Dataflow Graph Language"

Наклейки для поощрения "Смайлики 2".
Набор для поощрения на самоклеящейся бумаге. Формат 95х160 мм.
19 руб
Раздел: Наклейки для оценивания, поощрения
Совок №5.
Длина совка: 22 см. Цвет в ассортименте, без возможности выбора.
18 руб
Раздел: Совки
Забавная пачка денег "100 долларов".
Купюры в пачке выглядят совсем как настоящие, к тому же и банковской лентой перехвачены... Но вглядитесь внимательней, и Вы увидите
60 руб
Раздел: Прочее

Системы, управляемые потоком данных. Язык Da aflow Graph La guage. Курсовая работа Андреева М.В. г. Ульяновск, 1999 Введение Одним из методов организации параллельных вычислений является метод, основанный основанный на принципе управления потоком данных. Обычно в вычислительных системах, управляемых потоком данных, команды машинного уровня управляются доступностью данных, проходящих по дугам графа потока данных (ГПД). Такому принципу управления потоком данных на уровне операций можно противопоставить принцип управления укрупненным потоком данных (Large-Grai Da a Flow), в котором единица планирования вычислений крупнее (возможно, намного крупнее), чем одна машинная команда. ГПД - одна из наиболее распространенных форм представления программы в данной модели вычислений. Вершины ГПД соответствуют отдельным процессам, а дуги задают отношения между ними. Точка вершины, в которую входит дуга, называется входным портом (портом импорта или входом), а точка, из которой она выходит, - выходным (портом экспорта или выходом). По дугам передаются данные из одного процесса в другой. Данный метод заставляет программиста принять поэтапный подход к программированию, но, с другой стороны, избавляет от сложностей синхронизации, присущих большенству других моделей параллелизма. Программное обеспечение Система предназначена для работы в сети, в которой любые два компьютера могут обмениваться данными друг с другом. На любом компьютере может быть запушенно несколько процессов. Каждый процесс получает данные через порты импорта и может отслать данные через порты экспорта по дугам данных другим процессам. Запуск программы осуществляется под управлением диспетчера, который распределяет процессы по компьютерам и устанавливает связи между процессами. Для нормальной работы диспетчера на всех компьютерах должна быть запущена специальная программа - монитор. Монитор по запросу диспетчера запускает процесс, указанный в запросе, на своем компьютере. Порты импорта используются как очереди, и они, подобно каналам в ОС U IX, буферизуют одно или неколько сообщений до тех пор, пока их не получит адресат. Объем буфера ограничен долько доступной емкостью памяти. Каждый порт импорта может быть связан с несколькими портами экспорта. Порты экспорта могут иметь несколько каналов, число которых определяется диспетчером после анализа графа данных на этапе запуска процесса. Каждый канал обязательно связан только с одним портом импорта. Подготовка прикладной программы к выполнению состоиз из следующих шагов: конструирование графа потока данных программы запись графа потока данных на языке графов данных DGL обработка записи на языке DGL написание прикладных программ для узловых процессов компиляция узловых процессов в формат DLL запуск узловых процессов диспетчером на основе DGL Пример параллельной программы В качестве примера расмотрим задачу приближенного вычисления числа Пи с использованием правила прямоугольников для вычисления определенного интеграла где Согласно правилу прямоугольников, где , а . Следует отметить, что это «процессорная» программа. Она не затрагивает многие проблемы параллельного программирования, например критическое влияние процессов ввода-вывода.

Тем не менее эта задача поможет ознакомится с основными принципами построения программ, работающих в соответствии с методом управления потоком данных. Существует множество подходов к решению контрольной задачи. Решение, приведенное ниже, иллюстрирует все основные шаги разработки программы. Конструирование графа потока данных программы Граф потока данных программы (или граф данных) определяет связи между процессами и дугами данных. Граф данных специфицирует все последуещее конструирование программы прикладной задачи. Его создание может потребовать немало усилий для определения того, как разбить программу на активизируемые данными процессы, чтобы достичь максимального увеличения скорости выполнения. В пределе разрабатываемая программа может быть создана в виде одного процесса, но при этом теряется параллелелизм. Можно создать множество мелких процессов, таких как один оператор или даже одна арифметическая операция, что приведет к резкому увеличению расходов, связанных с запуском каждого процесса и обменом данных между ними.  Следует отметить, что структура решаемой задачи часто наводит на хорошее первое приближение. После того, как граф данных нарисован, каждый процесс, начало и конец каждой дуги помечаются буквенно-цифровым именем, которое используется в языке DGL. Если выход ou имеет несколько каналов, то его i-й канал обозначается на схеме строкой ou . Для подсчета числа Пи используется несколько рабочих процессов,  которые вычисляют свои части интеграла и пересылают результат суммирующему процессу. Рабочие процессы обращаются за очередным заданием к процессу распределения работ. Вся работа не распределяется заранее равномерно между процессами: один рабочий процесс, если он запущен на более быстрой машине, может выполнить львиную долю работы. Из входа um i er процесс Summer считывает число частичных сумм,  которые он должен просуммировать до завершения своей работы. На вход arg процесса Worker поступает задание: границы и число интервалов. Если число интервалов в задании равно нулю, то процесс завершает работу. Пересылая свой идентификатор через выход dema d рабочий процесс обращается за очередным заданием. Запись графа потока данных на языке Da a Graph La guage Перевод графа потока данных в язык DGL совершается однозначным образом. В записи на DGL каждый процесс представлен заголовком и списком входных и выходных портов. При описании процесса можно использовать числовые константы, которые определяются в начале программы. Ряд констант задается диспетчером - константа procs, например, равна числу доступных процессоров в системе. Синтаксис языка DGL приведен в приложении А. 11 DA AFLOW GRAPH Pi; 12 13 W = procs - 2 14 15 PROCESS Ma ager 16   EXPOR : 17     worker :arg; 18     um i er    --> Summer: um i er; 19   IMPOR : 20     dema d lis ; 21 E D 22 23 PROCESS Worker 24   EXPOR : 25     dema d --> Ma ager:dema d lis ; 26     resul --> Summer:par sum; 27   IMPOR : 28     arg; 29 E D 30 31 PROCESS Summer 32   IMPOR : 33     um i er; 34     par sum; 35 E D Запись программы вычисления Пи на языке DGL В строке 13 определяется константа W - число рабочих процессов.

Ее значение выбирается так, чтобы использовать для решения задачи все компьютеры сети. В строке 23 описывается процесс Worker. Константа W, расположенная в квадратных скобках после имени процесса, дает указание диспетчеру создать W копий данного процесса. Причем, если значение W меньше 1, то все равно создается одна копия. Все копии нумеруются, номер копии записывается в константу p, которая может быть использована при описании выходов процесса. Рассмотрим пример. resul à fil er:arg Данная запись означает, что выход resul р-й копии процесса будет связан со входом arg (2р 1)-й копии процесса fil er. Запись в строке 17 означает, что выход worker процесса Ma ager будет иметь W каналов. Причем, если значение W меньше 1, то все равно будет создан один канал. Все каналы нумеруются, номер канала записывается в константу С. В примере С-й канал выхода worker связан со входом arg  С-ой копии процесса Worker. Написание тела для каждого процесса Для каждого процесса нунжно создать файл-шаблон. Имя такого файла совпадает с именем процесса и имеет расширение frm (можно воспользоваться файлом Process.frm). В нашем случае имеем три файла: Ma ager.frm, Worker.frm и Summer.frm. В каждом файле есть процедура, имя которой заканчивается на Body. Внутри нее записывается тело процесса. 10 PROCEDURE Ma agerBody; 11   VAR 12     ask    : RECORD :cardi al; a,b:real; E D; 13     i,WrkId : cardi al; 14   CO S 15     : cardi al = 10; 16   BEGI 17     expor umI er.Se d ( , SizeOf( )); 18     ask. := 10 ; 19     ask.b := 0; 20     FOR i := 1 O DO BEGI 21       ask.a := ask.b; 22       ask.b := i 1.0 / ; 23       impor Dema dLis .Receive (WrkId, SizeOf(WrkId)); 24       expor Worker.Se d ( ask, SizeOf( ask)); 25     E D; 26     ask. := 0; 27     FOR i := 1 O expor Worker. Cha els DO 28       expor Worker.Se d ( ask, SizeOf( ask)); 29   E D;   Файл Ma ager.frm : тело процесса Ma ager Переменная ask описывает задание для рабочего процесса:  a,b - границы, - число интервалов. Константа , описанная в строке 15, равна числу разбиений отрезка . В начале работы посылаем процессу Summer число разбиений (строка 17) . В строке 23 ждем запроса от одного из рабочих процессов. Запрос представляет собой идентификатор запрашивающего процесса. Получив запрос, отсылаем очередное задание соответствующему рабочему (строка 24). После того, как задания распределены, нужно сообщить об этом всем рабочим процессам. Для этого служат строки 26-28: по всем каналам порта expor Worker посылаем задание с нулевым числом интервалов - сигнал о завершении работы. 30 PROCEDURE WorkerBody; 31   VAR 32     ask : RECORD :word; a,b:real; E D; 33     S : real; 34     i : word; 35   FU C IO f(x:real):real; 36     BEGI 37       Resul := 4 / (1 x x); 38     E D; 39   BEGI 40     expor Dema d.Se d (FloLib.Copy umber, SizeOf(cardi al)); 41     WHILE ( rue) DO WI H ask DO BEGI 42       impor Arg.Receive ( ask, SizeOf( ask)); 43       IF ( ask. = 0) HE EXI ; 44       h := (b-a)/ ; 45       S := 0; 46       FOR i := 1 O DO 47         S := S f(a (i-0.5) h); 48       S := h S; 49       expor Par Sum.S

Еще несколько лет назад казалось, что с этой ролью справится XML, однако сейчас понятно, что подобные проблемы ему не по зубам (более подробно по этому поводу см. врезку «XML и XSLT»). Вывод: подобные языки нужно создавать. Причем нужно создавать свой, особенный набор языков для каждого типа проектируемых систем, поскольку абстракции, на которых основана какая-нибудь бухгалтерская программа, сильно отличаются от абстракций системы по сбору данных для аналитической отчетности. Для таких языков даже существует устоявшийся термин DSL (Domain-Specific Language, специализированный язык предметной области),P которым мы и будем пользоваться в дальнейшем. Идея языков предметной области стара как мир. Макросы, языки командных оболочек (shell-скрипты Unix, например), проблемно-ориентированные языки приложений (такие как встроенный язык известной в России системы «1С»), языки пользовательских интерфейсов (например, XUL, широко известный в сообществе Mozilla), даже «великий и могучий» SQL для работы с базами данных,P все вышеперечисленные языки относятся к категории DSL, поскольку каждый из них проектировался для своей предметной области

1. Системы управления базами данных

2. Система управления базой данных объектов гражданской обороны для принятия решений в чрезвычайной ситуации (Диплом)

3. Современные системы управления базами данных

4. Методологические аспекты проведения аудита и особенности тестирования системы компьютерной обработки данных

5. Настольные системы управления базами данных

6. Разработка системы управления базой данных строительной фирмы
7. Серверы и системы управления базами данных
8. Система управления базами данных

9. Система управления базой данных

10. Системы управления базами данных

11. Табличный процессор Excel. Система управления базой данных MS Access. Векторный редактор CorelDraw

12. Системы сети передачи данных

13. Использование электронной таблицы как базы данных. Сортировка и фильтрация данных в Microsoft Excel 97

14. Управление потоками данных в параллельных алгоритмах вычислительной линейной алгебры

15. Моделирование потоков данных

16. Устройство разделения цифрового потока данных

Таблетки для посудомоечной машины "Clean&Fresh", 5 in1 (giga).
Таблетки для посудомоечной машины «Clean&Fresh» – чистота и свежесть Вашей посуды в каждой таблетке! Великолепно очищает посуду
1122 руб
Раздел: Для посудомоечных машин
Антипригарный чехол для гладильной доски "Paterra", размер L-XL, 146x55 см.
Эффект двустороннего глажения. Чехол имеет хлопковую основу с особой антипригарной пропиткой из силикона, которая исключает пригорание
891 руб
Раздел: Чехлы для гладильной доски
Игровой надувной цилиндр "Gymex".
Игровой надувной цилиндр GYMEX – очень полезная игрушка для физического развития малыша! Состоит он из трёх прозрачных надувных секций,
419 руб
Раздел: Батуты, надувные центры

17. Налоговая система Дании

18. Форматы баз данных в автоматизированных библиографических системах

19. Системы принятия решений, оптимизация в Excel и базы данных Access

20. Диагностика системы электрооборудования и регулировка углов установки управляемых колёс автомобиля ГАЗ-3110 "Волга"

21. Построение информационно-управляющей системы с элементами искусственного интеллекта

22. Проектирование канала сбора аналоговых данных микропроцессорной системы
23. Система «природа — общество» и климат. Природная экодинамика по данным наблюдений
24. Логистика в системе управления товарно-материальными потоками промышленного предприятия

25. Web-серверы, базы данных в Интернет, Поиск информации в Интернет, Основные системы и средства

26. Проектирование системы сбора данных

27. Система баз данных MS Access

28. Проблемы хранения и обработки медицинских данных в региональной телемедицинской информационной системе ХМАО

29. Проектирование системы сбора данных

30. Проектування інформаційної системи збору даних землевпорядкування для автоматизації процесу оцінки земельних ділянок

31. Автоматизована система "Облік паспортних даних"

32. Моделювання елементів і каналу системи збору даних

Набор капиллярных ручек "Fine Writer 045", 20 цветов, 0,8 мм, пластиковая банка.
Цвет чернил - ассорти. Набор - да. Количество в наборе - 20. Форма корпуса - шестигранная. Толщина линии - 0,45 мм. Диаметр пишущего узла
317 руб
Раздел: Капиллярные
Машинка закаточная винтовая "Мещёра-2".
Машинка идеальна для домашнего консервирования, она проста в использовании и надежна в работе. Конструкция машинки обеспечивает ее
337 руб
Раздел: Консервирование
Аэрозоль Gardex "Extreme" от клещей, 150 мл.
Аэрозоль является эффективным средством, парализующим клещей после соприкосновения с одеждой. Действие активного вещества сохраняется до
305 руб
Раздел: Аэрозоль, спрей

33. Обеспечение защиты данных в системе "Учет рабочего времени"

34. Проектування дволанкової розподіленої інформаційної системи для роботи з базами даних із використанням SQL Interbase

35. Розробка програмного забезпечення системи збору даних про хід та параметри технологічного процесу

36. Система баз данных MS Access

37. Системы распознания текста и ввода данных

38. Сохранение данных в операционных системах
39. Требования к геоинформационным системам и содержанию баз данных
40. Фізична структура даних. Бухгалтерські інформаційні системи

41. Защита информации в автоматизированных системах обработки данных: развитие, итоги, перспективы

42. Анализ системы управления персоналом на ЗАО "Вимм Билль Данн Йошкар-Ола"

43. Системы управления материальными потоками

44. Вычислительная система обработки данных в реальном времени

45. Общая характеристика предприятия РУПП "БеЛАЗ" и анализ существующей системы управления материальными потоками

46. Подготовка данных и движение по азимутам

47. Особенности годового хода приземной температуры воздуха в разных частях Земли по данным ОА Гидрометцентра РФ

48. Безработица в России /данные на 1992г/

Вспышка для селфи, белая, 65x35x11 мм (арт. TD 0399).
Не можете и дня прожить не сделав снимок на смартфон? Для тех кто не любит упускать удачные снимки из-за плохого освещения - съемная
462 руб
Раздел: Прочее
Канистра-бочка с навесными ручками, 30 л (диаметр горловины 215 мм).
Канистра изготовлена из прочного пищевого пластика и предназначена для транспортировки и хранения пищевых жидкостей. Изделие безопасно для
496 руб
Раздел: Баки, канистры
Кружка фарфоровая "Морская волна", 375 мл.
Кружка. Объем: 375 мл. Материал: фарфор.
342 руб
Раздел: Кружки

49. Автоматизированные информационные технологии формирования, обработки и представления данных в налоговой службе

50. Даниил Иванович Хармс

51. Данило Нечай - сподвижник Богдана Хмельницкого

52. Классовый и сословный характер общества по данным древневосточных судебников

53. Методы компьютерной обработки статистических данных. Проверка однородности двух выборок

54. Построение сети передачи данных
55. Разработка вычислительного устройства, состоящего из двух взаимозаменяемых частей: операционного автомата и управляющего автомата
56. Информационные потоки в ЭВМ. Алгоритм работы процессора

57. Организация и применение микропроцессорных систем обработки данных и управления

58. Сжатие данных

59. Пример базы данных на Delphi 2.0

60. Различные классы баз данных по предметным областям использования

61. Принципы проектирования и использования многомерных баз данных

62. Проектирование устройства сбора данных

63. Построение информационной и даталогической моделей данных

64. Примеры баз данных (Студенческая группа)

Подушка "Green Line. Бамбук", 50х70 см.
Удобные и практичные постельные принадлежности, изготовленные с применением ткани нового поколения из микрофиламентных нитей Ultratex и
656 руб
Раздел: Размер 50х70 см, 40х60 см
Пелёнка-кокон для мальчика "Карапуз" на липучке.
Пеленка-кокон для пеленания с удлиненными краями, оснащенными липучками. Дарит чувство комфорта и безопасности новорожденному малышу,
419 руб
Раздел: Пелёнки
Занимательная пирамидка большая.
Эта пирамидка станет для ребенка хорошей игрушкой для игр в песочнице и для игр в воде. Предназначение пирамидки состоит в том, чтобы
329 руб
Раздел: Пластиковые

65. Работа с Базами данных в Delphi

66. Создание и описание базы данных "СТУДЕНТЫ" (Отчет по курсу "Базы данных")

67. Применение самоорганизующихся карт Кохонена для классификации и анализа пространственно распределенных неполных данных по окружающей среде

68. Базы данных Microsoft Access

69. Разработка базы данных "Культурный досуг"

70. Разработка базы данных
71. Алгоритм создания базы данных складского учета
72. Разработка базы данных для объекта автоматизации: гомеопатическая аптека

73. Разработка приложений на языке VBA в среде MS EXCEL по обработке данных для заданных объектов

74. Обработка данных о студентах

75. Инструкция по эксплуатации базы данных магазина «Телевизоры» средствами Access 2000

76. Защита баз данных

77. HTML и базы данных

78. КОНСОЛИДАЦИЯ ДАННЫХ И ФИЛЬТРЫ В MicroSoft Excel

79. База данных периодического издания

80. ПРОЕКТИРОВАНИЕ УПРАВЛЯЮЩЕГО АВТОМАТА

Органайзер подвесной "Тролли", 64 см, 5 карманов.
Органайзер подвесной, 5 карманов 13x15 см. Высота: 64 см. Материал: полиэстер 600 ден.
317 руб
Раздел: Подставки, лотки для бумаг, футляры
Заварочный чайник "Mayer & Boch", 1,6 л.
Заварочный чайник изготовлен из термостойкого стекла, фильтр выполнены из нержавеющей стали. Изделия из стекла не впитывают запахи,
417 руб
Раздел: Чайники заварочные
Шкатулка "Шиповник" (36x26x18 см).
Шкатулка очень удобна в использовании, и к тому же станет украшением вашего домашнего интерьера! Размер: 36x26x18 см. Оформление корпуса:
2706 руб
Раздел: Шкатулки для рукоделия

81. Транспортные сети. Задача о максимальном потоке в сети

82. Донозологический период эпилепсии у детей, основанная по данным докторской диссертации Миридонова В.Т.

83. Некоторые проблемы преступности на государственных границах РФ /по данным 1994-95 гг./

84. Киотский протокол. Суть и цели данного документа. История его составления и подписания странами-членами мирового сообщества

85. Статистическая обработка экспериментальных данных

86. Составление плана раскроя пиловочного сырья и расчет технологических потоков лесопильного цеха
87. Научная педагогическая деятельность Даниила Борисовича Эльконина
88. Модернизация управляющего блока тюнера

89. Синтез управляющего автомата операции умножения младшими разрядами вперед со сдвигом множимого над числами в форме с фиксированной точкой в формате {1,8} для автомата Мура

90. Способы наглядного представления статических данных

91. Общая оценка финансового состояния предприятия по данным бухгалтерской и статической отчетности

92. Управление процессами организации сбора и обобщения статистических данных на примере Алматинского областного управления статистики

93. Анализ хозяйственной деятельности предприятия на основе статистических данных

94. Комплексная оценка финансово-хозяйственной деятельности ОАО "Вега" на основе данных буххгалтерской финансовой отчетности

95. Технический анализ и его применение на примере данных полученных с Московской фондовой биржи

96. Стабилизация денежного потока, теории фирмы

Модульный массажный коврик "Орто-пазл. Лес".
Полезное приобретение для здоровья и гармоничного развития ребенка - напольное покрытие Орто МИКС "Лес". В состав комплекта
1367 руб
Раздел: Коврики
Развивающая настольная игра "Кругозорник".
1,5 года разработчики трудились над созданием "Кругозорника": изучали учебные программы по окружающему миру, прорисовывали сотни
952 руб
Раздел: Карточные игры
Набор "Водный мир №4" (в коробке).
"Водный мир №4" содержит много элементов для игры с водой: 2 водяных мельницы, водяной насос, которым можно накачать водичку в
1417 руб
Раздел: Игровые и разнопредметные наборы

97. Статистические данные по санаторно-курортному комплексу Кавминвод

98. Воевода Даниил Федорович Адашев

99. Дания: Знамя датского короля


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.