home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.arch:11956 comp.sys.intel:2843
- Path: sparky!uunet!pipex!bnr.co.uk!uknet!gdt!aber!fronta.aber.ac.uk!pcg
- From: pcg@aber.ac.uk (Piercarlo Grandi)
- Newsgroups: comp.arch,comp.sys.intel
- Subject: Re: Superscalar vs. multiple CPUs ?
- Message-ID: <PCG.92Dec27203203@decb.aber.ac.uk>
- Date: 27 Dec 92 20:32:03 GMT
- References: <1992Dec7.012026.11482@athena.mit.edu> <PCG.92Dec11162630@aberdb.aber.ac.uk>
- <1992Dec21.134531.3253@athena.mit.edu> <2121@coyote.UUCP>
- <1992Dec23.025403.21926@athena.mit.edu>
- Sender: news@aber.ac.uk (USENET news service)
- Reply-To: pcg@aber.ac.uk (Piercarlo Grandi)
- Organization: Prifysgol Cymru, Aberystwyth
- Lines: 50
- In-Reply-To: solman@athena.mit.edu's message of 23 Dec 92 02: 54:03 GMT
- Nntp-Posting-Host: decb.aber.ac.uk
-
- On 23 Dec 92 02:54:03 GMT, solman@athena.mit.edu (Jason W Solinsky) said:
-
- solman> What I am trying to say is that when a task which has been
- solman> non-cpu bound, is modified such that it becomes cpu-bound, the
- solman> modifications invloved are typically excellent candidates for
- solman> parallelization. Thus it still holds that "general purpose"
- solman> computing can support the degree of parallelization available to
- solman> a deep pipelined "hyperscalar" uP.
-
- This is hopeful speculation. Especially for the "deep pipelined" part.
- Deep pipelines are nasty to exploit across basic blocks, not to say
- across threads.
-
- On the other hand, as you seem to argue, many current applications are
- under-threaded, mostly because of the cost of threading under many
- current OSes.
-
- Still even many common applications can be broken in multiple threads
- without much restructuring, and some people do it by hand; for example
- recalculating a spreadsheet may be broken in as many threads are there
- are independent clusters in the dependency graph between cells, and so
- on recursively. Reformatting a document can be broken in as many threads
- as there are independent sections, or manually imposed page boundaries.
-
- I even remember that people at a french University (Poitiers?) had built
- an Algol 68 compiler that used threads/futures to handle forward
- references. I must confess that seeing that paper it had come into my
- mind that one could just launch into a dataflow CPU a thread per each
- syntactic phrase being parsed, and just let the CPU sort out all the
- dependencies ensuring maximum parallel speedup, and I was conforted to
- see Hewitt's parallel actors and garbage collection of processes ideas.
-
- But then I started thinking of the likely cost/benefit ratio, and
- repented.
-
- The numbers I have seen so far seem to point out that on average
- (some/many spreadsheets are poorly clustered, some/many documents have
- no sections, in some/many compilations all statements depend critically
- on the previous one...) the exploitable degree of parallelism is not
- that great for most general purpose applications.
-
- Of course one could claim that an as yet undiscovered architectural
- solution will change everything; somebody once remarked, only half
- jokingly, in this very newsgroup, that in twenty years time we will boot
- ourselves in our massively parallel neural net engines, instead of
- booting up our workstations, as we start our workday.
- --
- Piercarlo Grandi, Dept of CS, PC/UW@Aberystwyth <pcg@aber.ac.uk>
- E l'italiano cantava, cantava. E le sue disperate invocazioni giunsero
- alle orecchie del suo divino protettore, il dio della barzelletta
-