swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: address@hidden: address@hidden: [lists.hpcoders.com.au: Re: [Swarm-S


From: Marcus G. Daniels
Subject: Re: address@hidden: address@hidden: [lists.hpcoders.com.au: Re: [Swarm-Support] development priorities (was Re: Membership in Swarm Developmen Group)]]]
Date: Wed, 15 Nov 2006 17:12:41 -0700
User-agent: Thunderbird 1.5.0.4 (Windows/20060516)

Russell Standish wrote:
Porting to 64 bit should not be hard. EcoLab has always been 64 bit
clean due to a requirement to run on whatever supercomputer I had
access to.
Swarm has some more complicated problems due to the need to call methods with mixed argument types. It unfortunately needs to know about the ABI of the machine. It's an OS by OS issue. But, it's also kind of neat, once you've got it because then you can take apart a C calls and resubmit them to other language/application environments or machines. Very lightweight infrastructure for remote procedure calls.

Concerning the Cell:
I'm sceptical of this. The subprocessors (as I understand it)
effectively act as a vector processor, and vector processors are
rarely useful in ABMs. A better target would be to ensure Swarm runs
on the dual core (or just one of the cores is threading is not
feasible - has OpenMP been implemented for Objective C yet?). This
shouldn't be hard, of the same magnitude as the 64 bit port, assuming
access to hardware. The ABMers with peculiar requirements (eg linear
algebra, or neural networks say) can then link to a Cell optimised
library that is outside of Swarm.
I've looked at it in some detail. Cell SPUs don't have fancy out-of-order execution features and big caches, true. You do have to tune code for them to get high performance, but they are most definitely CPUs, and not just vector units (they do have vector units). Normal C or C++ or Objective C will compile for them. The Barcelona supercomputing facility distributes a full cross compiler suite with source code and IBM has a free simulator to watch every thing happen at the physical level. It's pretty cool stuff. I was skeptical as well, but soon expect to be the proud owner of my own PS3. I don't play video games, I just will use the thing as a PC and number cruncher!

Meanwhile, IBM is working on their Octopiler which will implement OpenMP.

The idea of targeting Swarm (or some new or old message-oriented ABM toolkit) to the Cell is a motivated by the fact that scalability of Swarm (like over MPI or using RMI) is limited by the slow links between nodes. Swarm is supposed to be fine-grained discrete event simulation. But the Cell has huge DMA bandwidth and ~5 nanosecond latency. It should be possible to message from the PPU to the SPU no problem. I've done some experiments where literally thousands of RPC messages can be queued or in flight without any real slow down. P.S. I remember you once mentioning your smart pointer system in EcoLab. Is there a paper handy? Maybe I'm an old-timer but I'm glad there are still C and C++ ABM simulators out there!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]