I have been thinking for some time about the potential for changing the fundemental architecture of computer memory. In particular, I have been considering the value of memory which is accessed “by name” instead of by address. Check out my previous post “Oh Hash it all!“.
Anyway I was quite interested to see the following article on Transactional Memory. Looks like the industry wants to head towards something related. It’s not quite the same thing: transactional memory is memory that incorporates the same locking mechanisms of databases in hardware. This is related because it is the idea of making physical memory more like a database. However I am not sure they are actually going quite that far. My guess is that they are still stuck with the concept of traditional memory and trying to create something more like an extension to existing memory. They talk about “C language extensions” for accessing the new features. Shudder.
Anyway, this idea should make, in theory, the construction of multi-threaded software a lot easier, but it would be even easier still if we got rid of the shackles of C and Turing Machine thinking, and instead design the hardware and the programming language together. I predict that a full solution to the current challenges in computer software will never be fully resolved until we re-architect everything from the ground up.