swarm-support
[Top][All Lists]
Advanced

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

Re: [Swarm-Support] Parallel Swarm


From: Matteo Morini
Subject: Re: [Swarm-Support] Parallel Swarm
Date: Mon, 05 Apr 2004 14:23:46 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)

   Dear Dimitri,

I've been dealing with cpu-hungry models for a while, and have investigated parallel computing as the ultimate strategy in order to cut down run times. A 'standard' Swarm simulation is made by a monolitic process, running on a single CPU. If you want to run on multiple processors you'll have to put some more effort into it. Keep into account that Swarm was thought out as a parallelizable framework since the beginning (see Marcus' quotation below), but getting each "atom of computation to a physical processor" is up to you. First, let me point my experience is zero on multiprocessor machines, I had only dealt with networked pc's with a single processor. Never used shared memory. I've abandoned my early attempts at doing 'multithreaded Swarm' by fork'ing and waitpid'ing, after having worked for a while on a project on a Mosix cluster, but together with some colleagues (all of them less informatically challenged than I am, some of them really gifted ), a prototypical framework has recently been laid out, and it is capable of running different pieces of work on several nodes. Right now it is only used on an old work of ours, a production planner sporting a modified Genetic Algorithm, an inherently parallel problem, but it has a great potential to be exploited (and improved) otherwise. Maybe we can take the discussion off list if you're interested in the gory details. Just let me name a few: Java, RMI, load balancing, batch processing, tcp sockets to glue together Obj-C code.

   ---Ciao, Matteo

PS:

You may also find interesting insights in this Darold's original post to the List, and its subsequent thread:
http://www.swarm.org/pipermail/support/2003-January/012978.html
   Or a more recent one (Sunwoo's):
http://www.swarm.org/pipermail/modelling/2004-January/003496.html

   On the issue, Marcus said:
"Swarm has a fine-grained knowledge of concurrency during a simulation. When multiple agents do something at the same timestep, Swarm knows
this.   But that's just a little atom of the whole simulation execution
sequence.  What this means is that in order for Swarm to exploit this
knowledge on a parallel computer, it is necessary to be able to
efficiently get that atom of computation to a physical processor.  A
cluster, like a Beowulf arrangement of PCs, can't do this because the
communication expense of getting the atom to the processor not amortized
by the computation done.   A SMP or NUMA system can do this because the
communication/overhead expense of getting the computation to the
processor is small.  So if you have a two or four or eight way Opteron
or Sun system or a big NUMA system like a SGI Altix, the interconnect
between processors could reasonably slurp up these atoms and there would
be a scalability win.
I think it would be hard to make a message passing system scale very
well based on an architecture like Swarm.   You'd need low-latency
interconnect, maybe Myrinet.
In any case, Swarm doesn't implement either.  A multithreaded Swarm
would be feasible, but would assume a shared memory system like I mentioned."
Ipse dixit.


Dimitri Pissarenko wrote:

>  Hello!
>
>  I would like to know
>
>  a) whether it is possible to create a Swarm simulation, which will
>  run on a parallel computer and
>
>  b) whether someone has already done this.
>
>  I'm thinking about creating an agent-based simulation of the economy
>  of a country. I assume that such a simulation will require huge
>  computational power due to a large number of agents.
>
>  As far as I know, the agent-oriented simulation of the US economy
>  (ASPEN, http://www.cs.sandia.gov/tech_reports/rjpryor/) runs on a
>  parallel computer.
>
>  TIA
>
>  dap
>
>  _______________________________________________ Support mailing list
>  address@hidden http://www.swarm.org/mailman/listinfo/support




reply via email to

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