|
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:
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.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 hadaccess to.
Concerning the Cell:
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!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.
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!
[Prev in Thread] | Current Thread | [Next in Thread] |