首页 > 解决方案 > SimGrid/C++ 上带有同步对象的令牌环

问题描述

我需要使用 SimGrid 创建一个令牌环应用程序,其中 20 条消息将通过每个节点传递,直到它们到达初始节点。我必须使用诸如互斥量/信号量之类的同步对象,但我不知道如何开始。

任务:

任务 1:创建一条消息并将其从一台机器传输到另一台机器,如箭头所示。将一台机器命名为启动机器。通过 SIMGRID 创建一个消息队列(邮箱)来执行此操作。每个收到消息的节点都必须打印它收到了消息并说明它发送消息的位置。当消息到达源节点时,它应该打印,x 字节消息已到达并终止进程。

任务2:现在每个节点都必须有一个storage,每条到达节点的消息都存储在storage中。之后,接收到消息的节点将读取内容并将其传递给将执行相同过程的下一个节点。每个在磁盘上接收到消息的节点都必须打印它接收到的消息并以字节为单位说明它的大小。

任务 3:

使用 20 条不同大小的消息重复任务 2。

标签: c++simgrid

解决方案


推荐阅读