numenta / nupic-legacy

Numenta Platform for Intelligent Computing is an implementation of Hierarchical Temporal Memory (HTM), a theory of intelligence based strictly on the neuroscience of the neocortex.
http://numenta.org/
GNU Affero General Public License v3.0
6.34k stars 1.56k forks source link

Running NuPIC in cluster #3019

Closed sourav82 closed 8 years ago

sourav82 commented 8 years ago

Hi,

I would like to know if we can run NuPIC in a cluster with load balancing or failover mode.

We have implemented the OPF for our use case but if the OPF python process stops due to some reason, we want another replica to take over. If we need to start OPF process again it will start learning from begining losing whatever it learnt!

Is there any way so that NuPIC does not forget whatever it learnt if the OPF client process restarts? Can we run NuPIC process in failover mode ?

Thanks & Regards, Sourav

rhyolight commented 8 years ago

Yes, NuPIC can be run in a clustered way, but there is a lot of manual work to do. We (Numenta) have run NuPIC in the past in a clustered SaaS platform. We used regular model serialization to database to keep state over time. When nodes dropped out, they were replaced and re-instantiated with the same nodes.

It was not easy to build, and it will not be easy to maintain. Also, not something that is in scope of NuPIC work sponsored by Numenta. :confused:

But! I think this is a product that could be built out. When we had this SaaS service years ago, I thought it was great. It was a REST API so you could create models, swarm, pass data, get predictions, etc. It had user accounts and collections. It was always on and redundant. Unfortunately, this code is legacy and was not open-sourced. It had some architectural problems, too. The community is working on a very small HTTP REST API for NuPIC called HTM in the Cloud (HITC), but it is in its infancy and has not clustering ability, scalability, or anything really. But it could at least provide a place to start. @jonnoFTW has been working on it.