gpt4 book ai didi

parallel-processing - 在流程图中表示并行操作

转载 作者:行者123 更新时间:2023-12-04 08:09:46 24 4
gpt4 key购买 nike

我需要做一个带有温度调节模块的液压系统的流程图。然而,温度调节仅在循环的一部分期间被激活。在这部分期间,系统继续执行其他操作。

我想在我的流程图中表示这一点。我需要一种方法来判断并行算法何时开始以及何时在主流程图中结束。我怎么做 ?

最佳答案

添加两个新的流程图节点/操作符 fork 和 join。

Fork 接受一个控制流进来,并产生两个出去,类似于常规流程图中的菱形决策节点。与决策节点不同, fork 节点将控制权传递给它的两个子节点,这意味着“并行执行从这里开始”。

Join 接收两个控制流,并产生一个控制流输出。它的意思是,
“等待两个输入分支上的执行完成,然后将控制权传递给输出分支”。这意味着“并行执行在这里停止”。

现在您的流程图可以有串行和并行部分;您甚至可以让并行部分生成额外的嵌套并行性。

现在您需要一个 fork 和 join 的图形表示。

我们用本质上的流程图​​(“ Action ”和“决策”)来表示真实计算机程序的控制流程图。由于“fork”与“decision”(一个输入,两个输出)的相似性,我们选择将“fork”绘制为一个向上的三角形(一个输入在顶部,两个输出在三角形的底端点),并且“join "作为一个向下的三角形,在三角形的底端点有两个输入,在向下三角形的顶点有一个输出。

可以看automatically generated examples of this for C and COBOL programs .您可能不认为这些包含并行性......但事实上,许多语言的语言语义通常是未指定的,允许并行执行(例如,根据标准的 C 函数参数可以以任意顺序评估)。我们将这种不确定性建模为“并行性”,因为净效应是相同的。

构建工业控制软件的人也需要表达这一点。他们
只需将控制流线从一个流程图项目拆分到另一个。请参阅本 document 中的顺序功能图.

我知道的最通用的“控制流”符号是 Colored Petri Nets .这些不仅可以对控制流进行建模,还可以对数据流、同步和算术进行建模,这意味着您可以对具有非常复杂流的系统进行建模。您可以直接使用 CPN 为常规流程图建模。 CPNs 也泛化了有限状态机。这对程序员来说意味着,如果您不了解 CPN,您现在应该了解这些。您会发现“流程图”(作为 CPN)现在在讨论其部分异步运行的系统时再次有用。

关于parallel-processing - 在流程图中表示并行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29719295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com