Re: future of programming languages
From: Alan Balmer (albalmer_at_att.net)
Date: 03/31/04
- Next message: Alan Balmer: "Re: OT: Unix vs. Windows holy war (Was: Programmer knowledge)"
- Previous message: MSCHAEF.COM: "Re: GUI vs: CLI (was: Shell command in VB6)"
- In reply to: Omri Barel: "Re: future of programming languages"
- Next in thread: Programmer Dude: "Re: future of programming languages"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Wed, 31 Mar 2004 11:37:17 -0700
On Wed, 31 Mar 2004 17:20:31 +0100, Omri Barel <spammer@p2z.com>
wrote:
>Alan Balmer wrote:
>
>> On Tue, 30 Mar 2004 22:19:54 +0100, "Malcolm"
>> <malcolm@55bank.freeserve.co.uk> wrote:
>>
>>
>>>"Ben Pfaff" <blp@cs.stanford.edu> wrote in message
>>>
>>>>I'm curious what you mean by "computers will have no CPUs."
<snip>
>>
>> First, there are indeed computers which process instructions in
>> parallel, even conceptually. They aren't even uncommon now.
>>
>> Second, you didn't answer the question, unless you're trying to say
>> that "multiple CPUs processing in parallel" are not CPUs.
>>
>
>I think he means a system where no processor is central. When you have
>65,000 processors, you can *call* each of them 'central processing
>unit', but none of them is really central.
Ah, should have realized. You are undoubtedly correct. The term "CPU"
has acquired a meaning considerably broader than the original acronym,
but the original may be what the OP meant.
>
>How do you program 65,000 processors, when they don't all do the same
>thing? Do you maintain 65,000 C programs? How do you distribute this
>software among 65,000 processors? What happens if 102 of them are dead
>when you distribute the software, and you replace them only later (while
>the others are alive)? What happens if you can treat processors
>separately as well as together (assign 4 processors a task, and then
>assign each a different task) - do you code all this in C?
All interesting questions, and all have more than one answer :-)
Specialized languages (and compilers) have been developed which do
divide work among processors. After all, massively parallel processors
are now widely and successfully used. In some applications, explicitly
multi-processor code is generated. In others, an operating system is
used which can divide resources based on processes or threads. This
method, of course, is very common now, even on desktop systems.
>
>The same questions apply to a massively distributed project as well.
>Today, massively distributed projects consist of a huge number of
>'clients' all running the same software with different data, reporting
>to one (or several) central servers. What happens if your software is so
>compilcated that each client should run different code (which may be
>changed at run-time as a result of other clients' output)? Do you code
>it in C?
>
>Most langauges do not directly support the notion of multiple
>processors.
Sure, but one language is enough ;-)
> You can start a few threads and hope that the hardware will
>do the right thing,
A combination of the hardware and the system software, actually.
>but controlling 65,000 (different) threads in one C
>program sounds like a nightmare.
Depends on the problem. If you have massive amounts of data that need
to be processed in the same manner, it's quite simple. Such problems
are very common, btw. If different types of problems need to be solved
simultaneously, it's much more complex, and in general will need
considerable help from tools.
>The (future?) hardware may provide
>direct support for synchronisation between processors.
Current hardware provides such support.
> If you program
>each processor individually you might not even be able to take advantage
>of such hardware support.
That's true in the same sense that I would be hard pressed to produce
even a small percentage of my normal workload if I had to write
assembler code to control every aspect of the computer. Instead, I
count on compilers and operating systems with device drivers, SMP
support, etc.
-- Al Balmer Balmer Consulting removebalmerconsultingthis@att.net
- Next message: Alan Balmer: "Re: OT: Unix vs. Windows holy war (Was: Programmer knowledge)"
- Previous message: MSCHAEF.COM: "Re: GUI vs: CLI (was: Shell command in VB6)"
- In reply to: Omri Barel: "Re: future of programming languages"
- Next in thread: Programmer Dude: "Re: future of programming languages"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|