.
Xputer
The Anti-Machine Page
(Kress-Kung Machine)


 
Reconfigurable Computing pages @ TU Kaiserslautern

last updateJune 2001 and 2011
.
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 .

Why a Generalization of Software Engineering ?

Because of the coincidence of several disruptive developments we need to Reinvent Computing [1]. 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 speed-up factors and power saving factors by up to several orders of magnitude can be obtained [8]. We also need a third area: Configware Engineering (CE). See  [5] - [7] and fig. A

We have to set up Program Engineering (PE) education 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. So, for instance, the sequential Bubble Sort algorithms has to be converted into the Shuffle Sort algorithm to avoid accessing conflicts caused by parallelism [9].

Fig. A

 

Why a Duality of Machine Paradigms ?

Reconfigurable Computing goes into every application [X]

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

The von Neumann machine paradigm

The von Neumann machine paradigm does not support configware. Configware is supported by the data-stream-basedKress-Kung machine paradigm (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.The von Neumann paradigm describes the CPU such, that it encapsulates the DPU (DataPath Unit, or ALU) together with the program counter (figure 1).  The behaviour of the program counter is programmed by Software (figure 2).

Figure 1.  The von Neumann bottleneck

 


Figure 2. Software controls the Program counter

The compact instruction code of a CPU is tightly coupled with the structure of the DPU. This is the reason why the instruction-stream-based von Neumann paradigm does not support morphware. Whenever you tra to reconfigure the DPU, the architecture of the CPU gets destroyed. We need a second machine paradigm: the Kress-Kung Machine (Anti Machine).


The Anti-Machine (Kress-Kung Machine)

About the terminology: the Kress-Kung machine is a generalization (Kress) of the systolic array (first popularized by H. T. Kung). The von Neumann paradigm is instruction-stream-based, whereas the anti machine paradigm (Kress-Kung paradigm) is data-stream-based. The systolic array (Kung machine) could be used only for applications with strictly regular data-dependencies yielding pipe networks with only uniform linear pipes. The Kress-Kung array is the generalization [Rainer Kress] of the Kung array by a new synthesis methodology, replacing algebraic mapping methods by general optimization, such as for instance, by simulated annealing [Rainer Kress], so also any wild forms of non-regular pipe networks are supported, so that reconfigurability makes sense.
The Kress-Kung machine (anti machine) is data-stream-based, but not instruction-stream-based. The Kress-Kung machine (anti machine) has no CPU. If it is hardwired, it has a DPU instead, or even a DPA (DPU array). If it is reconfigurable, it has a rDPU or rDPA instead (fig. 4). Instead of a program counter the Kress-Kung machine (anti machine) has one or several data counters, which are located with the memory bank (fig. 4), but not with the (r)DPU nor (r)DPA. The run time bevavour of the  data counter(s) is programmed by Flowware (fig. 3).

Kungelei*

Apropos Kung: in the early days of the Kung array, three different scientist carrying the name "Kung" have been involved: (1.) H. T. Kung (at that time at Carnegie-Mellon, now at Harvard, USA) who has been visible first in this scene by popularizing systolic arrays, (2.) S.Y. Kung (Princeton) who has written an early book on systolic arrays, and, (3.) also a student with the name Kung (sorry, I forgot his first names and affiliation), having been co-author of some early papers on systolic arrays.

*) this word-play joke works only in Germany language

Fig. 3.  Data counter behavior programmed by flowware.  

     
Fig. 4.  The Anti-Machine: data counter(s) located within asM(s)
 


Figure 5. Hardwired Anti Machines are programmed by flowware only.

Programming in Time versus Programming in Time and Space

Structural programming by Configware means Programming in Space. That's why Configware versus Software means Computing in Space and Time versus Computing in Time only.
Instruction-stream-based programming in time only (Software Engineering): one source needed: Softwar only (fig. 6 a).  However, programming morphware (Configware Engineering) means programming in time and space, where two program sources are needed (fig. 6 b): configware for the space domain configures the resources before run time.#, and, flowware for the time domain: for scheduling the data streams flowing during run time.


a)                                                                             b)

Figure 6. Heterogeneous systems need all three: a) (von Neumann) CPUs are programmed by Software; b) reconfigurable anti machines are programmedby two sources: resource set-up before run time by configware code,  run time behavior (data streams) by flowware.



Fig. 7. A simple processor execution example: computing in time needing many memory cycles.

Speed-up by time to space migration

Figure 8 (Kress-Kung machine version) illustrates, why time to space migration removes the memory cycles needed for the instruction-stream-based CPU-executed version shown in fig. 7. Fig. 9 lists a few spee-up factors having been published. Fig. 10 summarizes some speed-up mechanisms obtaines ba time to space migration.
.


Fig. 8:  example from fig. 7, but by computing in space: no memory cycles needed.


Fig. 9. Some speed-up examples: time to space migration, for example from CPU to FPGA, or, to PACT platform

Fig. 10: Some mechanisms for speed-up by time to space migration.

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

 

 


for Xputer Lab Homepage, please, click here
invited papers: click here
recent invited talks: click here
for literature click here
configware | morphware | flowware | data.streams anti-machine
search Morphware with GoogleYahoo | BING  |
search Flowware with Google | Yahoo | BING  |
search Configware with Google | Yahoo  | BING  |
search Data Stream with GoogleYahooBING  | 
search Anti-Machine with Google | Yahoo | BING  |
.
Impressum
.

Computer Structures Group
Department of Computer Science
University of Kaiserslautern
© Copyright 2001-2011, University of Kaiserslautern, Kaiserslautern, Germany Webmaster