首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是FFP机器?

什么是FFP机器?
EN

Stack Overflow用户
提问于 2010-01-27 22:56:34
回答 4查看 877关注 0票数 3

在R. Kent Dybvig的论文“方案的三个实现模型”中,他谈到了"FFP语言“和"FFP机器”。显然,在FFP机器和多处理器上的字符串缩减之间存在一定的相关性。

谷歌搜索并没有真正发现太多的解释或例子。

有没有人能解释一下这个话题?谢谢。

EN

Stack Overflow用户

发布于 2018-05-21 10:19:52

FFP机器是一种非常细粒度的并行计算机体系结构:每个处理器都有一个单独的符号/原子/值。它使用字符串简化计算模型,在该模型中,找到最内部的函数应用程序,并将其替换为等效的结果(渴望求值)。当一个结果在多个地方使用时,它往往会被重新评估,而不是产生访问某些全局存储的成本(但请参阅Mago的关于“复制操作数与复制结果”的论文,或者更好的是Mago在1982年的函数式编程语言和计算机体系结构会议上的"Data Sharing in an FFP Machine“)。

保持FFP表达被减少的L细胞通过T细胞的树状结构排列进行通信。请注意,集成电路基本上是二维的,通过布线,电路可以在物理空间中走向三维。占据更高维度的互连网络(如Hypercube、Omega、Banyan、Star等网络)最终将无法达到其理论极限。

这种通信网络是电路交换的,而不是分组交换的。数据包不包含地址,不需要路由。来自不同缩减的数据包不能相遇,不能冲突,也不能相互拥塞。配置活动(称为“分区”)在树中向上扫描一次,使用对3位消息的少量逻辑操作,留下“区域机器”,每个机器都被创建为最多推进一个可缩减的应用程序。虽然在技术上它在时间上是对数的,但结果区域机器可以在分区波之后开始以流水线方式进行通信,实际上花费了恒定的时间惩罚。(区域机器的拆除在时间上仍然是一个对数成本)。

单个缩减内的分组应该且必须满足并因此提供通常有用的同步。当分组序列在区域内上升时,对其进行排序和组合,以便从区域机器的根进行广播。提供并行前缀和并行后缀操作来减少区域通信量,因为在单个可减少的应用中仍然存在潜在的瓶颈。这是在不需要在超级计算机上展示的情况下完成的(杰克(雅各布?)纽约大学的Schwartz )在每个通信节点中使用单独的对数大小的高速缓冲存储器。每个T单元(内部树节点)只需要一个FIFO缓冲区(为了提高效率),其大小大于到树顶部和向下的流水线路径。(后者是我的猜测,但似乎是合理的)。由于树保持从左到右的数据顺序(与其他组合网络不同),该系统使单元能够以对数而不是线性的时间旋转其数据,从而避免了区域机器根部可能出现的拥塞。再次值得注意的是,区域机器中的并行度独立于其他区域机器中的同时并行度,并且具有与操作数中的数据量成比例的处理器数量。

票数 3
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2147821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档