3

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

谷歌搜索在解释或示例方面并没有真正发现太多。

任何人都可以对这个话题有所了解吗?谢谢。

4

4 回答 4

3

FFP 机器是一种非常细粒度的并行计算机架构:每个处理器都保存一个符号/原子/值。它使用字符串缩减计算模型,其中找到最里面的函数应用程序,并用它们的等效结果(急切评估)替换。如果一个结果在多个地方使用,它往往会被重新评估,而不是产生访问某些全球商店的成本(但请参阅 Mago 的论文“复制操作数与复制结果”,或者更好的是 Mago 的“FFP 中的数据共享” Machine”在 1982 年函数式编程语言和计算机体系结构会议上)。

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

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

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

于 2018-05-21T02:19:52.187 回答
3

Kent Dybvig 的顾问 Gyula A. Mago 于 1987 年在 Mago 和 Stanat 的“FFP 机器:技术报告 87-014”中发表了详细描述。

在撰写本文时,PDF 可在以下网址免费获得: http ://www.cs.unc.edu/techreports/87-014.pdf

于 2017-03-14T15:39:55.263 回答
2

你遇到过这个吗?:编译 APL 以在 FFP 机器上并行执行

于 2010-01-27T15:19:14.933 回答
1

正式的 FP。类似于 FP,但使用常规的无糖语法,我可以为您提供机器执行。

请参阅Wikis Fp 页面

于 2010-01-27T15:15:36.220 回答