Przepływ danych - Dataflow

W informatyce , przepływ danych jest szerokie pojęcie, które ma różne znaczenie w zależności od zastosowania i kontekstu. W kontekście architektury oprogramowania przepływ danych dotyczy przetwarzania strumieniowego lub programowania reaktywnego .

Architektura oprogramowania

Dataflow to paradygmat oprogramowania oparty na idei odłączania aktorów obliczeniowych na etapy ( potoki ), które mogą być wykonywane jednocześnie. Przepływ danych można również nazwać przetwarzaniem strumieniowym lub programowaniem reaktywnym .

Istnieje wiele języków przetwarzania przepływu danych / strumieni o różnych formach (patrz Przetwarzanie strumieniowe ). Sprzęt do przepływu danych (patrz Architektura Dataflow ) jest alternatywą dla klasycznej architektury Von Neumanna . Najbardziej oczywistym przykładem programowania przepływu danych jest podzbiór znany jako programowanie reaktywne za pomocą arkuszy kalkulacyjnych. Gdy użytkownik wprowadza nowe wartości, są one natychmiast przesyłane do następnego logicznego „aktora” lub wzoru do obliczeń.

Rozproszone przepływy danych zostały również zaproponowane jako abstrakcja programowania, która oddaje dynamikę rozproszonych wielu protokołów. Perspektywa skoncentrowana na danych, charakterystyczna dla programowania przepływu danych, promuje specyfikacje funkcjonalne wysokiego poziomu i upraszcza formalne rozumowanie dotyczące komponentów systemu.

Architektura sprzętowa

Architektury sprzętowe do przepływu danych były głównym tematem badań nad architekturą komputerów w latach 70. i na początku 80. Jack Dennis z Massachusetts Institute of Technology (MIT) był pionierem w dziedzinie statycznych architektur przepływu danych. Projekty, które używają konwencjonalnych adresów pamięci jako znaczników zależności danych, nazywane są maszynami statycznego przepływu danych. Maszyny te nie pozwalały na jednoczesne wykonywanie wielu wystąpień tych samych procedur, ponieważ proste znaczniki nie mogły ich rozróżniać. Projekty wykorzystujące pamięć adresowalną treścią są nazywane maszynami dynamicznego przepływu danych przez firmę Arvind . Używają znaczników w pamięci, aby ułatwić równoległość. Dane przepływają wokół komputera przez komponenty komputera. Jest wprowadzany z urządzeń wejściowych i może wychodzić przez urządzenia wyjściowe (drukarkę itp.).

Konkurencja

Sieć przepływu danych to sieć współbieżnie działających procesów lub automatów, które mogą komunikować się, wysyłając dane kanałami (patrz przekazywanie wiadomości ).

W sieciach procesów Kahna , nazwanych na cześć Gillesa Kahna , procesy są zdeterminowane . Oznacza to, że każdy określony proces oblicza ciągłą funkcję od strumieni wejściowych do strumieni wyjściowych, a sieć określonych procesów jest sama w sobie wyznaczona, obliczając w ten sposób funkcję ciągłą. Oznacza to, że zachowanie takich sieci można opisać za pomocą zestawu równań rekurencyjnych, które można rozwiązać za pomocą teorii punktów stałych . Ruch i transformacja danych jest reprezentowana przez szereg kształtów i linii.

Zobacz też

Bibliografia

Linki zewnętrzne