Wednesday, March 10, 2010

The Rebel Science Forum

The COSA Virtual Machine

Many of my readers have suggested that I start an open source COSA project to get my ideas off the ground. Personally, I don't have the time to manage a software or hardware project as I am rather busy with other matters. My main interest in computing is artificial intelligence research. A little over a decade ago, I began promoting the COSA software model because I came to the conclusion that the future of AI depends on massive parallelism. My detractors notwithstanding, there is no doubt in my mind that COSA is the way to solve the parallel programming crisis. I have not been able to convince the industry at large of the soundness of the model but I do have a few supporters around the world. Most are software or hardware engineers. And, to me, that's saying something.

My fear is that a COSA virtual machine (CVM) will not be fast enough to convince anybody in the industry. Making the CVM work on current multicore processors is possible but it will be tough because those chips are designed to support the non-deterministic multi-threaded software model. It is clear to me that the captains of the computer industry want a solution that will add value to their existing multicore technology. If COSA were to be widely adopted, it would make all current multicore processors obsolete. That would be a disaster of unimaginable proportions for the big players (Intel, AMD, ARM, Nvidia, IBM, etc.) and they know it. My experience in this business tells me that COSA will meet with unwaveringly high resistance and even open hostility. That is, until the pain becomes too unbearable. That's when the seismic paradigm shift that will usher in the next computer revolution will happen. Hopefully, that will happen very soon.

The Discussion Forum

I just created a discussion forum on the Rebel Science site. Right now, discussions are restricted only to the topic of creating an open source COSA virtual machine. My previous experience with administrating a discussion forum is that, as soon as it becomes a little popular, the spammers descend in droves and then it becomes a real pain. For this reason, I am allowing only registered users to post on the forum. Guests can read the discussions but cannot post. If you have an interest in COSA and you have ideas on how to proceed, you might consider taking part in the discussions.

See Also:

Project COSA
How to Solve the Parallel Programming Crisis
The COSA Saga


Conzar said...

nVidia and AMD will also reject something like point 3D graphics.

What are your thoughts on using points instead of polys for rendering graphics?

wolke7 said...

My fear is that a COSA virtual machine (CVM) will not be fast enough to convince anybody in the industry.

First: I doubt that the performance of the software implementation will be a problem. There were already phases in the past in which they experimented a lot with specialized processors. But very often these specialized chips became outperformed by general purpose processors a few years later (simply since the latter were bought a lot, there was a lot of money available to advance those).

So: if the advantages that you claim for CVM really do exist in practical problems, CVM will get optimized a lot to become really fast on today's computers (as it already happened to virtual machines for other popular programming languages)

Even if CVM runs on multicore computers - if it is programmed using COSA - where is the problem? The "multithreaded pain" would also disappear.

Not until it is shown that the performance problems can't be solved hardware makers will even look at it. Since it it very expensive to design and build a new chip, hardware people are rather conservative. There is even the additional burden that the hardware implementing COSA will not be compatible with existing software. So there have to be a lot of used COSA programs before it gets interesting to build a "COSA processor" to accelerate them.

So it is most important that as soon as possible
i) CVM gets working
ii) a lot of very useful programs written in COSA appear

mrhassell said...

Intel x86/64 architechture Isn't appropriate for the CISC model was mastered by DEC-Digital & having accessed intel confidential xeon chips at the turn of the century.. Can not see an entirely depressed instruction set ever being viable ala RISC - ®©…™ however as an extension set like mmx or sse... now COSA could have real world value & relativity simple implementation at a processing level. The benefits would also be a tipping point in the war of virtual machines.. Java/.Net/Python in fact coud this not be describing the processor extension set required to optimise any vm?