go to Xputer pages

homepage   impressumsurvey | last update June 2001, May 2012

The Configware Page

http://configwae.org

TU Kaiserslautern

 Karlsruhe Institute of Technology (KIT) homepageInstitut für Technik der Informationsverarbeitung (ITIV) des Karlsruher Institut für Technologie (KIT)

 

Reconfigurable Computing pages @ TU Kaiserslautern
 

These Reconfigurable Computing pages are about a route to Reinvent Compting. This term is not new. See the keynote by Burton Smith (former Cray CTO).

Why Reinvent Compting? Pse, study Thomas Sterling's interview entitled: 'I Think We Will Never Reach Zettaflops'. See  HPCwire. Thomas Sterling takes us through some of the most critical developments in high performance computing, explaining why the transition to exascale is going to be very different than the ones in the past. I agree. However, I believe, we will reach Zetaflops --- by  Reconfigurable Computing.

 

   
 

configware | morphware | flowware | data.streams |

anti-machine | KressArray | Xputerswrongroadmap

Google citation indexMicrosoft research citation index  

Xputers (in German language) | asM auto-sequencing Memory |

GAG Generic Address Generator | Reinvent Computing | impressum

 

configware |

datastream |

flowware |

hardware |

morphware |

software |

 

For the relations between

these terms see http://flowware.net/#table1


Computer Structures Group

The world-wide largest and oldest conference on Reconfigurable Computing:

Computer Structures Group

 

FPL - the Annual Symposium on Field-Programmable Logic and Applications

 

 

To cope with the von Neumann syndrome, Reconfigurable Computing is an inevitable ingredient in future low power high performance computing systems. See xputer.de/CAE.pdf

Computer Structures Group

The world-wide oldest annual conference series on Low Power High Performance Circuit and System Design

Computer Structures Group

The International Workshop on Power And Timing Modeling Optimization and Simulation (PATMOS)

   

Reconfigurable Computing (RC) pages @ TU Kaiserslautern

These Reconfigurable Computing pages are about a route to Reinvent Compting. This term is not new. See the keynote by Burton Smith (former Cray CTO).

Why Reinvent Compting? Pse, study Thomas Sterling's interview entitled: 'I Think We Will Never Reach Zettaflops'. See  HPCwire. Thomas Sterling takes us through some of the most critical developments in high performance computing, explaining why the transition to exascale is going to be very different than the ones in the past. I agree. However, I believe, we will reach Zetaflops --- by  Reconfigurable Computing.

 

What is Configware ?

Because of the programming crisis and the power wall we have to reinvent computing. The traditional de facto monopoly of the instruction-stream-only mind set is obsolete.  We have to integrate more  programming sources than only software. Configware is one of the inevitable additional program sources. We cannot abvoid to generalize "software engineering" into multi-paradigm "program engineering" based on 3 different kinds of sources: software, configware, and, flowware. Nick Tredennick`s following classification scheme illustrates the history of computing ending with this triple-paradigm situation now becoming more and more domiinant.

Table 1; Nick Tredennicks computer classification scheme

historic compuers

programming source

ressources fixed

none

algorithms fixed

none

 

 

von Neumann computers

programming source

ressources fixed

none

algorithms variable

software (instruction streams)

 

 

Reconfigurable Computing (RC)

programming source

ressources variable (morphware)

configware

algorithms variable

(anti machine: data stream machine)

flowware (data streams)

We have to be prepared to cope with heterogeneous systems including all these paradigms within a single system. We have to reinvent computing and its curricula to educate programmers being able to live with such mixed-paradigm systems.

Table 2; Extension of Nick Tredennicks classification scheme

hardwired anti machine

programming source

ressources fixed (ASICs, systolic arrays etc.)

none

data streams variable

(anti machine: data stream machine)

flowware (data streams)

 

 

heterogeneous systems

programming source

ressources variable (morphware)

configware

(von Neumann) resources fixed

none

instruction streams variable

software (instruction streams)

 data streams variable  flowware  (data streams)
   
  hardwired twin paradigm systems   programming source
  instruction streams variable    software (instruction streams)

 data streams variable

  flowware  (data streams)

 

 

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:

  • the instruction-stream-based traditional von Neumann paradigm, controlled by a program counter. Its programming source is called "Software", which is a subject of SE (software engineering). see fig. A. We need to reinvent software engineering [4].

and:

  • the data-stream-based anti-machine-paradigm  [3] controlled by data counters instead of a program counter [3] Its programming source is called "Flowware" (FE, see fig. A), which programs data streams to run through reconfigurable hardware like FPGAs, which can be viewed as pipe networks, the generalization of systolic arrays. Sinks and sources of data streams are auto-sequencing memory blocks (asM).

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

Fig. 1. Speed-up factors obtained from CPU to FOGA migration

  • Configware is the programming code for reconfigurable platforms like FPGAs. Flowware can be programmed only, when reconfiguration from configware is finished, so that the datapaths inside have been set up.

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. 2. Generalization of software enginering into program enginering.

 

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

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.

Fig. 3: Software Compilationg vs. Configware Compilation.

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.

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  ISBN 978-1-4020-6088-5

[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

[10] Nick Tredennick: The Case for Reconfigurable Computing. In: Microprocessor Report. 10, Nr. 10, 5. August 1996, S. 25–27.

 

 

   

        

 
   
search Morphware with GoogleYahoo | BING  |

search Configware with GoogleYahooBING   |

search   Flowware with Google | Yahoo | BING  |

search Data Stream with GoogleYahooBING  |

search   Kress Array with Google | Yahoo | BING  | search  Anti Machine with Google | Yahoo | BING |

Impressum

search  Xputer with Google | Yahoo | BING  | 

 
 

[ anti-machine | configware | data-streams | flowware | home | impressum | kressarray | morphware | von Neumann Syndrome | wrongroadmap | xputer Xputers (in German language) | asM auto-sequencing Memory | GAG Generic Address Generator | Reinvent Computing | impressum  ]

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