19、StaccatoLab:大规模数据流计算的编程与执行模型

StaccatoLab:数据流计算的创新模型

StaccatoLab:大规模数据流计算的编程与执行模型

1. 数据流图的循环与并发分析

在某些数据流图中,存在不同的循环情况。例如,有像 ACBA 这样的循环,其 μ(c) = 1 ,还有 ABCA 循环,若没有初始令牌则 μ(c) = ∞ 。当初始状态下所有节点都无法触发时,图会出现死锁。而在另一个图中,所有五个循环的 μ(c) = 1/2 ,所以 μ(G) = 1/2 。从初始状态开始,图会周期性运行,周期为 1/2 ,每个节点的触发率为 2 。有趣的是,周期是单个节点执行时间的一半,这体现了数据流形式允许节点在处理前一个任务时就开始下一次触发,即自动并发。可以通过为每个节点引入带有一个初始令牌的自循环来抑制自动并发,这样最右边的三轮图 μ(G) = 1 。添加反向边和初始化自循环属于数据流图增强的形式。上述理论可以扩展到包括静态数据流图,如循环静态图,部分扩展依赖于将图转换为 SDF 图或进一步转换为同质数据流图。

2. StaccatoLab 执行模型

基于上述标准数据流理论,StaccatoLab 执行模型有以下五个方面的选择:
- 自定时执行 :数据流图的执行是自定时的,确保程序员指定的所有并行性都能得到保持。这意味着不同程序节点之间没有资源共享,每个节点都有自己的资源来执行触发规则和计算输出令牌的值。
- 时钟周期执行时间 :节点执行时间以时钟周期为单位,取值为整数。例如,tn = 1 的节点执行一次触发规则需要一个时钟周期。通过添加带有一个令牌的自循环可以避免自动并发。当所有节点的 tn = 1 时,这种增强方式能使所有触发的开始和结束时间与全局时钟对齐,该全局时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值