At Thu, 30 Oct 2008 20:56:31 +0000, Jason Cozens wrote: > My main point is that processors should not be kept busy when it leads > to a bad programming model. This bad programming model as I see it is > multiprogramming.
What is different about EQP that it, unlike multiprogramming, results in a good programming model? > I see multiprogramming as bad as any real sense of > time is lost and all the problems of locking and synchronization arise. A multiprogramming environment does not necessitate locking. There are alternatives. For instance, data structures can be updated using lock-free techniques, e.g., as implemented by a transactional memory. These models avoid the big difficulties with locking--ordering and nesting--and significantly decrease complexity. I don't see how your model improves upon the situation; it sounds like your system advocates an MPI / OpenMP programming style. There is a lock of synchronization that goes on in these types of systems. > A processor can be programmed as a real time device and as such > processors have been used in safety critical applications. Most car > brake systems have at least two microprocessors for example. > The sort of thing I'm looking at are things such as the CM-X300. These > are quite expensive at the moment (in small quantities) about 61 > dollars but only by two orders of magnitude. See: > > http://www.compulab.co.il/all-products/html/products.htm Providing more processors with less power per unit increases complexity: an interactive application what used to take 2 seconds to, e.g., decompress and scale a high resolution image, will now take significantly longer. To decrease the time, this operation needs to be parallelized. This makes the code more complex and introduces synchronization issues. In summary, I'd like to know what you are trying to achieve and how EQP help to reach that goal. Thanks, Neal