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

Reply via email to