| Multi-threading | Michael Stay (Unlicensed), Timm Schäuble Henry Till Kyle Butt | - Rosette VM is not multi-threaded. Threads that are running need to keep track of a shared parent context and then write the result into the shared memory. The decision to move forward with the mutable style will make this straightforward.
- Optimizing Rholang to support this would be a deliverable in Venus.
- When compiling from Rosette to Rholang they need to work through the tuplespace independently.
- At the moment RSpace logs the entire tuplespace.
- This could create a performance issue
- Is it possible to log individual rows of the tuplespace and not the whole thing?
- What's the story of the threading on the Rholang interpreter, and how does this fit in?
- To support multi-threading there will need to be architectural changes to RSpace. This would not touch history and rollback. It would impact checkpointing.
- Next steps
- Will need to do performance testing to prove we can achieve required scale with a single writer. (task - test performance of a single writer)
- Hinges on completion of produce and consume in RSpace and completion of metrics in Node
- Kelly Foster schedule this testing as part of Node v0.5 release plan
|