[e-lang] Multi-Core Processor Software

David Hopwood david.nospam.hopwood at blueyonder.co.uk
Sat Feb 24 14:25:35 CST 2007


Kevin Reid wrote:
> On Feb 23, 2007, at 21:17, Bill Frantz wrote:
> 
>>At our Friday meeting, Alan, Chip, Norm, and I discussed software  
>>approaches to make use of multi-core processor architectures.  We  
>>noted that Intel has announced that they will be delivering 80  
>>cores on a chip in 5 years.  One interesting observation we made is  
>>that if an E program is written to use all or mostly eventual  
>>sends, it might be possible to automatically break it into multiple  
>>vats, with the limit being one object/vat. ...
>>
>>If we can actually achieve this for meaningful programs, then using  
>>80 some-odd processing units to service the resulting vats might  
>>result in significant multi-processor activity.
> 
> If a system has p processors, each with 80 cores, and is running n E  
> programs designed or executed for parallelism, then you have 80*p*n  
> vats. In this situation it would be important that vats be lightweight.

Making vats lightweight is not difficult (well, not unless you have to
run on top of a JVM). There's lots of experience from several language
implementations in how to do this: Erlang, Oz, Gambit Scheme, etc. If
anything it is easier in E, because there are frequent turn boundaries
at which the size of the vat's continuation is small.

-- 
David Hopwood <david.nospam.hopwood at blueyonder.co.uk>



More information about the e-lang mailing list