Wednesday, March 19, 2008

Cellular architectures

What kind of computational system can be classified as cellular architecture? Such a question is apparently simple:
"a system able to perform a computation by means of a set of simple processing elements" is an certainly an exhaustive and comprehensive definition but, hides a lot of complex issues we will have to analyse deeply.
What about the PE computational capability? What kind of interconnection? How fast the communication is? What about communication protocol? Is there a PE synchronization signal? ... These are all important questions to which is necessary provide a precise answer and, each of them, is very complex.
If you desire to define a cellular architecture you have to ask yourself: "What such a system have to compute? "
Cellular computation has great advantages and disadvantage:
  • it is potentially fault tolerant,
  • provide a computational surface suitable to power management,
  • the more simpler and denser is the more a computation can explicit its own intrinsic parallelism,
  • parallelism does not always implies efficiency : cellular computation imposes parallelism,
  • communication is difficult to manges , above all if it is required reliable,
  • traditional programming languages (both structural and OO) does not explicit parallelism,
  • hence compilers require much more intelligences.
A "computer science" point of view about cellular computation can be found in this book .
An innovative kind of dynamically reconfigurable PE array is illustrated here and it has strongly influenced my research work.
Here below three different SW simulations (by means of BME simulator) of a DCT cellular computation are shown:

Labels: , ,

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home