Steve Dekorte wrote on Thu, 17 Jun 2010 16:06:45 -0700 > > [Self compiler technologies vs hardware] > > It seems to me that those compiler tricks make assumptions about usage > patterns > (they assume you're really not doing too much dynamic stuff) and aren't > generalizable. > e.g. an associative memory can be used for generic databases (there is, after > all, a > reason why routers use them) raising the possibility of a greater unification > of data > and behavior.
Though Self and Io are often lumped together as "prototype based languages", there are significant differences in the programming styles. Self is very much a Smalltalk and it is normal for programmers to start out programming in a Smalltalk style before evolving to something more optimized for Self (doing more refactoring and exploration instead of up front design). The compiler technology certainly was created to support that more static style. The reverse was also true - programmers quickly learnd to avoid what the compiler didn't do well (dynamic inheritance, for example). > Also, as you mentioned, there are a number of levels on which associative > memory like > functionality is currently used. Could a fully associative memory system > unify all these > usage patterns? The problem of the von Neuman architecture is that you have millions or billions of transistors on one side (superscalar CPU) and more billions on the other side (RAM) but just a tiny bridge connecting them. This is not very efficient in terms of power, though it has been less than a decade since we started worrying about this below the supercomputer level. With the distributed memory parallel machines you have at least lots of little bridges connecting smaller groups of transistors. A single, huge associative memory would have the same problems as the von Neuman architecture even though you have moved some of the smarts to the memory side. Our brains are proof that you can have highly parallel associative memories and my RNA proposal is an attempt to see what the extreme case of that might be. Some hybrid scheme which replaced a single 1 GB associative memory with 1000 such memories of 1 MB each would be worth investigating. How would they collaborate? While I mentioned Ian's paper, the "context" (or "worlds") papers from VPRI are equally relevant for this discussion. There the normal <objectID, selector> tuple used as the key for accessing the associative memory is replaced by <objectID, selector, context> where you might be interested in partial matches to reduce the duplication of information. -- Jecel _______________________________________________ fonc mailing list [email protected] http://vpri.org/mailman/listinfo/fonc
