[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [oc] Rambling thoughts, and an offer of help



Hi!

You can skip my rumbling about computers also :)

> First, in EE, there has been a lot of theoretical work on PIM (Processor
In Memory) architectures. I think it might prove interesting to see if a
totally open environment, unconstrained by "real world" deadlines, market
pressures and budget constraints, can run with this idea any better than
"conventional" manufacturers, who have generally ignored it.

I have used a similar idea in or2k processor. Documentation is rather old,
but you can read it anyway.
It seems to me, that you were thinking more of realy large matrixes or other
topologies.
It would be interesting to do some more teoretical work on this, but with my
experience I may conclude following:
- with greater sizes there could be problems with clock => message passing
must be used
 (as it will be rpobably used in future versions of "FPGAs" - it think they
are called something like plastic arrays.)
- but greater problem is comunication with outside world. Suppose, that only
outside border of elements could
  communicate with outside - generally insede of matrix would be unused,
since requests normally take
  a lot of parameters from outside and do a just small amount of
computation.
But truly I may be too attached to normal arhitectures. Concepts similar to
neural (probabilistic,...) networks
may work. But I think world is still not ready for this. There has to be
done a lot of theoretical work first.

> Second, I have been thinking about some of the problems that Object
Oriented software has been facing. The biggest is that Von Neumann and
Turing architectures are very much geared towards "classical" programming
styles.
I have been thinking the same recently: suppose that you have n processors,
each specialized for exactly one
problem, communicating with messesages. This arh. could achieve great
paralelity and dataflow can also
be used - in general you could execute each function in one cycle. But there
are still problems with hardware implementation - messesage passing
currently takes too much time. Maybe this will change when programers will
be forced to use SMT and object model will be used everywhere.
But if you ask me this idea has future, but not now.

> What do others think of this heavily parallelised design? Is it worth
exploring further, to see if it would offer any genuine advantages?
Please note, that programs inside basic block don't have much parallelity.

Marko

P.S.: I don't have much time at the moment, but I will soon present my
latest inovation -
generalized SMT model. It is more primitive and more general than OO and
SMT, and
include some good things from both models.