Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test the ABM in docker/swarm #1

Open
chintanp opened this issue Jul 21, 2020 · 2 comments
Open

Test the ABM in docker/swarm #1

chintanp opened this issue Jul 21, 2020 · 2 comments

Comments

@chintanp
Copy link
Owner

  • Use the docker version GAMA
  • Deploy one agent / family per container.
  • Provision on AWS such that each container has access to one CPU.
  • Provision the DB for a high ingestion rate if it proves to be a bottleneck.
  • Save the instantaneous state to the database, and read the state from database continuously for EVSE agents, or use docker exec to communicate with other containers.
@chintanp
Copy link
Owner Author

  • The EVs are the one that take most of the time. Several decisions to be made before a step is taken.
  • Distribute EVs across containers / GAMA processes.
  • The only points of conflict are:
    • State queue_for_charging
    • *State charging (nearest_evse.plugs_in_use)
    • *State waiting
  • At these points of conflict, refer to the collected value from the DB. Consider using a database trigger to get value from the database. And this is a point of contention. Each container has a different agent, with different roads, capacity, etc. So they are likely not going to be time-synchronized. i.e. at 10.43 AM could happen in 2secs on container one and 2 minutes in container 2.

@chintanp
Copy link
Owner Author

  • Maybe artificially synchronize the processes. Force the going to next step on a database signal, which can wait for a particular insert from all agents.
    • agents are ok to die in their lifetime. The signal will ensure to count dead+alive agent inserts count.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant