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?