分布式同步程序与多核架构资源调度技术解析
同步程序的通信基础设施
在同步程序的设计中,为了实现系统的解耦和高效运行,通信基础设施起着至关重要的作用。首先,将系统划分为多个组件,然后引入合适的通信基础设施使这些组件解同步。这样,每个类可以先独立合成,最后通过遵循通用解同步协议的通道连接起来。这里不依赖特定的协议,只要求其能对数据值的有效性和缓冲区的拥塞(背压)进行建模,像延迟不敏感协议、同步弹性电路或基于缓冲区的异步通信基础设施都能满足这一要求。
以 SELF 协议为例,将其应用于分区系统以获得同步弹性系统。每个类需要额外的控制逻辑用于通信,其接口通过两个布尔输入信号扩展。 validin(π) 表示类 π 的当前输入包含有效值, stopin(π) 告知类其输出是否能被后续类处理。同时,每个类有两个输出信号, validout(π) 通知当前输出的有效性, stopout(π) 指示类是否能够处理新输入。
为了控制这些标志,每个类使用两个额外变量 valid(π) 和 fire(π) :
1. 当类获得有效输入但当前没有有效输出时,必须读取输入并触发其操作,即 fire(π) = validin(π) ∧¬valid(π) 。
2. 若类获得有效输入或已有有效输出,在这两种情况下都有有效输出,即 validout(π) = (validin(π) ∨valid(π)) 。
3. 当类有
分布式同步与多核架构资源调度解析
超级会员免费看
订阅专栏 解锁全文
1685

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



