40个版本
新 0.3.6-rc0 | 2024年8月17日 |
---|---|
0.3.5 | 2024年7月3日 |
0.3.5-rc0 | 2024年6月26日 |
0.3.2 | 2024年1月29日 |
0.1.0 | 2022年6月24日 |
#3 in #data-flow
每月 131次下载
用于 dora-cli
59KB
1.5K SLoC
协调器
基于进程/库的dora-rs实现的原型,而不是基于框架的。想法是每个操作员作为一个独立的可执行文件编译。dora-coordinator运行时负责读取数据流描述文件并根据需要启动操作员。操作员使用一个名为dora-api的通用库,该库基于zenoh实现通信层。
这种方法有以下优点
- 更少的开销
- 运行时和操作员之间没有数据传输
- 编译器可以内联和优化整个进程
- 更大的灵活性
- 操作员可以是同步或异步的
- 它们可以决定使用多少线程和哪种执行模型
- 操作系统确保资源(例如CPU时间)公平分配 -> 不需要与其他操作员合作
- 操作员可以立即获取所有输入 -> 不需要输入规则
- 保持本地状态很容易实现
- 独立的地址空间
- 操作员彼此隔离。
也存在一些缺点,例如
- 控制更少
- 进程独立运行 -> 需要与运行时合作,例如在停止信号上
- 操作员迁移更困难
- 操作员始终隔离
- 无法使用内存中的通道
- 本地套接字和共享内存仍然可能
依赖关系
~14–45MB
~736K SLoC