Russ: could you say more about the ABM?
Is it distributed? Cloud (AWS or GAE)? What language? GIS/Location Aware?
Browser capable? Graphically intense (i.e. openGL/GLES/webgl or vanilla 2D)?
GPU based? Scale (single system or cluster; how many agents)? .. and about
another billion possibilities!
Environment will have a lot to do with the cost strategy.
One ABM approach we use on projects here is to "sketch" in NetLogo to get the
basics down, then for a fairly useful performance gain, move on to Processing.
This gives us roughly 100,000+ agents fairly easily. Then on to specialized
systems depending on needs. We also combine systems, for example do runs in
NetLogo, possibly "headless", and then output the run to a 3D display
environment.
Doug Roberts can pipe in on really large scale, clustered systems.
We are looking into a new architecture that uses tiny servers built on Node.js
scattered world wide using backbone networking. For example, we measured
Google-Amazon-Joyent communication to be 50Mb/s (all are in a NOC: Network
Operations Center or have high bandwidth access to it.) For a bit extra, we
can get over 100Mb/s but its not a standard feature yet.
-- Owen
On Mar 8, 2011, at 9:40 AM, Rikus Combrinck wrote:
> The Linux C library (probably most *nixes) has a time() function that can
> return, amongst others, the actual time that the CPU dedicated to the calling
> process, as opposed to simple elapsed time. Unfortunately, I don't think it
> can be made to report on thread level, which is probably what you'd like.
> For what it's worth:
> http://linux.die.net/man/2/times
>
> There is an associated shell command that can report the same information:
> http://linux.die.net/man/1/time
>
> Related:
> http://linux.die.net/man/2/getrusage
>
> I'm almost certain the Win32 API does not support anything similar.
>
> Rikus
>
>
> On Mon, Mar 7, 2011 at 19:38, Russ Abbott <[email protected]> wrote:
>
> I'm considering the development of an ABM in which the agents are charged for
> the computations they do. But I can't think of a language that facilitates
> that. I know that in most languages one can look at the real-time clock, but
> I can't think of a language in which one can look at a dynamic count of
> (virtual) instructions executed -- or even an dynamic measure of the amount
> of CPU time devoted to executing the instructions of each agent. Am I missing
> something obvious? Can anyone help.
>
> Thanks.
>
> -- Russ
> ============================================================
> FRIAM Applied Complexity Group listserv
> Meets Fridays 9a-11:30 at cafe at St. John's College
> lectures, archives, unsubscribe, maps at http://www.friam.org
============================================================
FRIAM Applied Complexity Group listserv
Meets Fridays 9a-11:30 at cafe at St. John's College
lectures, archives, unsubscribe, maps at http://www.friam.org