.
Xputer
The Data Stream Page
last update
June 2001

  
Reconfigurable Computing (RC) pages @ TU Kaiserslautern

configware | morphware | flowware | data.streams | anti-machine | KressArray| Xputers


Data-stream-based anti machines do not have a  von Neumann bottleneck


to learn more about Datastreams:

don't miss the RC education workshop !

Data-stream-based Computing


NOTE: For flowware the term "data stream" is used as defined by systolic arrays - defining, at which time which data item has to enter or exit which port of the rDPA. This data stream features data-transport-triggered execution (in contrast to instruction-stream-driven execution).  For terminology also see here.

Computing sciences distinguish a dichotomy of basic computing paradigms: instruction-stream-based computing (von Neumann paradigm) versus data-stream-based computing (anti machine paradigm). For terminology see table 1.
 

Reconfigurable Computing goes into every application

Search Google (for the number of hits see the line "Web ... Results" )
Search Yahoo (for the number of hits see the line "Search Results" )
"Reconfigurable Computing" | FPGA & "oil and gas" | FPGA & "automotive" | FPGA & "medical" | FPGA & "chemical" | FPGA & "bio" | FPGA & "defense" | FPGA & "physics" | FPGA & "molecular" | FPGA & "supercomputing" | FPGA & "HPC" | FPGA & "high performance computing" | "Reconfigurable Computing" | FPGA & "oil and gas" | <FPGA & "automotive" | FPGA & "medical" | FPGA & "chemical" | FPGA & "bio" | FPGA & "defense" | FPGA & "physics" | FPGA & "molecular" | FPGA & "supercomputing" | FPGA & "HPC" | FPGA & "high performance computing" |

Why data-stream-based computing is going mainstream

Data-stream-based machines do not have a von Neumann bottle neck and have much less overhead phenomena than von Neumann machines. For data-intensive very high performance applications  data-stream-based computing is the drastically more promising solution than von Neumann. This is the reason, why data-stream-.based computing goes mainstream - additionally stimulated by the break-through of reconfigurable computing. Datastream-based computing is also a reason for the fast advance of  embedded-memory-related markets and R&D (see flowware page).

Table no. 1: toward a consensus on basic terminology:

platform
program source running on it
 machine paradigm
hardware (not programmable)  (none)
morphware fine grain rGA (FPGA) configware
coarse grain rDPU, rDPA
reconfigurable data stream processor flowware & configware anti machine
data stream processor (hardwired) flowware
instruction stream processor software von Neumann machine
Acronyms: r = reconfigurable | FP = field-programmable | GA =  gata array | DPU = DataPath Unit | DPA = DPU array |

The von Neumann machine model

The von Neumann machine is instruction-stream-based and uses a CPU which can sequence only a single instruction stream by means of a program counter. The CPU includes a datapath unit (DPU) and a single inctruction sequencer (see fig. 1). The memory of a von Neumann machine has no sequencers, since the memory addresses are delivered by the CPU.


Fig. 1: CPU (von Neumann) versus DPU / DPA (anti machine)

The anti machine model

The anti machine is data-stream-based and uses only a DPU, i. e. without a sequencer, or, a DPU array (DPA) without sequencers (see fig. 1). The anti machine model locates sequencers as part of the memory. State register is the data counter, the address generator located within memory (see left side of fig. 3). A single  anti machine may have one or multiple data counters and may be driven by a single data stream or multiple data-streams  (see left side of fig. 3). For the anti machine the data streams have to be programmed to determine, which data item has to meet which DPU port or DPA port at which time (fig. 2). Such data-stream-based program sources we call flowware, in contrast to traditional  instruction-stream-driven software.


Fig. 2: Definition of Data Streams (Flowware)

No dataflow machine

The anti machine is deterministic, like also the von Neumann machine. The historic  term "dataflow machine", however, has been used for an indeterministic machine, driven by an arbiter, so that the order of execution cannot be predicted. The anti machine is no "dataflow machine".

Fig. 3: Configware / Flowware Co-Compilation

Reconfigurable anti machine

In contrast to the von  Neumann machine, anti machines also support reconfigurable data paths (DPUs or DPAs). Configuration may be considered to be a kind of "instruction fetch" before run time (at configuration time), where such an "instruction" may be much more powerful than a typical on Neumann instruction. About reconfigurability and Reconfigurable Computing see the morphware page.


Fig. 4: machine paradigms


The dicholomy of machine paradigms: software versus flowware

Fig. 4 compares both machine paradigms. Fig. 5 compares software programming languages versus flowware programming languages. There massive similarities, since the only difference is the use of a program counter versus a use of data counters, The only difference stems from the anti machine property which allows multiple data counters, so that flowware languages support more RT level parallelism than software languages..


Fig. 5: programming language paradigms: software vs. flowware
.
 configware | morphware | flowware | data.streams
search Morphware with Google | Lycos | AllTheWeb | Yahoo | MSN Search | AltaVista | Ask Jeeves | Vivisimo | Teoma |
search Configware with Google | Lycos | AllTheWebYahoo | MSN Search | AltaVista | Ask Jeeves | Vivisimo | Teoma |
search Flowware with Google | Lycos | AllTheWeb | Yahoo | MSN Search | AltaVistaAsk JeevesVivisimoTeoma |
search Data Stream with Google | LycosAllTheWebYahoo | MSN SearchAltaVistaAsk Jeeves | Vivisimo | Teoma |

Impressum

search Data Streams with Google | Lycos | AllTheWeb | Yahoo | MSN Search | AltaVista | Ask Jeeves | Vivisimo | Teo
Computer Structures Group
Department of Computer Science
University of Kaiserslautern
© Copyright 2001, 2005, TU Kaiserslautern, Kaiserslautern, Germany Webmaster