Determinstic Concurrency library

We are currently adding concurrency support to EVM. We have designed a generic wrapper called VM container, not just for EVM, but all kinds of VMs, the library is mostly dealing with these VM container to achieve VM agnosticism.

The library supports server cluster as well, so you can run parallel smart contracts on multiple servers.

Now we have a STM for managing state consistency, A versioned storage access interface, using standard stateDB interface, but re-implemented it completely, two types of concurrent containers, locking and deferred functions.

We used the library to rewrite a part of CryptoKitties and got ~9x on a 16c machine, Will rewrite the whole program in next couple months. Targeting at 100x with a few more servers.

What other functionalities do we need to add ? Any thought?


Open sourcing the code?

1 Like

Will do in the future, the biggest problem we are facing right now is the latency of the distributed locking part, currently using rlock(redis based), but it is too slow, 0.1ms was the best we could get, any recommendations ?