.
Xputer
The Configware Page

 
 
Reconfigurable Computing (RC) pages @ TU Kaiserslautern

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

Computer Structures GroupThe world-wide largest and oldest conference on Reconfigurable Computing:

Computer Structures Groupthe Annual Symposium on Field-Programmable Logic and Applications (FPL)

 

 

 

 

 

 


The Success of the Software Industry is RAM-based.

RAM-based, also the Configware Industry will succeed .

to learn more about Configware:
don't miss the RC education workshop !

What is Configware ?

Configware is a programming source completely different from software.

Because of the coincidence of several disruptive developments we need to Reinvent Computing [1] by distinguishing 3 differenc programming sources: Software, Flowware, and, Configware. We cannot afford any more the CPU-centric, i. e. instruction-stream-centric Software-centric  Aristotelian world model of computing. We are forced to go toward heterogeneous computing systems based on a Kopernican World model of Computing (Figure A) [2]. We urgently need the Generalization of Software Eingineering (SE) into Program Engineering (PE) which interlaces two machine paradigms:

and:

By migration of applications from software to configware/flowware massive speed-up factors and power saving factors can be obtained [8]. We also need a third area: Configware Engineering (CE). See  [5] - [7] and fig. A

Program Engineering (PE) education has to replace Software Engineering (SE) education because programming heterogeneous systems requires a mix of skills from all three side of the PE world (Fig. A), i. e. even also from Configware Engineering (CE). By migration of an application from SE to FE / CE, for instance, a different algorithm may be needed [9].

 

Fig. A.

Configware 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" |

Hardware versus Software

Traditional procedural computing systems consist of processor hardware and software running on it. Programming means downloading machine code into the RAM memory of the processor. Machine code is generated by compilers accepting high level programming languages. The RAM is the basis of the extreme flexibility of procedural processors: the secret of success of the software industry is RAM-based.

Morphware ("soft" Hardware)

Reconfigurable "hardware" is not really hard like classical hardware. It can be re-configured by structural code (configuration code) to be downloaded into the "hidden" RAM of such Morphware. Such structural code is fundamentally different from (classical) Software.  Programming such reconfigurable platforms needs Configware instead. We may distinguish FPGAs (fine-grained morphware) from reconfigurable Data Path Arrays (rDPAs: coarse-grained morphware): configured pipe networks.

Configware versus Software

Configware versus Software means Procedural Programming versus Structural Programming (see fig. 1). Procedural programming of classical processor hardware by Software means instruction-stream-based Programming in Time. I. e. the software code generated by a software compiler from a procedural program is an instruction execution schedule.

Structural programming by Configware, however, means
data-stream-based Programming in Time and Space . A configware compiler consitst of two layers generating two different kinds of code (fig. 1): a mapper (doing placement and routing) generating configware code from the configware source "program", and, a scheduler generating flowware code which is a data schedule. The configware code is applied before run time for configuring the FPGA or other reconfigurable platform.  During run time there is no instruction fetch. The flowware code is a data schedule to organize data-streams running though the reconfigured platform.

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.


Sotfware versus Configware
Fig. 1: Software Engineering vs. Configware Engineering

Morphware Benefit

Computing in space allows massive parallelism, so that Morphware may be by orders of magnitude more powerful than computing on classical processors, i. e. by computing in time. Compared to specialized hardwired ASIC hardware, morphware usage is highly flexible by reconfigurability. This also means a fundamental change of the business model: special ASIC hardware functionality is determined at vendor's site, whereas Morphware functionality can be defined and even upgraded later at the customer's site. This provides shorter time to market, as well as product longevity.

Configware Industry Success Story

Currently a Configware Industry is emerging as a counterpart to Software Industry. (Because this new Industry is spinning off EDA industry, some people say "soft IP cores" instead of Configware). The application of both is RAM-based: that of Software and of Configware. Being RAM-based, Configware is heading toward a success story being similar as known from Software Industry.

Flowware versus Software

The von Neumann machine paradigm does not support configware. Configware is supported by the data-stream-based anti machine paradigm. Such data stream machines are programmed from 2 different sources: by flowware, which programs the data streams flowing from and to the machine's DPU (data path unit) or DPA (DPU array), and, by configware.

References

[1]  Burton Smith (keynote): Reinventing Computing; LACSI Symposium 2006, Santa Fe, NM, USA, http://www.cct.lsu.edu/~estrabd/LACSI2006/Smith.pdf

[2] R. Hartenstein: The Grand Challenge To Reinvent Computing - A new World Model of Computing; CSBC_2010 - XXX Congresso da Sociedade Brasileira de Computação, July 20 - 23, 2010, Belo Horizonte, MG, Brasil  http://www.inf.pucminas.br/sbc2010/anais/pdf/semish/st03_02.pdf

[3]  R. Hartenstein, A. G. Hirschbiel, M. Weber: MOM-map-oriented machine-a partly custom-designed architecture compared to standard hardware; Proc. IEEE CompEuro, Hamburg, Germany, May 1989

[4] R. Hartenstein (keynote): Reconfigurable Computing: boosting Software Education for the Multicore Era; IV Southern Programmable Logic Conference (SPL 2010), Porto Galinhas Beach, Pernambuco, Brasil, 24-26 March 2010

[5] Joao Cardoso, Michael Huebner (Editors): ―Reconfigurable Computing‖ Springer Verlag 2010

[6] Voros, Nikolaos; Rosti, Alberto; Hübner, Michael (Eds.): "Dynamic System Reconfiguration in Heterogeneous Platforms - The MORPHEUS Approach"; Springer Verlag, 2009

[7] Ch. Bobda: Introduction to Reconfigurable Computing - Architectures, Algorithms, Applications; Springer, 2007

[8] R. Hartenstein: The von Neumann Syndrome; Stamatis Vassiliadis Memorial Symp., Sep 2007,  Delft, NL

[9] M. Duhl: Incremental Development and Description of a Shuffle Sort Array Circuit in hyperKARL from the Algorithm Representation of the Bubble Sort Algorithm; Projektarbeit, Informatik, Univ. Kaiserslautern 1988


 
Computer Structures GroupThe world-wide largest and oldest conference on Reconfigurable Computing:

Computer Structures Groupthe Annual Symposium on Field-Programmable Logic and Applications (FPL)

 

 

 

 

 

 

 

.
search Morphware with GoogleYahoo | BING  |
search Configware with GoogleYahooBING   |
search Flowware with Google | Yahoo | BING  |
search Data Stream with GoogleYahooBING  |

Impressum

search Anti-Machine with Google | Yahoo | BING  |

Computer Structures Group
Department of Computer Science
University of Kaiserslautern
© Copyright 2001, 2005, T U  Kaiserslautern, Kaiserslautern, Germany Webmaster