From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Sat, 16 Jul 2011 10:02:47 +0200 From: tlaronde@polynum.com To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Message-ID: <20110716080247.GA394@polynum.com> References: <20110715151535.GA2405@polynum.com> <20110715202157.GA5157@polynum.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i Content-Transfer-Encoding: quoted-printable Subject: Re: [9fans] NUMA Topicbox-Message-UUID: 020e1956-ead7-11e9-9d60-3106f5b1d025 On Fri, Jul 15, 2011 at 01:47:40PM -0700, ron minnich wrote: > http://supertech.csail.mit.edu/porch/ >=20 > 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=E9dicative" in Poincar=E9's definitio= n, 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] --=20 Thierry Laronde http://www.kergis.com/ Key fingerprint =3D 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C