如何对这个使用场景进行建模?

3
我想创建一个相当简单的数学模型,描述系统中的使用模式和性能权衡。该系统的行为如下:
- 客户端定期向主机网络发出多播数据包 - 任何接收到数据包的主机都会直接回复单播答案 - 发起请求的主机缓存响应一段给定时间,然后将其丢弃 - 如果缓存已满,则在下次需要请求时,从缓存而非网络中提取数据 - 数据包大小固定,始终包含相同的信息 - 主机是对称的 - 任何主机都可以发出请求并回应请求
我希望产生一些简单的数学模型(和图表),描述上述系统进行某些更改时可用的权衡:
- 当您改变主机缓存响应的时间量时会发生什么?这可以节省多少数据?您可以避免多少次对网络的调用?(显然取决于活动情况) - 假设响应也是多播的,并且任何听到另一个客户端请求的主机都可以缓存它所听到的所有响应 - 从而节省自己可能进行的网络请求 - 这将如何影响系统的整体状态? - 现在,这个问题变得更加复杂 - 每个请求-响应周期都会改变网络中的另一个主机的状态,因此活动越多,缓存变得无效的速度就越快。我如何模拟主机数量、活动速率、缓存“脏度”(假设主机收听其他主机的响应)之间的权衡,并且这如何随着缓存有效期的变化而改变?不确定从哪里开始。
我真的不知道需要什么样的数学模型,或者如何构建它。显然,只改变两个参数更容易,但特别是对于最后一个问题,我要探索的可能有四个变量正在改变。
感谢您的帮助和建议。
1个回答

1

研究令牌化Petri网。这些似乎是一个合适的工具,因为它们:

  • 提供了模型的图形表示
  • 提供了实质性的数学分析
  • 有大量的先前工作和基础分析
  • 是(相对)简单的数学模型
  • 似乎直接与您的问题相关,因为它们处理仅在指定条件下传递令牌的约束依赖网络

我通过搜索“token Petri net”找到了一些参考资料(质量未经评估)。



我理解你的评论有点相互矛盾,而不是澄清你的问题。你说:“...不知道我需要什么样的数学模型,也不知道如何构建它。”但你知道一个解决方案在线性代数或微积分中,并且2D图表是展示这个解决方案的方式。你的评论表明你有两个问题——探索多个变量和呈现这个探索。将这些问题分开可能会有所帮助。此外,在离散域中探索问题,微积分是否是最好的方法? - Chris Walton
我已经思考了一两个小时,这就是我得出的结论!如果我错了或者误解了你的回答,请原谅。它只是感觉像一个线性优化问题...例如,当你有x、y和z变量时,对于任何给定的变量排列,都会产生成本。排列x、y和z,使成本最小化。如果你改变x,成本会如何变化?如果你改变y,成本会怎样?或者如果你改变所有三个呢?那种情况...你有关于令牌化Petri网的简介吗? - flesh
抱歉 - 你的评论当然澄清了你的问题,我希望我上次的评论反映了这一点。 - Chris Walton
@flesh 注意!如果你要使用Petri网,你需要“时态Petri网”...时间域不是一个微不足道的问题。 - Dr. belisarius
线性优化可能是您建议的方法,尽管最初陈述时分析(和呈现)多个变量的线性优化开始变得非常困难。除了我提到的搜索之外,我无法提供有关令牌化(或着色)Petri网的简要介绍,因为我最后一次处理这些内容是大约十年前;自那以后,我几乎清除了所有参考资料,并且在这个领域极其生疏。 :-) - Chris Walton
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接