Поток данных
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
В технике вычислительной поток данных — это широкое понятие, которое имеет различные значения в зависимости от приложения и контекста. В контексте архитектуры программного обеспечения поток данных относится к потоковой обработке или реактивному программированию .
Архитектура программного обеспечения
[ редактировать ]Потоковые вычисления — это парадигма программного обеспечения, основанная на идее представления вычислений в виде ориентированного графа , где узлами являются вычисления, а по ребрам — поток данных. [1] Поток данных также можно назвать потоковой обработкой или реактивным программированием . [2]
Существует множество языков обработки потоков данных различных форм (см. Потоковая обработка ). Аппаратное обеспечение потока данных (см. Архитектура потока данных ) является альтернативой классической архитектуре фон Неймана . Наиболее очевидным примером программирования потоков данных является подмножество, известное как реактивное программирование с использованием электронных таблиц. Когда пользователь вводит новые значения, они мгновенно передаются следующему логическому «актору» или формуле для расчета.
Распределенные потоки данных также были предложены как абстракция программирования, отражающая динамику распределенных мультипротоколов. Ориентированная на данные перспектива, характерная для программирования потоков данных, способствует созданию функциональных спецификаций высокого уровня и упрощает формальные рассуждения о компонентах системы.
Аппаратная архитектура
[ редактировать ]Архитектура аппаратного обеспечения для потоков данных была основной темой исследований компьютерной архитектуры в 1970-х и начале 1980-х годов. Джек Деннис из Массачусетского технологического института (MIT) был пионером в области статических архитектур потоков данных. Проекты, которые используют обычные адреса памяти в качестве тегов зависимостей данных, называются машинами статического потока данных. Эти машины не позволяли одновременно выполнять несколько экземпляров одних и тех же процедур, поскольку простые теги не могли различать их. Проекты, использующие память, адресуемую по содержимому, называет машинами динамических потоков данных Арвинд . Они используют теги в памяти для облегчения параллелизма.Данные текут вокруг компьютера через компоненты компьютера. Он поступает с устройств ввода и может выходить через устройства вывода (принтер и т. д.).
Параллелизм
[ редактировать ]Сеть потоков данных — это сеть одновременно выполняемых процессов или автоматов, которые могут взаимодействовать путем отправки данных по каналам (см. Передача сообщений ).
В сетях процессов Кана , названных в честь Жиля Кана , процессы детерминированы . Это означает, что каждый определенный процесс вычисляет непрерывную функцию от входных потоков к выходным потокам и что сеть определенных процессов сама является определенной, таким образом вычисляя непрерывную функцию. Это означает, что поведение таких сетей можно описать набором рекурсивных уравнений, которые можно решить с помощью теории неподвижной точки . Движение и трансформация данных представлены серией фигур и линий.
Другие значения
[ редактировать ]Поток данных также может относиться к:
- Поток данных Power BI — Power Query облачная реализация , используемая для преобразования исходных данных в очищенные наборы данных Power BI, которые будут использоваться разработчиками отчетов Power BI через Microsoft Dataverse (ранее называвшуюся Microsoft Common Data Service).
- Google Cloud Dataflow — полностью управляемый сервис для выполнения конвейеров Apache Beam в экосистеме Google Cloud Platform.
См. также
[ редактировать ]Словарное определение потока данных в Викисловаре
- Двоичная модульная машина потока данных (BMDFM)
- Коммуникация последовательных процессов
- Сложная обработка событий
- Диаграмма потока данных
- Анализ потока данных , разновидность программного анализа.
- Поток данных
- Программирование потоков данных (парадигма языка программирования)
- Эрланг (язык программирования)
- Программирование на основе потоков (FBP)
- Управление потоком (данные)
- Функциональное реактивное программирование
- Ленивая оценка
- Lucid (язык программирования)
- Оз (язык программирования)
- Поток пакетов
- Конвейер (вычисления)
- Чистые данные
- Государственный переход
- Тензорфлоу
- Теано
- Методика Уорда-Меллора
Ссылки
[ редактировать ]- ^ Шварцкопф, Мальта (7 марта 2020 г.). «Замечательная полезность вычислений с потоками данных» . АСМ СИГОПС . Проверено 31 июля 2022 г.
- ^ Краткое введение в потоковую обработку