You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 1.3 kB

1234567891011121314151617181920212223242526
  1. # Coordinator
  2. Prototype for a process/library-based dora-rs implementation, instead of framework-based. The idea is that each operator is compiled as a separate executable. The `dora-coordinator` runtime is responsible for reading the dataflow descriptor file and launching the operators accordingly. The operators use a common library called `dora-api`, which implements the communication layer based on zenoh.
  3. This approach has the following advantages:
  4. - Less overhead
  5. - No data transfer between a runtime and the operator
  6. - The compiler can inline and optimize the full process
  7. - More flexibility
  8. - Operators can be sync or async
  9. - They can decide how many threads and which execution model they use
  10. - The OS ensures fair share of resources (e.g. CPU time) -> no need to cooperate with other operators
  11. - Operators get all inputs immediately -> no need for input rules
  12. - Keeping local state is easily possible
  13. - Separate address spaces
  14. - The operators are isolated from each other.
  15. There are drawbacks too, for example:
  16. - Less control
  17. - Processes run independently -> need to cooperate with the runtime, e.g. on stop signals
  18. - Operator migration is more difficult
  19. - Operators are always isolated
  20. - No way of using in-memory channels
  21. - Local sockets and shared memory should be still possible