task-parallelprogramming abstraction, which differentiate Ray from preview works including CIEL, which only support
task-parallellabstraction, and Orlean/Akka, which only support actor abstraction.
side-effect free, which implies idempotence and simplifies fault tolerance through function re-execution on failure.
remote function invocations. And, there are two types of edges:
stateful edge. They capture the implicit data dependency between successive method invocations sharing the internal state of an actor. Stateful edges also enable us to maintain lineage. We can easily reconstruct lost data.