Поток данных - Dataflow

В вычислениях , поток данные представляет собой широкое понятие, которое имеет различные значения в зависимости от применения и контекста. В контексте архитектуры программного обеспечения поток данных относится к потоковой обработке или реактивному программированию .

Архитектура программного обеспечения

Поток данных - это парадигма программного обеспечения, основанная на идее разделения вычислительных субъектов на этапы ( конвейеры ), которые могут выполняться одновременно. Поток данных также можно назвать потоковой обработкой или реактивным программированием .

Существовало несколько языков обработки потоков данных в различных формах (см. Потоковая обработка ). Аппаратное обеспечение потока данных (см. Архитектура потока данных ) является альтернативой классической архитектуре фон Неймана . Наиболее очевидный пример программирования потока данных - это подмножество, известное как реактивное программирование с электронными таблицами. Когда пользователь вводит новые значения, они мгновенно передаются следующему логическому «действующему лицу» или формуле для вычисления.

Распределенные потоки данных также были предложены как программная абстракция, которая фиксирует динамику распределенных мультипротоколов. Ориентированная на данные характеристика программирования потоков данных способствует высокоуровневым функциональным спецификациям и упрощает формальные рассуждения о компонентах системы.

Аппаратная архитектура

Аппаратные архитектуры для потоков данных были главной темой исследований компьютерной архитектуры в 1970-х и начале 1980-х годов. Джек Деннис из Массачусетского технологического института (MIT) был пионером в области архитектур статических потоков данных. Проекты, использующие обычные адреса памяти в качестве тегов зависимости данных, называются машинами статического потока данных. Эти машины не позволяли выполнять несколько экземпляров одних и тех же подпрограмм одновременно, потому что простые теги не могли различать их. Проекты, использующие память с адресацией по содержимому , Арвинд называет машинами динамического потока данных . Они используют теги в памяти для облегчения параллелизма. Данные обтекают компьютер через компоненты компьютера. Он вводится с устройств ввода и может выходить через устройства вывода (принтер и т. Д.).

Параллелизм

Сеть потока данных - это сеть одновременно выполняющихся процессов или автоматов, которые могут обмениваться данными, отправляя данные по каналам (см. Передачу сообщений ).

В технологических сетях Кана , названных в честь Жиля Кана , процессы являются детерминированными . Это означает, что каждый детерминированный процесс вычисляет непрерывную функцию от входных потоков до выходных потоков, и что сеть определенных процессов сама является детерминированной, таким образом вычисляя непрерывную функцию. Это означает, что поведение таких сетей может быть описано набором рекурсивных уравнений, которые могут быть решены с помощью теории неподвижной точки . Движение и преобразование данных представлено серией фигур и линий.

Смотрите также

Рекомендации

Внешние ссылки