From mboxrd@z Thu Jan 1 00:00:00 1970 From: tlaronde@polynum.com Date: Wed, 30 Jul 2008 13:35:17 +0200 To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Message-ID: <20080730113517.GA1853@polynum.com> References: <488F6427.1050109@sun.com> <20080729191205.E907E5B77@mail.bitblocks.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080729191205.E907E5B77@mail.bitblocks.com> User-Agent: Mutt/1.4.2.3i Subject: Re: [9fans] current state of thread programming Topicbox-Message-UUID: f4dad2fe-ead3-11e9-9d60-3106f5b1d025 On Tue, Jul 29, 2008 at 12:12:05PM -0700, Bakul Shah wrote: > > It is slightly depressing to think that the situation has not really > changed since EWD wrote this in 1975. It will take some young > whippersnapper of a Dijkstra or Hoare or Strachey or Iverson or Backus > to find the critical insight that will make reasoning about parallel > algorithm no more difficult than sequential ones. Is the human thought process parallel? For _my capacities_, I have the impression that I'm more multitask than parallel. And context switch is expensive because there is not only explicit data, but also implicit and I'm not able, if I'm really doing something involved, to restore the previous state without much ado. CSP is (for me) the best answer to problem involving blocking/waiting on input. But this is not parallelism. And for processing, finally threads are also called in some implementations: LWP, that is simply something that could have been solved with Processes, if it was not so costly. I have the impression that LWP is just a solution to poor process creation and to poor IPC tools (threads are the solution not for parallelism by itself, but because there is need to share resources between processes and that it is simplest to put them in the same address space). The most efficient is to have tools that match the way our brains work (or not...). I'm not convinced our brains are "parallel" (at least mines are not). -- Thierry Laronde (Alceste) http://www.kergis.com/ Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C