Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Won't Fix
-
0.5.0
-
None
-
None
Description
To improve scalability we can improve the graph runner to be disk based.
Which basically means:
- We have just a single Vertex instance that get's refilled.
- We directly write vertices to disk after partitioning
- In every superstep we iterate over the vertices on disk, fill the vertex instance and call the users compute functions
Problems:
- State other than vertex value can't be stored easy
- How do we deal with random access after messages have arrived?
So I think we should make the graph runner more hybrid, like using the queues we have implemented in the messaging. So the graphrunner can be configured to run completely on disk, in cached mode or in in-memory mode.