StaccatoLab:大规模数据流计算的编程与执行模型
1. 数据流图相关基础
1.1 CSDF节点的有限状态机(FSM)
CSDF(可变速率同步数据流)节点的FSM规则指定了从每个输入消耗的令牌数量(I列表)以及每个输出所需的空位数量(O列表)。通过Repeat和Fire构造,可以对CSDF节点的FSM进行编程。
例如,图8.10中RO子图的三个节点ro[i],使用上述FSM按照N = 64的FFT位反转方案对大小为N的传入样本块进行重新排序。每个ro[i]先将前L (Li)个值加载到队列(自循环)中,然后使用额外的模Ni计数器将后续输入与队列中的值进行适当交织。两个RO子图级联可实现恒等函数,得到的图具有(105, 1) - 套索,吞吐量为1。
1.2 数据流图变换
1.2.1 J - 展开变换
J - 展开是一种图变换,由Parhi和Messerschmitt在1991年引入。它可以将同质数据流图的令牌吞吐量提高J倍,但代价是计算资源最多增加J倍。这种变换会使节点数量和边的数量都增加J倍。
对于无环数据流图,J可以任意大;但对于有循环(包括自循环)的图,吞吐量增益受初始令牌数量的限制。
在StaccatoLab中,图展开在FSM级别实现,从而将展开推广到CSDF图。在静态数据流图中,每个节点在给定状态下只有一个可用的触发规则,只有该规则启用时才能进行下一次触发。对于任何CSDF节点,触发规则在一段前奏后会呈现周期性。J - 展开的FSM通过将J个连续的触发规则分组为新的J - 展开规则来构造。当P是原始FSM的周期长度时,J - 展开的FSM的周期变为P和J的最小公倍数。FSM展开
超级会员免费看
订阅专栏 解锁全文

1944

被折叠的 条评论
为什么被折叠?



