On Fri, Jul 15, 2011 at 01:47:40PM -0700, ron minnich wrote: > http://supertech.csail.mit.edu/porch/ > > long ago, but I saw it checkpoint between x86 and sparc.
Thanks for the pointer! At least it shows that it is always useful to write down the "axiomatics" of one code, since making explicit the assumptions that were only implicit can rise questions. Some time ago, reading about "what makes parallel programming difficult", I discover that all in all the problems arise when a sequence of instructions is not "prédicative" in Poincaré's definition, i.e. "is [predicative] an on-going classification that is not disrupted by the adjunction of new elements". The Itanium story, as guessed early by Hennessy and Patterson in "Computer Architecture", shows that efficiency relying on too complex knowledge, asking too much to the programmers and the compilers, is likely to fail. On the other hand, if the programmer doesn't think at all about these problems, distributed and parallel systems will have hard times and limits and can't do wonders with "spaghetti" code. What is the minimal hints the programmer shall give? At least predicativity. I wonder what minimum set of keywords could be added, say, to C, so that the situation can be greatly improved without the burden being greatly increased. [non-predicative routines being, from a parallel point of view, atomic] -- Thierry Laronde <tlaronde +AT+ polynum +dot+ com> http://www.kergis.com/ Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C