Open pszufe opened 5 years ago
Yes I agree. But we have to keep in mind that this kind of model does not support double buffering on the agent memory and on the agent position field.
On of the most attractive feature fo the ABM.jl is the double buffering strategy.
Anyway, I am currently developing the boids.jl, the Flocker simulation in MASOM. For now it is only a sketch simulation (need to be implemented the boids logic). We can use this model to write this new one, in order to understand the ABM.jl workflow.
the important thing is to have benchmark ABM vs plain Julia to measure the performance loss.
Double buffering is needed for the distributed computing right?
the important thing is to have benchmark ABM vs plain Julia to measure the performance loss.
Double buffering is needed for the distributed computing right?
Not only, the double buffering is an enabling technology for distributed, but in this case we also would like to support the double buffering in simulation. In this way the system ensures that each agent at time i can see the status of the simulation at time i-1, that is a strict requirement for several ABM simulation (such as Game-of-Life, or Network Game).
OK. Does MASON support double buffering? because this is one thing to consider (all API now is a kind of MASON clone which is think is very good).
OK. Does MASON support double buffering? because this is one thing to consider (all API now is a kind of MASON clone which is think is very good).
No MASON does not support DB, but we think that we need several improvement compared to MASON maintaining the same API.
We need to have some performance tests to understand ho changes affect the library.
Here is a plain Julia rewrite of the classic sheep simulation from Netlogo. We need to:
BenchmarkToools.jl
of ABM.jl vs plain Julia to have a benchmark level of overhead of the ABM.jl