データフロー

データフロー: dataflow)は、情報工学において使われる用語であり、様々な意味を持つ。特にメッセージパッシングと関連が深い。

データフロー図

データフローという用語は、システム内のデータの流れを指す言葉としても使われ、データフロー図内の矢印がデータフローと呼ばれている。データフロー図のデータフローは、外部実体やプロセスやデータストアの間のデータの流れを表現したものである。

データフローネットワーク

データフローネットワークとは、プロセス群やオートマトンを並行的に実行するネットワークであり、通信路を通してデータを相互にやり取りする(メッセージパッシング参照)。

カーン・プロセス・ネットワーク英語版 はデータフローネットワークの中でも特に重要なクラスである。この場合、各プロセスは継続的に入ってくるデータに何らかの変換を加えて出力する。信号処理の抽象モデルとして重要とされている。

データフローネットワークの概念はアクターモデルと呼ばれる並行性モデルとも密接に関連している。

データフローアーキテクチャ

データフローアーキテクチャ[1]は、ノイマン型制御フローアーキテクチャと正反対のコンピュータ・アーキテクチャを意味する。データフローアーキテクチャではプログラムカウンタを持たないか、(少なくとも概念的には)命令の実行が入力引数が使用可能となった時点で行われる。このような計算方式をデータ駆動という。データフローアーキテクチャを採用したコンピュータで商業的に成功したものはないが、データベースエンジン設計や並列コンピューティングフレームワークなどの各種ソフトウェアアーキテクチャは概念としてデータフローアーキテクチャを採用している。しかし、部分的にはアウト・オブ・オーダー実行として、大きな成功を収めている。

ソフトウェアアーキテクチャ

ソフトウェアアーキテクチャとしてのデータフローは、ある変数の値が変更されたときに他の変数の値を自動的に再計算させるという考え方(リアクティブプログラミング英語版)に基づいている。

データフロー言語はその原理を取り入れたもので、その意味では表計算ソフトが最も一般的な例であろう。例えば、表計算ソフトでは、あるセルに他のセルの値を使った計算式を対応付けることができる。そして、任意のセルの値を変更すると、自動的にその値に依存している他のセルの再計算が行われる。これは依存関係がある限りずっと続く。

データフロー技術は数値の再計算だけに限られない。例えば、マウスの動きに対応して絵を再描画するとか、周囲の明るさの変化に対応してロボットが反応するといったこともデータフロー的な考え方に基づいている。

データフローの利点の1つとして、プログラム内のコードの結合度を減らすことができる点が挙げられる。例えば、変数 X が 変数 Y に依存しているとする。データフローを導入しない状況では、Y が変更されたら明示的に X を再計算しなければならない。これはつまり、Y が X と密接に結合していることを示す。同時に X の値は Y の値に依存しているので、X も Y に結合している。この依存関係からプログラム内に環状の依存関係が生まれる。このような状況に対処する手法として Observer パターンがあるが、そのためのコード量は決して少なくない。データフローでは、X の再計算を自動的に行うことで Y から X への結合を解消し、この状況を改善する。データフローは通常なら多大なコードを要するようなことを暗黙のうちに実現している。

データフローをサポートすべく作成されたプログラミング言語もいくつか存在する。特にビジュアルプログラミング言語にはデータフローの考え方に基づいているものが多い。Javaベースのフレームワークの例として Pervasive DataRush がある。

ハードウェアアーキテクチャ

データフロー型のハードウェアアーキテクチャは1970年代から1980年代初期にかけて盛んに研究された。データフローアーキテクチャの概念は、スタンフォード大学の D.A. Adams(1968年)とMIT の J.E. Rodriguez(1969年)が発表したのを始まりとして、MIT のジャック・デニスらが研究を進めた。

コンピュータアーキテクチャの分類

コンピュータ・アーキテクチャを分類するにあたって、ここでは処理を進行させる鍵は何であるかに着目する。

  • プロセッサ駆動 - プログラムやデータが先に用意されていて、プロセッサによって処理の進行が駆動される方式
    • 機能集中型 - 汎用的なプロセッサが自ら命令やデータを格納場所から取り出す方式。ノイマン型
    • 機能分散型 - プロセッサ群に命令やデータが送られてくる方式。静的データフローアーキテクチャ
  • トークン駆動 - プロセッサ群にプログラムの命令を割り付けておき、トークンと呼ばれるデータや制御がそのプロセッサに到着した時点で処理が行われる方式。動的データフローアーキテクチャ
    • プロセッサ仲介型 - 他のプロセッサからトークンが送られてくる方式。
    • 通信仲介型 - 通信網を仲介してトークンが送られてくる方式。

デニスの先駆的研究は静的データフローアーキテクチャである。動的データフローアーキテクチャの例としては、Manchester Dataflow Machine や MIT Tagged Token がある。

プロセッサ駆動機能分散型

プロセッサ駆動機能分散型のデータフローマシンは、ノード(プロセッサ機能すなわち命令)とトークン(入力データ)とアーク(出力データの出力先ノードを示す一種のポインタ)をパケットとし、メモリに格納しておく。各パケットは必要なトークンが全て揃うと実行可能になる。実行可能なパケットはプロセッサに送られ、プロセッサはそれを解釈実行し、出力トークンをメモリに戻す。その出力トークンは元のアークで示されているノードのパケット内に格納される。これを繰り返すことで処理が行われる。

例えば、2つの整数の加算命令パケットには、加算命令のノード情報と2つの入力トークンと加算結果の出力先情報(複数の場合もある)が格納されており、2つのトークンが揃うと実行可能と判断され、プロセッサに送られる。プロセッサはノードに示された加算命令を実行し、結果のトークンをアークで示されたアドレスに書き込む(正確にはタグによるパターンマッチングを伴うことが多い)。

コンパイラはプログラムを解析してデータの依存関係を明らかにする。これはよりよい最適化を命令列に施すためであるが、一般にコンパイル結果の実行コードにはその依存関係に関する情報は含まれない。データフローマシン向けにコンパイルされたプログラムでは、この依存関係情報を保持する。データフローコンパイラでは各依存関係ごとにユニークなタグを生成する。これにより依存関係のない命令群の並列実行可能性を引き出す。各命令にはタグ付きのオペランドがあり、これが実行コードとして格納される。これは上述のパケットにほぼ相当するが、入力トークンは実行時まで存在しない。

実行コードは、データフローマシンの連想メモリに格納される。ある命令のタグ付きオペランドが全て使用可能となったとき、その命令が実行可能となる。これを命令の「発火」という。実行ユニットが命令を実行すると、その出力データが(タグと共に)連想メモリに送られる。タグのマッチングによってそのデータを必要とする命令の状態が更新され、次の命令が発火する。命令はデータの到着順に発火していき、これはプログラマがプログラムした順番とは異なる可能性がある。

トークン駆動型

トークン駆動型では、プロセッサ同士がネットワークで相互接続されている。ネットワークのトポロジーにより、各プロセッサが任意の他のプロセッサに直接通信可能であれば「通信仲介型」、そうでない場合は「プロセッサ仲介型」と呼ばれる。ネットワーク上の各プロセッサにはそれぞれ複数のノードが割り当てられる。これにトークンが入力されると、そのトークンを処理するノードが処理を実行し、結果をトークンとしてネットワーク上に流す。さらにそのトークンを入力とするノードがそれを処理する。このようにして処理が行われる。トークンに入力データを使う場合はデータフローだが、ノイマン型との親和性を高めるため(ノイマン型向けの集積回路などを流用しやすくするため)データはメモリに格納しておいて、データが利用可能であることを示す制御トークンを使う場合もある(これを正確にはコントロールフローと言う)。

問題点

初期の設計では、タグとしてそのパケットのアドレスなどが使われていた。しかし、これでは同じサブルーチンを並行的に複数呼び出す場合や再帰的に呼び出す場合に、パケットの依存関係の解釈に混乱が生じてしまう。同様にループを実行する場合も同じ問題が生じる。その後の設計ではタグのつけ方を改善してこれらの問題に対処した。

しかし、次のような問題は解決できていない:

  • 超並列システム上でのデータトークンのブロードキャストの効率化
  • 超並列システム上での命令トークンの効率的な分配
  • 実用的なプログラムを格納できるほどの大きな連想メモリの構築

また、システムが巨大化すればするほど個々の命令や依存関係情報を通信でやりとりするコストが増大し、計算にかかるコストに比較して無視できなくなる。つまり、分割の粒度があまりにも細かすぎたのである。

アウト・オブ・オーダー実行は、マイクロプロセッサ内でデータフロー的な最適化を行う方式であり、現在では多くのマイクロプロセッサで実装されている。基本的な手法としては scoreboardingTomasuloのアルゴリズム があるが、どちらも演算器の数などの計算資源による可能な同時処理数にもとづいた制限があるのが一般的であり、以上で述べたようなオーバヘッドの増大は設計段階で避けている。

参考文献

  • 曽和将容(著)、『データフローマシンと言語』、昭晃堂、1986年、ISBN 4-7856-3543-6

脚注

  1. ^ : dataflow architecture

関連項目

外部リンク

Read other articles:

Untuk kegunaan lain, lihat Toba. Danau Tobaᯖᯀᯬ ᯖᯬᯅTao TobaPemandangan Danau Toba dari SipisopisoLetakSumatera Utara, IndonesiaKoordinat2°41′N 98°53′E / 2.68°N 98.88°E / 2.68; 98.88Koordinat: 2°41′N 98°53′E / 2.68°N 98.88°E / 2.68; 98.88Jenis perairanVulkanik/tektonikAliran keluar utamaSungai AsahanTerletak di negaraIndonesiaPanjang maksimal100 km (62 mi)Lebar maksimal30 km (19 mi)Area permukaan1.13...

 

Chronologies Vue de l'Esplanade d'Aix-les-Bains lors de la crue du lac du Bourget de février 1990 en Savoie.Données clés 1987 1988 1989  1990  1991 1992 1993Décennies :1960 1970 1980  1990  2000 2010 2020Siècles :XVIIIe XIXe  XXe  XXIe XXIIe Chronologies thématiques Art Animation asiatique, Architecture, Arts plastiques (Dessin, Gravure, Lithographie, Peinture et Sculpture), Bande dessinée, Cinéma, Danse, Disney, Échecs, Fantasy, Internet, Jeu...

 

Men's javelin throw at the 2022 World ChampionshipsVenueHayward FieldDates21 July (qualification)23 July (final)Competitors32 from 20 nationsWinning distance90.54Medalists  Anderson Peters   Grenada Neeraj Chopra   India Jakub Vadlejch   Czech Republic← 20192023 → Events at the2022 World ChampionshipsTrack events100 mmenwomen200 mmenwomen400 mmenwomen800 mmenwomen1500 mmenwomen5000 mmenwomen10,000 mmenwome...

American politician (born 1956) Not to be confused with Martin Meehan (Irish republican). This article contains text that is written in a promotional tone. Please help improve it by removing promotional language and inappropriate external links, and by adding encyclopedic text written from a neutral point of view. (August 2023) (Learn how and when to remove this message) Marty MeehanPresident of the University of Massachusetts SystemIncumbentAssumed office July 1, 2015Preceded byRobert Ca...

 

Artikel ini perlu diwikifikasi agar memenuhi standar kualitas Wikipedia. Anda dapat memberikan bantuan berupa penambahan pranala dalam, atau dengan merapikan tata letak dari artikel ini. Untuk keterangan lebih lanjut, klik [tampil] di bagian kanan. Mengganti markah HTML dengan markah wiki bila dimungkinkan. Tambahkan pranala wiki. Bila dirasa perlu, buatlah pautan ke artikel wiki lainnya dengan cara menambahkan [[ dan ]] pada kata yang bersangkutan (lihat WP:LINK untuk keterangan lebih lanjut...

 

Peta menunjukkan lokasi Talugtug Data sensus penduduk di Talugtug Tahun Populasi Persentase 199518.119—200018.8950.90%200720.6711.25% Talugtug adalah munisipalitas yang terletak di provinsi Nueva Ecija, Filipina. Pada tahun 2010, munisipalitas ini memiliki populasi sebesar 20.952 jiwa dan 4.879 rumah tangga. Pembagian wilayah Secara administratif Talugtug terbagi menjadi 28 barangay, yaitu: Alula Baybayabas Buted Cabiangan Calisitan Cinense Culiat Maasin Magsaysay (Pob.) Mayamot I Mayamot I...

Чесночницы Сирийская чесночница Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКласс:ЗемноводныеПодкл...

 

ناصر بن جميل معلومات شخصية تاريخ الميلاد 7 أغسطس 1927   تاريخ الوفاة 23 مارس 1979 (51 سنة)   مواطنة الأردن  الحياة العملية المهنة عسكري  تعديل مصدري - تعديل   الشريف ناصر بن جميل بن ناصر بن علي بن محمد بن عبد المعين بن عون (7 أغسطس 1927 - 23 مارس 1979) هو خال ملك الأردن الراحل الح�...

 

Canadian ice hockey player (1975–2022) Ice hockey player Garrett Burnett Burnett with the Iowa Stars in 2005Born (1975-09-23)September 23, 1975Coquitlam, British Columbia, CanadaDied April 11, 2022(2022-04-11) (aged 46)Toronto, Ontario, CanadaHeight 6 ft 3 in (191 cm)Weight 235 lb (107 kg; 16 st 11 lb)Position Left wingShot LeftPlayed for Mighty Ducks of AnaheimNHL draft UndraftedPlaying career 1995–2006 Garrett Rocky Burnett (September 23, 1975...

與貿易有關的知識產權協定  WTO成員(TRIPS協議適用的地方)  歐盟成員國身份也適用的協議締約方  世貿組織觀察員類型建立世界貿易組織的協定的附件簽署日1994年4月15日[1]簽署地點摩洛哥馬拉喀什[1]生效日1995年1月1日[2]締約方164(所有世貿組織成員)[3]語言英語、法語和西班牙語收錄於维基文库的條約原文《與貿易有關的知識...

 

American businessman Joseph A. UnanueJoseph A. Unanue in 1982Born(1925-03-14)March 14, 1925Brooklyn, New YorkDiedJune 12, 2013(2013-06-12) (aged 88)Alpine, New JerseyAllegianceUnited States of AmericaService/branchUnited States ArmyYears of service1943–1946RankSergeantUnit63rd Armored Infantry Battalion, 11th Armored DivisionBattles/warsWorld War II* Battle of the BulgeAwardsBronze StarWorld War II Victory MedalSpouse(s)Carmen Ana CasalChildren6, including Andy UnanueRelations...

 

Romanian History Part of a series on the History of Romania Prehistory Cucuteni–Trypillia culture Hamangia culture Bronze Age in Romania Prehistory of Transylvania Antiquity Dacia Dacian Wars Roman Dacia Origin of the Romanians Middle Ages (Early) History of Transylvania Banat in the Middle Ages First Bulgarian Empire Second Bulgarian Empire Voivodeship of Maramureș Founding of Wallachia Founding of Moldavia Rumelia Eyalet Early Modern Times Silistra Eyalet Principality of Transylvania Eya...

National Historical Park of the United States in Maryland This article is about the historical park in Maryland. For the park in New York, see Harriet Tubman National Historical Park. Harriet Tubman Underground Railroad National Historical ParkShow map of MarylandShow map of the United StatesLocationDorchester County, Maryland, United StatesNearest cityChurch Creek, MarylandCoordinates38°26′54″N 76°08′19″W / 38.4483°N 76.1387°W / 38.4483; -76.1387[...

 

German fairy tale This article is about the fairy tale. For the Norse deities, see Norns. The Three Spinners1912 illustration by Robert Anning BellFolk taleNameThe Three SpinnersAlso known as The Seven Little Pork Rinds The Three Spinning Women Aarne–Thompson grouping ATU 501 (The Three Old Women Helper) ATU 501 (The Three Old Spinning Women) CountryGermany ItalyPublished inGrimm's Fairy Tales Italian Folktales The Three Spinners (also The Three Spinning Women; German: Die drei Spinnerinnen...

 

Pemilihan umum Wali Kota Cimahi 20172012202215 Februari 2017Kandidat   Calon Atty Suharti Tochija Asep Hadad Didjaya Ajay Muhammad Priatna Partai Partai Golkar Partai Demokrat PDI-P Pendamping Achmad Zulkarnain Irma Indriyani Ngatiyana Suara rakyat 76.340 79.931 106.583 Persentase 29,04% 30,41% 40,55% Peta persebaran suara Peta lokasi Kota Cimahi Wali Kota petahanaAtty Suharti Tochija Golkar Wali Kota terpilih Ajay Muhammad Priatna PDI-P Pemilihan umum Wali Kota Cimahi dilaksanakan...

San Claudio de la Colombière Sacerdote della Compagnia di Gesù  NascitaSaint-Symphorien-d'Ozon, 2 febbraio 1641 MorteParay-le-Monial, 15 febbraio 1682 (41 anni) Venerato daChiesa cattolica Beatificazione16 giugno 1929 da papa Pio XI Canonizzazione31 maggio 1992 da papa Giovanni Paolo II Ricorrenza15 febbraio Manuale Claude de la Colombière (Saint-Symphorien-d'Ozon, 2 febbraio 1641 – Paray-le-Monial, 15 febbraio 1682) è stato un gesuita e scrittore francese. Superiore dell...

 

For Air's song, see Premiers Symptômes. This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Casanova 70 – news · newspapers · books · scholar · JSTOR (February 2018) (Learn how and when to remove this message) 1965 Italian filmCasanova 70film posterDirected byMario MonicelliWritten byMario MonicelliSuso Cecchi ...

 

Ян Юлианович Тарвацкийпол. Jan Tarwacki Имя при рождении пол. Jan Tarwacki Дата рождения 1879 Место рождения Варшава, Российская империя Дата смерти 24 апреля 1918(1918-04-24) Место смерти Демерджи-яйла, Ялтинский уезд, Таврическая губерния Гражданство  Российская империя→ РСФСР Р...

此條目没有列出任何参考或来源。 (2024年3月3日)維基百科所有的內容都應該可供查證。请协助補充可靠来源以改善这篇条目。无法查证的內容可能會因為異議提出而被移除。 雅典市区一架立交桥下流淌的基菲索斯河雅典—拉米亚公路下的基菲索斯河 基菲索斯河(希腊语:Κηφισός 或 Κηφισσός)是希腊共和国阿提卡大区雅典平原上的一支常年河流。河畔多希腊国家历史�...

 

le Chat Cros Le Chat Cros en limite de Reterre et de Sannat. Cours du Chat Cros. Caractéristiques Longueur 23,72 km [1] Bassin collecteur Loire Nombre de Strahler 3 Régime pluvial Cours Source au sud-est de la Nouzière · Localisation Arfeuille-Châtain · Altitude 656 m · Coordonnées 46° 01′ 55″ N, 2° 25′ 52″ E Confluence la Tardes · Localisation Évaux-les-Bains · Altitude 322 m · Coordonnées 46° 11′ 10″ N,...