КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Вычислительные системы с управлением вычислениями по запросу
В системах с управлением от потока данных каждая команда, для которой имеются все необходимые операнды, немедленно выполняется. Однако для получения окончательного результата многие из этих вычислений оказываются ненужными. Более прагматичен подход, когда вычисления инициируются не по готовности данных, а на основе запроса на данные. Такая организация вычис-лительного процесса называется управлением вычислениями по запросу (demand-driven control). В ее основе лежит представление вычислительного процесса в виде графа, как и в потоковой модели (data-driven control). В потоковой модели верхние узлы графа запускаются раньше, чем нижние (нисходящая обработка). Механизм управления по запросу состоит в обработке вершин потокового графа снизу вверх путем разрешения запуска узла, лишь когда требуется его результат. Данный процесс получил название редукции графа, а ВС, оперирующая в режиме снизу вверх (рис. 14.1, г), называется редукционной вычислительной системой. Математическую основу редукционных ВС составляет лямбда-исчисление, а программы для них пишутся на функциональных языках программирова- ния (FP, Haskell). На функциональном языке все программы представляются в виде выражений, а процесс выполнения программы заключается в определе- нии их значений. Это называется оценкой выражения. Она производится по- средством повторения операции выбора и упрощения тех частей выражения, которые можно свести от сложного к простому. Такая часть выражения назы-вается редексом, а операция упрощения – редукцией. Выражение, не содержа- щее редекса, называется нормальной формой. Процесс редукции завершается, когда преобразованное выражение становится нормальной формой. В редукционной ВС вычисления производятся по запросу на результат операции. Предположим, что вычисляется выражение При вычислениях, управляемых запросами, все начинается с запроса на результат На рис. 14.16 показан процесс вычисления с помощью редукционной ВС значения выражения
Рис. 14.16. Пример вычисления выражения на редукционной ВС: а – исходное положение; б – после первого шага редукции
Известны два типа моделей редукционных систем: строчная и графовая, отличающиеся тем, что именно передается в функцию – скопированные значе- ния данных или только указатели на места их хранения. В строчной редукционной модели каждый запросивший узел получает от-дельную копию выражения для собственной оценки. Длинное строковое выра-жение рекурсивным образом сокращается (редуцируется) до единственного зна-чения. Каждый шаг редукции содержит оператор, сопровождаемый ссылкой на требуемые входные операнды. Оператор приостанавливается, пока оценивают- ся входные параметры. На рис. 14.17 показан процесс вычислений с помощью строчной редук- ции. Если требуется значение
Рис. 14.17. Процесс вычислений в модели со строчной редукцией: а – исходный граф; б, в – последовательно редуцированные графы; г – результат редукции
В графовой редукционной модели выражение представлено как ориенти-рованный граф. Граф сокращается по результатам оценки ветвей и подграфов. В зависимости от запросов возможно параллельное оценивание и редукция различных частей графа или подграфов. Запросившему узлу, который управ- ляет всеми ссылками на граф, возвращается указатель на результат редукции. «Обход» графа и изменение ссылок продолжаются, пока не будет получено значение результата, копия которого возвращается запросившей команде. Рис. 14.18 иллюстрирует пример вычислений с помощью графовой ре- дукции. В этой модели, когда требуется найти значение
Рис. 14.18. Процесс вычислений в модели с графовой редукцией: а – исходный граф; б, в, г – последовательная редукция со сменой направления указателей; д – результат редукции Контрольные вопросы
1. Перечислите и охарактеризуйте возможные механизмы управления вы-числительным процессом. 2. В чем состоит идея управления от потока данных? 3. Какие элементарные операторы могут быть взяты в качестве вершин потокового графа? 4. Каким образом осуществляется передача данных между узлами потоко- вого графа? 5. В чем состоит принципиальное различие между статической и динами-ческой потоковой архитектурами? 6. Выполнение какого условия, кроме наличия входных данных, требуется для активации операции в статической потоковой ВС? 7. Опишите структуру пакетов действий и пакетов результата в статической потоковой ВС и поясните назначение полей этих пакетов. 8. Какой смысл вкладывается в понятие «окрашенный токен»? 9. Сохраняется ли в потоковых ВС принцип локальности по обращению, свойственный вычислительным системам фон-неймановского типа? 10. Определите понятие thread применительно к макропотоковой обработке. 11. В чем заключаются преимущества макропотоковой обработки над обыч- ной потоковой? 12. Каким образом и при каких условиях гиперпотоковая обработка способ-ствует повышению производительности процессора? 13. Почему вычислительные системы с управлением по запросу называют редукционными? 14. Какой математический аппарат лежит в основе редукционных ВС? Пояс-ните основные положения этого аппарата. 15. Поясните различия между строковой и графовой моделями редукции.
Дата добавления: 2014-01-04; Просмотров: 1033; Нарушение авторских прав?; Мы поможем в написании вашей работы! |