Synthetixio / simulation

Agent-based model of the proposed stablecoin.
24 stars 18 forks source link

Multiple user web app #53

Closed 0xdomrom closed 6 years ago

0xdomrom commented 6 years ago

Currently the web app creates a new model on the server for every socket that is connected, which will become very cpu intensive if that is how we wish to deploy in the future. A way of dealing with hundreds of users needs to be thought of.

Currently I've limited the fps to 6, and the max number of agents to 250, and still, with 3 users running at those maxes, the cpu reaches 100% quickly (AWS medium instance). Memory doesn't seem to be an issue at this stage.

This should be solved before the whitepaper is released.

kaiynne commented 6 years ago

Jack up the resources ;)

Kain Warwick CEO & Co-Founder 0404446925

On 25 Oct 2017, at 7:10 pm, DominicRomanowski notifications@github.com wrote:

Currently the web app creates a new model on the server for every socket that is connected, which will become very cpu intensive if that is how we wish to deploy in the future. A way of dealing with hundreds of users needs to be thought of.

Currently I've limited the fps to 6, and the max number of agents to 250, and still, with 3 users running at those maxes, the cpu reaches 100% quickly (AWS medium instance). Memory doesn't seem to be an issue at this stage.

This should be solved before the whitepaper is released.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

zyzek commented 6 years ago

What's the status of this, vis-a-vis PR #82?

0xdomrom commented 6 years ago

@zyzek I've made the data transfer from the server to the client a lot more consistent (no skipped steps). Adding a buffer for calculating steps in advance seems to have slowed the model itself for some reason, even though CPU usage is consistently high (not sleeps/lock issues).

It should be noted that the model itself is CPU intensive, and there are limitations in how much can be shown over the web. When this is released as open source #54 needs to be present, to allow users to abuse their own systems if they choose to run it locally.

PR #93 addressed a bottleneck that was taking up a lot of extra processing power for no real benefit to the model. #88 and #90 added a limit to the number of steps for the client (1500 atm), and fixed some delay issues on the client side.

If zoe/sergey are coming up with some design for the research page, that would make only some of the graphs shown at the same time, some more work could be done in terms of server/client communication.

zyzek commented 6 years ago

Closed by #102