[LLVMdev] Re: idea 10

Se'bastien Pierre sebastien.pierre at adival.com
Thu Jan 8 09:04:07 PST 2004


Hello again Valery,

Valery A.Khamenya wrote:

> All benefits, what one could obtain from "LLVM supporting multiple CPU 
> at single host", one might obtaine from "LLVM supporting multiple CPU 
> at multiple hosts". Isn't that logical?

I see more precisely what you mean, but I don't think it is that 
straightforward to generalise the benefits multiple CPU on single host 
programming to multiple CPU at multiple hosts. I don't think that both 
cases involve the same techniques.

For example, in "single host" configuration you get a very low cost for 
communicating data because you use memory instead of network. Memory is 
a low-level primitive medium for communicating data, while network is 
not a primitive medium because it involves many communication protocols.

Memory is simple to manage when it is on a single hardware, but when it 
turns to a "shared" (or "distributed") memory, things can get pretty 
complicated (because you have -among others- security, latency, 
integrity and fault-tolerance to take into account).

Moreover, there are many, many ways to implement "distributed" or 
"parallel" computing. Some approaches are based on distributing data 
according to the available CPU resources, others on distributing the 
program control flow according to the proximity of data, and so on.

What would you consider as the core primitives of single host, multi-CPU 
programming ?

Cheers,

-- Se'bastien






More information about the llvm-dev mailing list